2009-10-27 5 views
2

J'essaie d'écrire une application simple qui s'exécute sur un périphérique Windows Mobile 6 et peut se connecter à un serveur SQL 2005 et lire et écrire dans la base de données. C'est correct si seulement il se connecte au serveur SQL pendant qu'il est ancré.Connexion à SQL 2005 à partir d'un périphérique Windows Mobile

Je n'ai jamais travaillé avec des appareils mobiles, donc j'y pense peut-être incorrectement. J'ai créé un DataSet et un TableAdapter comme je le ferais avec une application de bureau classique, mais lorsque j'exécute l'application dans l'émulateur, j'obtiens une exception SqlException lorsque j'essaie d'ouvrir la connexion sur le TableAdapter.

Y at-il quelque chose d'évident qui me manque? Dois-je explicitement dire à l'émulateur d'agir comme s'il était ancré? A-t-il besoin d'être configuré pour voir qu'il est dans le réseau? Je peux cingler le serveur SQL en question depuis l'application donc il devrait y avoir une connectivité

+1

Que voulez-vous dire par "ping the Sql Server"? Votre test de connexion le plus basique devrait être la possibilité de naviguer vers n'importe quel site web à partir de votre émulateur. Commencez là. P.S. Les connexions réseau émulateur pour Windows Mobile ont tendance à être squirrelly. J'ai eu beaucoup mieux de débogage de débogage des périphériques réels ancrés via USB. –

Répondre

2

est ici un bon lien pour configurer votre émulateur pour se connecter à un réseau:

http://www.xdevsoftware.com/blog/post/Enable-Network-Connection-Windows-Mobile-6-Emulator.aspx

psasik est d'être poli quand il décrit les connexions réseau de l'émulateur comme "squirrelly". Je n'ai jamais réussi à les faire fonctionner, mais c'est parce que j'ai toujours un périphérique physique à portée de main, sur lequel je reviens toujours au premier indice des problèmes d'émulation.

+0

Absolument! L'émulateur est bon pour le prototypage initial des mises en page de l'interface utilisateur et pas beaucoup plus. Tout ce qui a trait à la connectivité ou au temps est complètement arrosé. – ctacke

+0

@ctacke: la seule utilisation pratique que j'ai trouvée pour l'émulateur est de répondre aux questions des FC quand je ne trouve pas le câble de connexion pour mon smartphone et que je génère des captures d'écran. – MusiGenesis

+0

"Obtenir un périphérique physique" était la bonne réponse – rotard

2

Merci pour le lien! C'était utile, et je peux confirmer que je peux me connecter au réseau. Malheureusement, il ne se connecte toujours pas au serveur SQL. J'ai distillé le code jusqu'à:

`

 string connStr; 
     System.Data.SqlClient.SqlConnection myConn; 

     try 
     { 
      connStr = @"Server='<server name/IP>';Database=<database name>; User Id=sa; Password=<password>"; 
      myConn = new System.Data.SqlClient.SqlConnection(connStr); 
      myConn.Open(); 
     } 
     catch (System.Data.SqlClient.SqlException se) 
     { 
      MessageBox.Show(se.ToString()); 
     } 

`

Ce code émet une exception SQL au myConn.Open() avec ErrorClass 20, numéro 17. Le message est « SQL Server n'existe pas ou accès refusé. " Le même code exact (copier/coller) fonctionne parfaitement dans une application winforms. Est-ce que je fais tout correctement? Est-il probable que le code est correct mais que l'émulateur cause mes problèmes? Serait-il utile de demander au patron un appareil mobile pour l'essayer?

Questions connexes