guice11
Messages postés52Date d'inscriptionsamedi 25 novembre 2006StatutMembreDernière intervention17 décembre 2009
-
22 sept. 2009 à 23:24
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 2020
-
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)
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 23 sept. 2009 à 19:37
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.
guice11
Messages postés52Date d'inscriptionsamedi 25 novembre 2006StatutMembreDernière intervention17 décembre 2009 23 sept. 2009 à 21:45
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
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 23 sept. 2009 à 22:53
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.
cs_Ayr
Messages postés221Date d'inscriptionmercredi 9 avril 2003StatutMembreDernière intervention13 décembre 20092 23 sept. 2009 à 22:53
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.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 23 sept. 2009 à 23:37
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.
guice11
Messages postés52Date d'inscriptionsamedi 25 novembre 2006StatutMembreDernière intervention17 décembre 2009 24 sept. 2009 à 15:26
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.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 24 sept. 2009 à 22:04
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.
guice11
Messages postés52Date d'inscriptionsamedi 25 novembre 2006StatutMembreDernière intervention17 décembre 2009 24 sept. 2009 à 22:29
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
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 24 sept. 2009 à 23:33
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.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 25 sept. 2009 à 00:32
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.