Yoshifumi
Messages postés7Date d'inscriptionmardi 4 mai 2010StatutMembreDernière intervention29 septembre 2010
-
19 mai 2010 à 15:30
imothepe_33
Messages postés168Date d'inscriptionmardi 27 juillet 2004StatutMembreDernière intervention28 novembre 2012
-
21 mai 2010 à 11:49
Bonjour à tous,
Je développe actuellement une application en C# avec Visual Studio 2008 (débutant). Ce programme utilise une base de données SQL Server Express 2005.
J'aimerais "déployer" mon appli sur plusieurs postes, mais je n'y arrive pas.
Dans Visual Studio et sur mon PC, tout fonctionne bien. J'arrive à effectuer des requêtes sur mes tables sans problèmes.
Sur d'autres PC, j'obtiens un message d'erreur du type : System.Data.SqlClient.SqlException; Impossible d'ouvrir la base de données par défaut de l'utilisateur, Échec de la connexion. Échec de l'ouverture de session de l'utilisateur 'PC\Administrateur'.
etc...
Ma question est : sur d'autres postes, que dois-je faire pour utiliser mon application, en plus d'installer SQL Server Express ?
NB : j'utilise la connexionString suivante : "server=(local)\\SQLEXPRESS;database=Database1;Integrated Security=SSPI;User Instance=true";
NB2 : je n'ai pas ce problème avec SQL Server CE 3.5, mais j'aimerais tout de même utiliser la version express
imothepe_33
Messages postés168Date d'inscriptionmardi 27 juillet 2004StatutMembreDernière intervention28 novembre 20127 19 mai 2010 à 18:10
Salut.
1/ Tout d'abord, tu dois vérifier si tu as bien configuré ton serveur. L'as tu rendu accessible à travers le réseau local? Si oui alors c'est un pas. Sinon tu dois le faire en allant dans le menu "SQL Server Surface Area Configuration" -> "Surface configuration for Services and Connections" et choisissant la case à cocher "Local and remote connections".
2/ Une fois cette étape passée, tu ouvres l'outils d'administration de SQL SERVER "SQL Server Management Studio Express" et dans l'explorateur d'objets dans la section "Sécurité", tu créés un nouvel utilisateur Nommé "Invité" (juste après tu redémarres ta machine)
3/ L'autre soucis c'est ta chaine de connection que tu installes chez tes clients qui doit se présenter sous cette forme "server=IP_Server\\SQLEXPRESS;database=Database1;Integrated Security=SSPI;User Instance=true" -> A la place de IP_Server, tu dois mettre l'adresse IP ou le nom de ta machine qui abrite ta base de données.
Une fois tout ceci fait, en principe, tes postes clients devraient accéder à la base de données. Merci.
Yoshifumi
Messages postés7Date d'inscriptionmardi 4 mai 2010StatutMembreDernière intervention29 septembre 2010 19 mai 2010 à 20:05
Merci pour ra réponse !
J'ai cependant oublié de préciser quelque chose. En fait, mon application devrait (si possible)s'exécuter uniquement en local sur la machine (pas de réseau entre les postes).
imothepe_33
Messages postés168Date d'inscriptionmardi 27 juillet 2004StatutMembreDernière intervention28 novembre 20127 21 mai 2010 à 11:49
Salut. En y revenant sur la question. Pourquoi tu veux installer sur chaque machine SQL SERVER 2005 Express? Si tu développes une appli destinée à fonctionner en réseau, c'est la que les bases de données comme SQL SERVER (Oracle, MySQL etc...) inerviennent. Mais dans ton cas comme c'est une application en monoposte, essai plutot d'utiliser une base de données comme ACCESS ou SQLITE. C'est légé et optimisé pour ce genres d'applications.