Problèmes de connexion à SQL Server 2008
Je travaille sur une application écrite en VB6 et je vais avoir du mal à se connecter à un Serveur SQL server 2008 de la base de données qui a été mis en place sur un serveur dans notre bureau.
Voici les symptômes:
- Quand j'essaie de me connecter à l'aide d'une chaîne de connexion via ADO en VB6, VB6 se bloque et puis, finalement, me donne l'erreur: "erreur d'Exécution '-2147467259 (80004005)': [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server n'existe pas ou accès refusé".
- si je fais un vide .fichier udl et double-cliquez dessus, dans l'onglet Connexion de la boîte de dialogue Propriétés de Liaison de Données, dans le menu déroulant où il est dit "Sélectionnez ou entrez un nom de serveur", si je clique sur la liste déroulante pour afficher la liste ou cliquez sur le bouton "Actualiser", il se bloque.
- Quand j'essaie de me connecter via SQL Server 2005 Management Studio (SQL Server 2005 est installé sur l'ordinateur client sur lequel je suis en train de travailler sur le programme VB6), quand j'essaie de me connecter via:
- TCP/IP: je reçois le message "Cette version de Microsoft SQL Server Management Studio ne peut être utilisé pour se connecter à SQL Server 2000 et SQL Server 2005 serveurs. (ConnectionDlg)"
- Mémoire partagée: j'obtiens le message "Une liée au réseau ou spécifique à l'instance erreur s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur n'a pas été trouvé ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (fournisseur de: Interfaces Réseau SQL, erreur: 41 - Impossible d'ouvrir une connexion de Mémoire Partagée à un serveur SQL server distant) (Microsoft SQL Server, message d'Erreur: 87)"
- Canaux nommés: "Une liée au réseau ou spécifique à l'instance erreur s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur n'a pas été trouvé ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (fournisseur: Fournisseur de canaux Nommés, erreur: 40 - impossible d'ouvrir une connexion à SQL Server) (Microsoft SQL Server, message d'Erreur: 1326)"
Ici sont quelques-unes des solutions proposées, j'ai vu en ligne que j'ai mis en oeuvre (et bien sûr n'ont pas encore résolu le problème):
- Les connexions à distance a été activé dans SQL Server 2008
- telnet port 1433 me donne un écran vide (c'est à dire, il se connecte, il ne me donne pas une erreur)
- netstat-a sur le serveur montre que le port TCP 1433 est ouvert
- D'Authentification mixte est déjà configuré sur SQL Server 2008 de sorte qu'il peut accepter l'authentification Windows ou SQL Serveur d'authentification
Je suis vraiment à la fin de ma corde et n'avez aucune idée où aller avec cela, puisque je ne sais pas où (ou même si) il y a des journaux détaillés que je peux parcourir que va me dire lorsqu'une tentative de connexion commence et ce qui se passe à chaque étape du chemin. J'espère qu'il y a une solution simple pour ce que je ne suis pas suffisamment compétent pour connaître de l'.
Mise à jour: Voici les réponses aux questions posées à ce jour:
- OS: Vista 64-bit, sur à la fois le client et le serveur
- Explorateur SQL Server est en cours d'exécution sur le serveur, en fonction de Gestionnaire de Configuration SQL Server
- Chaîne de connexion de la ligne en question dans le programme visual basic est donc:
fooSQL.Ouvrir "SERVER=SERVERNAME;DRIVER=SQL Server, BASE de données=DATABASENAME", nom d'utilisateur, mot de passe
(où fooSQL est un ADODB.La connexion) - se produit toujours lorsque le Pare-feu est désactivé sur le client ou le serveur (ou les deux)
re: MDAC
comme par Cet article de wikipédia j'ai vérifié HKEY_LOCAL_MACHINE\Software\Microsoft\DataAccess\FullInstallVer et la valeur est "6.0.6001.18000". J'ai aussi couru le Vérificateur de Composants et au démarrage lorsque je clique sur "Effectuer une analyse de votre machine et déterminer automatiquement la version", j'obtiens le message suivant après je clique sur "OK":
", Les produits suivants sont communiqués ont été appariés:
INCONNU"
Mise à jour: SQL Services
re: alligator commentaire, voici les Services SQL en cours d'exécution sur le serveur dans Gestion de l'Ordinateur > Services
- SQL Active Directory Service d'assistance
- Texte Intégral SQL Lanceur de Démon de Filtre (MSSQLSERVER)
- SQL Server (MSSQLSERVER)
- De l'Agent SQL Server (MSSQLSERVER)
- SQL Server Analysis Services (MSSQLSERVER)
- SQL Server Browser
- SQL Server Integration Services 10.0
- SQL Server Reporting Services (MSSQLSERVER)
- SQL Server VSS Writer
Avez-vous de l'explorateur SQL server qui s'exécute sur votre serveur?
quel os est le client de la machine vous vous connectez à partir?
Quelle est la version de MDAC avez-vous sur le client?
La chaîne de connexion que vous avez posté est LITTÉRALEMENT votre chaîne de connexion? Est votre serveur appelé "SERVERNAME" et la base de données "DATABASENAME"?
OriginalL'auteur | 2009-05-06
Vous devez vous connecter pour publier un commentaire.
Veuillez vérifier ce qui suit:
Espère que cette aide.
OriginalL'auteur Jeroen Landheer
essayer d'installer sql server 2008 management studio et la connexion avec celle de l'vb6 machine sur TCPIP. Je voudrais aussi essayer d'installer la dernière version (2008) les pilotes ODBC.
OriginalL'auteur Zack
Était SQL Server 2008 est installé en tant que par défaut de l'instance ou d'une instance nommée? Si c'est une instance nommée, vous devez ajustez votre chaîne de connexion un peu parler d'elle.
Lorsque vous RDP de la boîte, pouvez vous authentifier en utilisant les outils client de l'instance locale de SQL Server?
"Cette version de Microsoft SQL Server Management Studio ne peut être utilisé pour se connecter à SQL Server 2000 et SQL Server 2005 serveurs. (ConnectionDlg)" Sont les SQL 2005 client les outils que vous utilisez le Service Pack 3? Lorsque vous RDP de la boîte, vous pouvez utiliser les outils locaux de se connecter? si oui, font-ils un "\\servername\SQLServerName" type de connexion ou tout simplement 'localhost' type de connexion? Aussi, lorsque vous affichez les services en cours d'exécution sur l'ordinateur en "Gestion de l'Ordinateur", fait-elle de la liste de SQL Server en tant que "SQL Server(MSSQLSERVER)" ou faut-il avoir d'autres choses associées avec elle?
Oui, le Service Pack 3 a été installé. Je ne sais toujours pas comment faire pour voir si ils font un "\\servername\SQLServerName " ou "localhost". Dans l'écran de connexion qui s'affiche lorsque vous exécutez SQL Server Management Studio, dans le "Serveur" zone de texte de type I dans "SERVERFOO-PC" (le nom du serveur), si c'est ce que tu veux dire. - J'ai également mis à jour la question proprement dite avec une liste de SQL services en cours d'exécution dans Gestion de l'Ordinateur > Services depuis je n'ai pas assez d'espace pour le faire dans ce commentaire (mais la réponse courte est "il est plus que juste SQL Server (MSSQLSERVER)")
OriginalL'auteur Gator
Jordanie (ou d'autres qui lisez ceci dans l'avenir), au moins une solution à un problème comme celui-ci consiste à spécifier à la fois le serveur ET le nom de l'instance (même si divers outils, comme l'Aide à la Migration, ou les chaînes de connexion, comme indiqué ci-dessus) invite pour servername seul.
Ainsi, par exemple, dans votre cas, il semblerait qu'il doit avoir été serverfoo-pc\mssqlserver. Ou une course Express utilisez servername\sqlexpress, ou si l'on avait changé le nom de l'instance à autre chose, l'utiliser. Et si le client est sur la même case que SQL Server, vous pouvez utiliser .\ au lieu de servername\,. \sqlexpress.
Je pense que c'est ce que Gator a été, mais dans votre dos et de sortir de cette clarification n'a pas été faite. Espérons que cela aide.
OriginalL'auteur charlie arehart