Error 26 - Sql server - instance

Messages postés
52
Date d'inscription
samedi 25 novembre 2006
Statut
Membre
Dernière intervention
17 décembre 2009
- - Dernière réponse : Mayzz
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
- 25 sept. 2009 à 00:32
Alors voilà je voulais tester mon application, sur un autre pc d'ou j'ai dévelloper, sous forme d'une vrai application avc le "setup" mais quand je lance l'application j'ai une erreur. Je suis sous VB 2005 et Sql Server 2005. Sur le pc d'ou je l'ai développer, ca marche très bien.

L'erreur est la suivante :
Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion SQL Server Le serveur est introuvable ou n'est pas accessible. Vérifier que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (provider: Interfaces réseau SQL, error: 26 - Erreur lors de la localisation du serveur/de l'instance spécifiés)
Afficher la suite 

18 réponses

Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17
0
Merci
Bonjour,

Si tu utilise une base de données SQL Server, SQL Server doit être installé sur le poste client. Tu dois en suite modifier ta chaine de connexion en fonction du nom de l'ordinateur, et du nom de l'instance SQL Server.

Pour t'aider, il me faut plus de précisions, quel type de base de données (locale *.sdf, Serveur *.mdf), Quelle est ta chaine de connexion ?

@+ Mayzz.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
52
Date d'inscription
samedi 25 novembre 2006
Statut
Membre
Dernière intervention
17 décembre 2009
0
Merci
Donc je dois installer SQL Server sur le pc ou je veux utiliser l'application ? Comment je fais pr modifier la chaine de connexion en fonction du nom de l'ordinateur, et du nom de l'instance SQL Server ?

J'utilise une base de donnée *.mdf

Ma chaine de connexion est la suivante :
Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\pc\Downloads\Bedetheque\BD.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True
Commenter la réponse de guice11
Messages postés
221
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
13 décembre 2009
0
Merci
Salut,

Pour info, le PC sur lequel tu developpe et celui sur lequel tu veux installer ton application sont-ils sur le même réseau ? Même plage d'IP etc...
Commenter la réponse de cs_Ayr
Messages postés
52
Date d'inscription
samedi 25 novembre 2006
Statut
Membre
Dernière intervention
17 décembre 2009
0
Merci
ouais ils sont sur le même réseau, mais j'aimerais bien par exemple donner mon application à un de mes potes, qui lui sera pas sur le m^me réseau
Commenter la réponse de guice11
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17
0
Merci
Re :

Dans le cas d'une application monoposte avec base de données locales : Utiliser SQL Server Compact, à installer sur le poste cible (possibilité de l'ajouter comme composant dans un projet de déploiement). Mais ce n'est pas ton cas.

Dans le cas d'une application multiposte, il faut un poste qui fasse office de serveur. Ce serveur devra avoir SQL Serveur d'installé avec une instance nommé, démarrer en tant que service. Tu devras le configurer avec des comptes utilisateurs ayant des droits suffisants pour accéder aux bases de données présentes sur le serveur (via SQL Server Managment studio). Tu devras aussi ouvrir le port 1433 (et 1434 pour SQL Browser facultatif) dans ton pare-feu Windows et ton routeur (ou box).

Pour ce qui est de ta chaine de connexion, tu devras la paramétrer pour qu'elle puisse comporter l'adresse IP du serveur et le nom de l'instance, ainsi que le nom de la base de données et les paramètres du compte utilisateur. Tu peux éventuellement faire une boite de dialogue pour paramétrer la connexion.

Voici un exemple de chaîne de connexion à un serveur distant :

Server=IP\Nom de l'instance; User ID=Nom d'utilisateur; Password=Mot de passe; Initial Catalog=Nom de ta base de données

Si tu veux, j'ai fais une source qui permet de gérer les connexion au bases SQL, un boîte de dialogue qui retourne une chaîne de connexion, tu peux t'en inspirer ou directement l'utiliser => ici..

@+ Mayzz.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
221
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
13 décembre 2009
0
Merci
Voilà ce que je pense:

Si ton application est destinée à être mono-utilisateur ce serai paut être plus simple d'utiliser par exemple une base de données Access. Pour pouvoir y acceder sans avoir à modifier la chaine de connection il suffirait de la mettre dans le même dossier que le programme ou dans un sous-dossier et de donner un chemin relatif dans ton code.

Si tu veux qu'elle soit multi-utilisateurs, SQL Server devient plus interressant. C'est un serveur de base de données, ce qui implique que si tu l'installe sur un poste du réseau, tu doit pouvoir y acceder depuis n'importe quel autre poste. Mais alors, ne donne pas le chemin de ton fichier dans ta chaine de connection ! Parce que sur l'autre PC il n'y à peut être pas de "C:\Users\pc\Downloads\Bedetheque\BD.mdf". Laisse faire SQL Server, c'est son boulot.

Pour ce faire tu doit connaitre :
Le nom du PC sur lequel est installé SQL Server. Pour l'exemple on va l'appeler "PC-SERVEUR".
Le nom de l'instance SQL Server sur ce poste. C'est "SQLEXPRESS" par défaut et si tu n'a pas changé ce nom lors de l'installation de SQL Server, ce sera celui-là.
Le nom de la base de données à laquelle tu veux accéder. On va dire que c'est "BD".
Le nom et le mot de passe d'un utilisateur qui à le droit d'accéder à cette base de données. Pour l'exemple on va dire "guice11" et "M02Pass"

