2009-02-11 4 views
1

J'ai une application Windows 6 que je développe (en VB). Je tire des données d'une base de données MSSQL 2005. Tout fonctionnait correctement en l'exécutant localement (avec un émulateur) mais lorsque j'ai déplacé la base de données dans une boîte de test, j'ai l'erreur suivante:La connexion SQL ne fonctionne pas après le passage de l'application Windows 6 du local au serveur

System.Data.SqlClient.SqlException {"Serveur SQL spécifié introuvable: xx.xx .xx.xxx \ sql2005" }

ma chaîne de connexion est:

Data Source=XX.XX.XX.XXX\sql2005;Initial Catalog=databaseName;UID=databaseUser;PWD=password 

la seule différence dans la chaîne de connexion quand je marche, il est je localement utilisé mon nom d'ordinateur (que j'ai également essayé d'utiliser le nom de l'ordinateur sqlserver).

Merci

+0

J'ai une application web en utilisant la même base de données que j'ai essayé la chaîne de connexion et cela fonctionne très bien. – monkeypushbutton

+0

En note, Windows 6! = IIS6. – Powerlord

Répondre

2

Essayez de changer la chaîne de connexion à:

Data Source=XX.XX.XX.XXX;Initial Catalog=databaseName;UID=databaseUser;PWD=password 

Très probablement le nom de l'instance (de sql2005) est incorrect.

+0

C'était proche. Voir mon commentaire complet ci-dessous. – monkeypushbutton

2

assurez-vous que le navigateur SQL est en cours d'exécution

assurer que les connexions à distance et TCP/IP est activé sur la zone SQL

+0

et assurez-vous que l'instance est nommée sql2005 –

+0

Oui, j'ai vérifié la boîte SQL et l'instance s'appelle sql2005. – monkeypushbutton

0

est l'application en cours d'exécution sur le même serveur que la DB? Avez-vous essayé d'utiliser "localhost"?

0

Assurez-vous que les connexions à distance sont activées sur SQL Box comme suggéré par SqlMenace.

Si SQL Server est configuré pour autoriser les connexions à distance & TCP/IP est activé, essayez d'exécuter l'application sur le serveur de base de données pour voir si cela fonctionne correctement. Si cela ne fonctionne pas, cela indique qu'il y a un problème avec la chaîne de connexion. Si l'exécution locale de l'application sur le serveur de base de données fonctionne et que les connexions à distance \ TCP/IP sont activées, essayez ce article concernant le pare-feu Windows et SQL Server.

1

L'idée de Gordon était proche. Le nom de l'instance (sql2005) était correct, car je pouvais y accéder avec la même chaîne de connexion d'une application Web, mais pour une raison quelconque, cela ne fonctionnerait pas avec l'application mobile. Lorsque j'ai déplacé la base de données de cette instance sur cette seule case (donc xx.xx.xx.xxx avec no/sql2005) cela a fonctionné.

Questions connexes