2011-01-27 3 views
4

Je devine que vous obtenez des centaines de ces questions, mais voilà:chaîne de connexion SQL Server

Je suis en train d'obtenir un appareil mobile Honeywell Dolphin 6100 (CE5.0, .NET Compact Framework) à Parlez à une base de données SQL Server Express 2008 installée sur la machine sur laquelle je suis en train de développer.

Je suis un débutant complet à SQL Server et le développement mobile, et je suis encore un peu vert en C# (oui je sais, a sauté dans le grand bain ici, hein: D)

Jusqu'à présent, j'ai:

string sConnection = @"Data Source=JEZ-LAPTOP;DataBase=EMS_Main;Integrated Security=SSPI;"; 
SqlConnection sqc = new SqlConnection(sConnection); 
sqc.Open(); 

l'application se déploie tout à fait heureusement au 6100, mais les derniers bugs en ligne avec une erreur vague « Exception SQL ».

J'ai essayé de changer la source de données pour inclure des noms d'instance, des barres obliques et des points avant cela etc etc (même si le serveur n'utilise que l'instance par défaut), en vain.

Je peux me connecter à la base de données dans Management Studio sans problème.

Donc, la chaîne de connexion est-elle en cause, ou est-ce quelque chose que je n'ai pas fait correctement dans SQL Server?

Merci d'avance.

Ce site est génial btw, certains gars très bien informés ici.

+1

Etes-vous sûr que l'instance du serveur SQL a le nom par défaut? – ykatchou

+0

également, êtes-vous sûr que vous pouvez utiliser une connexion de confiance à cette base de données distante? Peut-être devoir définir l'utilisateur/mot de passe – BrokenGlass

+0

comment serais-je capable de vérifier ces choses? J'ai essayé de définir un nom d'utilisateur et mot de passe et de les spécifier dans la chaîne de connexion, pas de chance –

Répondre

3

CE 5.0 ne prend pas en charge la sécurité intégrée. Je crois que la première version à l'appui était mobile 6.1. Dans tous les cas, vous ne pouvez pas utiliser SSPI avec votre configuration. Vous devrez créer un utilisateur SQL Server et l'utiliser comme informations d'identification de connexion.

Une autre chose à essayer, en plus d'utiliser un UID/PWD pour se connecter est de se référer au serveur par IP. Il est possible que la résolution DNS ne se déroule pas correctement sur votre appareil. Hmm, c'est tout un problème. Votre appareil est-il sur le même réseau que le serveur SQL?

Et pour référence, engager cette URL pratique à la mémoire: http://connectionstrings.com

EDIT

Voyons voir quelque chose comme ... si elle était nommée instance SQL Server:

@"Data Source=192.168.0.56\SERVER_NAME;DataBase=EMS_Main;User Id=joe;Password=pwd;"; 

sinon instance SQL Server nommée:

@"Data Source=192.168.0.56;DataBase=EMS_Main;User Id=joe;Password=pwd;"; 
+0

Au mo il est bercé et connecté par USB, mais aussi la machine dev et l'appareil sont également tous deux connectés au même routeur sans fil. Je viens d'essayer d'utiliser un UID & PW, toujours la même erreur sqlexception. –

+0

Quel est le message d'erreur? Et assurez-vous que vous pouvez faire un ping sur le serveur à partir de votre appareil. Le pont USB peut être bizarre. Avez-vous essayé l'adresse IP dans votre chaîne de connexion? –

+0

gah juste essayé de ping de l'appareil, pas de chance. suppose que c'est un problème de réseau plutôt que ma programmation douteuse alors! –