Dans ce cas là, ta chaine de connection va ressembler à:
"Data Source=PC-SERVEUR\SQLEXPRESS;Initial Catalog=BD;Persist Security Info=True;User ID=guice11;Password=M02Pass;Connection Timeout=30"

Si ça ne marche sur le PC où se trouve SQL Server et pas sur l'autre, vérifie que ton-parre, si tu en as un ou s'il est activé, est bien configuré pour laisser passer le traffic avec SQL Server. Au pire, désactive le, le temps de faire le test et ré active le ensuite.

J'espère que ça pourra t'aider.
A+
Commenter la réponse de cs_Ayr
Messages postés
221
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
13 décembre 2009
0
Merci
Ha ben voilà... Comme dit Mayzz
Commenter la réponse de cs_Ayr
Messages postés
221
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
13 décembre 2009
0
Merci
J'me fais tellement griller moi en ce moment que, un p'tit apéro et j'me fais un barbecue à moi tout seul
Commenter la réponse de cs_Ayr
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17
0
Merci
Arf ca m'arrive souvent aussi

C'est quand même fort ça ! On a donné le même type de réponse, casi en même temps (~47 secondes) !

Si la il a pas une réponse précise....

PS: Tant que j'y suis j'ai oublié mais pas toi :

si tu en as un ou s'il est activé, est bien configuré pour laisser passer le traffic avec SQL Server


Pour ce qui est du trafic d'SQL Server : A l'installation de celui-ci, tu peux le paramétrer pour un trafic locale et/ou internet bien entendu choisi les deux. Si tu dois le faire en dehors de l'installation, vas dans le panneau de configuration SQL Server, tu peux activer les le TCP/IP et les cannaux nommés.

++

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
52
Date d'inscription
samedi 25 novembre 2006
Statut
Membre
Dernière intervention
17 décembre 2009
0
Merci
Merci pr ces réponses mais c'est ou que l'on inscrit le mdp et le nom d'utilisateur afin de d'obtenir les droits. Je ne parle pas lorsque que je veux modifier la chaine de connexion mais vrmt lorsqu'on s'inscrit.
Commenter la réponse de guice11
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17
0
Merci
Il te faut Installer SQL Management Studio, sur le pc ou est installé SQL Server. C'est un outil qui va permettre de configurer le serveur, mais aussi les bases qu'il contient.

Merci d'éviter le language SMS c'est pas très lisible, même pour ceux qui liront derière toi.

@+ Mayzz.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
52
Date d'inscription
samedi 25 novembre 2006
Statut
Membre
Dernière intervention
17 décembre 2009
0
Merci
ah, excuse moi pr le language SMS .

J'ai donc installer SQL Server Management Studio tout bien comme il faut et maintenant lorsque je veux modifier l'authentification Windows authentification SQL Server en afin de mettre le mot de passe et le login que j'ai crée auparavant dans SQL Server Management Studio, j'ai une erreur

L'erreur est la suivante :

Échec de la création d'une instance d'utilisateur SQL Server. Seule une connexion intégrée peut générer une instance d'utilisateur. Fermeture de la connexion
Commenter la réponse de guice11
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17
0
Merci
Quelle est ta chaîne de connexion ?


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
52
Date d'inscription
samedi 25 novembre 2006
Statut
Membre
Dernière intervention
17 décembre 2009
0
Merci
Ca ne vient pas de la chaine de connexion, en fait je fais "Tester la connexion"

Regardez ça :
Commenter la réponse de guice11
Messages postés
52
Date d'inscription
samedi 25 novembre 2006
Statut
Membre
Dernière intervention
17 décembre 2009
0
Merci
Voilà le lien de l'image qui ne s'affiche pas : http://img21.imageshack.us/i/sanstitrebio.jpg/
Commenter la réponse de guice11
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17
0
Merci
Si si, c'est bien ce que je pensais, vire le paramètre 'User Instance' de ta chaîne de connexion, via l'assistant tu fais avancées > User Instance = False

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
52
Date d'inscription
samedi 25 novembre 2006
Statut
Membre
Dernière intervention
17 décembre 2009
0
Merci
J'ai fais ce que tu ma dis "avancées > User Instance = False".
J'ai encore une erreur : http://img41.imageshack.us/img41/5498/ilmage2.jpg
Commenter la réponse de guice11
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
26 novembre 2013
17
0
Merci
Effectivement, ta base ne doit pas être attaché comme on te l'a précisé dans les posts précédents, la encore tu as 2 chois :

1\ Tu crée ta base et tes tables sous SQL Management Studio (ou Visual Studio avec l'explorateur de serveurs), ou tu attache ta base existante sur le serveur via management studio et non via ta chaine de connexion en prenant soin de bien la rennomer.

2\ Tu recrée ta base de données dans ton code behind via des SqlCommand avec des requêtes SQL.

A partir de la ta base de données sera attaché au serveur et chaque client s'y connectant via un compte SQL Serveur ayant les droits pourra y accéder.

Pour ce qui est de ta chaîne de connexion remplace 'AttachDBFilename' par 'Inital Catalog=Nom de ta base'.

Voila @+

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz