2010-06-20 6 views
0

Je suis désolé de vous déranger avec ma question probablement de bas niveau.application mobile ne peut pas voir serveur SQL distant?

Je voudrais développer un très très très simple application qui va connecter le serveur MS SQL dans mon bloc-notes et sera exécuté à portée de main terminal avec Windows Mobile 6.

Voici le code que j'ai utilisé:

Dim strSQL As [String] = "SELECT COUNT(studentid) AS totalp from Students where gender='m' " 
' Dim Conn As New SqlConnection("Data Source=10.0.0.4\MUSTAFASQL2;Initial Catalog=MYDBX;User ID=TEACHERA") <<< i used this too, 
' Dim Conn As New SqlConnection("Data Source=10.0.0.4:1433\MUSTAFASQL2;Initial Catalog=MYDBX;User ID=TEACHERA;") <<< and also tried this 

Dim conn As New SqlConnection("Data Source=MUSTAFA\MUSTAFASQL2;Initial Catalog=MYDBX;User ID=TEACHERA;") 

Conn.Open() *<<<<<<<<< crashes here with this error : "Specified SQL server not found : MUSTAFA\MUSTAFASQL2"* 

Dim cmd As New SqlCommand(strSQL, Conn) 

Dim musreader As SqlDataReader = cmd.ExecuteReader 

While musreader.Read 

    total.Text = musreader.Item("totalp").ToString 

End While 

Conn.Close() 

sur le bouton clic.

Quelques détails: périphérique: Local Windows Mobile 6.1
classique : SqlExpress et je peux atteindre de nombreux ordinateurs, je veux dire qu'il n'y a pas de problème d'accès à distance à mon SQL Server.

S'il vous plaît aidez-moi, toutes les aides sont appréciées. Merci beaucoup. S'il vous plaît laissez-moi savoir si vous avez besoin de connaître plus de détails pour l'aide ...

+0

Pouvez-vous exécuter une commande ping sur le périphérique WinMo sur le réseau? Pouvez-vous atteindre le serveur à partir du navigateur de l'appareil WinMo? Il semble qu'il ne soit pas capable de router (c'est-à-dire qu'il ne soit pas sur le réseau) ou qu'il s'agisse d'un problème d'identification. – ctacke

+0

De l'appareil mobile, je peux cingler 10.0.0.4 avec succès, mais il échoue une fois que j'ajoute un numéro de port à la fin du numéro IP (ie: 10.0.0.4,1433 ou 10.0.0.4:1433) Je peux ping appareil mobile de son IP local (10.0.0.6) Tous les pare-feu ou programmes de sécurité similaires ont été désactivés pour les tests. –

+0

ici est le code d'erreur i reçu sur (conn.open) à System.Data.SqlClient.SqlConnection.OnError() à System.Data.SqlClient.SqlInternalConnection.OnError() à System.Data.SqlClient.TdsParser. ThrowExceptionAndWarning() à System.Data.SqlClient.TdsParser.Connect() à System.Data.SqlClient.SqlInternalConnection.OpenAndLogin() à System.Data.SqlClient.SqlInternalConnection..ctor() à System.Data.SqlClient .SqlConnection.Open() à MobilgSTS1.Form1.Form1_Load() à System.Windows.Forms.Form.OnLoad() à System.Windows.Forms.Form._SetVisibleNotify() à System.Windows.Forms.Control .set_Visible() .... –

Répondre

0

Il semble problème pas dans votre code mais en connexion avec le serveur 10.0.0.4.

+0

Merci pour la réponse STO, mais je peux atteindre SQL Server avec cette chaîne de connexion à partir de différents ordinateurs. Mais cela ne fonctionne pas dans l'application mobile (à partir d'un appareil mobile (émulateur)) –

0

Si les autres ordinateurs sont sur le même réseau, ils pourront voir votre instance SQL Server. Toutefois, si l'appareil mobile n'est pas (ce que je n'aurais pas pensé qu'il serait), alors il ne le sera pas.

L'adresse IP 10.0.0.4 (que je vois que vous avez essayé d'utiliser dans les instructions Connect commentées) est une adresse interne qui ne sera pas visible sur Internet.

Vous devez placer votre base de données sur un serveur externe avec une adresse IP publique et vous y connecter.

+0

Mais cette application fonctionnera dans un réseau local (plusieurs ordinateurs et un terminal mobile (Mobile Classic 6.1) .C'est pourquoi j'essaie de développer pour le réseau interne (LAN) –

+0

Si le périphérique mobile se trouve sur le même réseau, ignorez-le. – ChrisF

Questions connexes