2010-12-09 5 views
1

J'ai donc des problèmes pour me connecter à mon serveur hébergé sur mon réseau mais sur un autre ordinateur que le programme que j'essaie de lancer. J'ai vérifié et les deux ordinateurs sont sur le même domaine. Je code en python et en utilisant PYODBC pour établir la connexion. La ligne de connexion est la suivante:Cant Se connecter au serveur MS SQL distant en utilisant PYODBC sur Windows 7 en Python

connectLine = 'DRIVER={SQL Native Client};SERVER='+configValues['host']+';DATABASE='+configValues['db']+';UID='+configValues['user']+';PWD='+configValues['passwd'] 
db = pyodbc.connect(connectLine) 

Maintenant que fonctionne lorsque le serveur est sur le même ordinateur que le programme, mais lorsque je tente de se connecter au serveur sur mon serveur réel cela ne fonctionne pas. Je cours MicrosoftSQL Express 2005 sur Windows SBS 2003 et l'ordinateur exécutant le programme exécute Windows 7 avec le programme codé dans Python 2.7

C'est la sortie du programme, je l'ai imprimant la ligne de connexion.

DRIVER={SQL Native Client};SERVER=192.168.1.103\OSBORNE;DATABASE=vpmser;UID=massEmailer;PWD=cogbutfeswas5836; 
Traceback (most recent call last): 
File "E:\Mass Emailer\massEmailer.py", line 56, in <module> 
db = pyodbc.connect(connectLine) 
Error: ('08001', '[08001] [Microsoft][SQL Native Client]SQL Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]. (-1) (SQLDriverConnectW); [HYT00] [Microsoft][SQL Native Client]Login timeout expired (0); [08001] [Microsoft][SQL Native Client]An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (-1)') 
+0

Vous avez 4 variables de contenu inconnues dans votre chaîne de connexion et vous ne dites pas quel message d'erreur vous obtenez et vous ne fournissez pas de traceback - il est peu probable que cela suscite une réponse significative. –

+0

Oui désolé, j'ai oublié de mettre l'erreur, mais cela semblait être une erreur générique. Ajouté à l'OP – opm881

Répondre

0

Quelques possibilités:

(1) A propos de cette partie de votre chaîne de connexion: SERVER=192.168.1.103\OSBORNE; ... partie du message d'erreur définitivement-non-générique dit "" "Error Locating Server/Instance Specified """

Une note de connectionstrings.com:

« » "vous utilisez SQL server 2005 express ne manquez pas la syntaxe du nom du serveur Servername \ SQLEXPRESS où vous remplacez ServerName par le nom de l'ordinateur sur lequel SQL server 2005 E L'installation de xpress réside. "" "

Si OSBORNE n'est pas le nom du serveur distant, qu'est-ce que c'est? Pourquoi incluez-vous une adresse IP?

Peut-être que vous devriez avoir OSBORNE\SQLEXPRESS au lieu de 192.168.1.103\OSBORNE

(2) vers le bas la fin du message d'erreur, il est dit « » "Lors de la connexion à SQL Server 2005, cet échec peut être causé par le fait que, sous la paramètres par défaut SQL Server n'autorise pas les connexions à distance. "" "... Avez-vous vérifié que (a) SQL Server Express prend en charge les connexions à distance (b) il est configuré pour autoriser les connexions à distance? (3) Pouvez-vous accéder à la base de données à distance en utilisant (a) une connexion à distance au serveur avec l'ID utilisateur et le mot de passe que vous utilisez (b) un outil de requête que vous utilisez sur le poste client pointer vers la base de données & de la machine distante? Si oui, comment les paramètres de connexion diffèrent-ils de ce que vous avez dans votre chaîne de connexion?

Questions connexes