Visual studio 2008 SQL server [Résolu]

djbabou 155 Messages postés dimanche 21 octobre 2007Date d'inscription 23 novembre 2015 Dernière intervention - 20 mai 2009 à 18:34 - Dernière réponse : djbabou 155 Messages postés dimanche 21 octobre 2007Date d'inscription 23 novembre 2015 Dernière intervention
- 15 juin 2009 à 19:54
Bonjour à tous,

J'aimerai savoir s'il est possible comment il serait possible d'associer différemment SQL Server à mon application réalisée en c#, sachant que selon les recherches que j'ai effectué, la version 2008 du visual studio express ne gère pas cette base de données.
Par contre, en ce qui concerne Mysql, que je peux aussi utiliser avec la version 2008 du Visual Studio, je dois choisir quelle version d'applicatif, et quel connecteur ? Faut-il que ce soit forcément du Mysql Server ?

Merci d'avance pour vos réponse !!!
Afficher la suite 

12 réponses

Répondre au sujet
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 26 mai 2009 à 10:01
+3
Utile
vérifie avec le site http://www.connectionstrings.com/ que ta chaine de connection est correcte

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_casy
djbabou 155 Messages postés dimanche 21 octobre 2007Date d'inscription 23 novembre 2015 Dernière intervention - 15 juin 2009 à 19:54
+3
Utile
pour ceux que cela intéresse, vous pouvez toujours récupérer la chaines directement après la construction de votre base de données à partir de l'assistant. C'est beaucoup plus simple et ça évite qu'il y ait des erreurs!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de djbabou
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 20 mai 2009 à 19:24
0
Utile
Visual Studio 2008 gère parfaitement les bases de données que ce soit SQL Server, SQL Server Express ou MySql

Pour SQL Server, tu utilisera les classes de l'assembly System.Data.SqlClient
Pour MySql, tu utilisera les classes de l'assembly System.Data.OleDB ou alors tu téléchargera les connecteurs spécifique sur le site de MySql qui t'installeraont l'assembly System.Data.MySql

Dans tous les cas, tu pourrais aussi passer par une source ODBC, que tu pourrais interroger avec les classes de l'assembly System.Data.Odbc

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
Commenter la réponse de cs_casy
djbabou 155 Messages postés dimanche 21 octobre 2007Date d'inscription 23 novembre 2015 Dernière intervention - 22 mai 2009 à 15:26
0
Utile
salut et merci pour la réponse

Effectivement, j'ai pu sans difficulté créer une base de données SQL SERVER pour mon application en c# sous Visual Studio.

J'ai opté pour cette base de données parce que l'assistant de visual studio ( données/ajout d'une nouvelle source de donées) me simplie vraiment la tâhce.

Mais j'ai encore un petit souci : la connexion. J'ai vu diverses manières de se connecter en c# pour une base sql server, mais je suis pas sur que la version de la base de données dépasse la 2005.
 
Voici la chaine de connexion que j'ai créé :

SqlConnection myConnection =
new
SqlConnection(
"Data Source=local;Initial Catalog=test;Integrated Security=SSPI;");

try
{
myConnection.Open();

MessageBox.Show(
"connexion ouverte");
}

catch (
Exception ex)
{

MessageBox.Show(
"erreur");
}

Le nom de ma base de données est test.mdf. Quand je lance la compilation, je reçoit le message d'erreur du catch, ce qu me laisse penser que la syntaxe est bonne.

Dès lors, j'aimerai savoir pourquoi la connexionne s'ouvre pas ?
Commenter la réponse de djbabou
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 22 mai 2009 à 16:12
0
Utile
Au lieu de simplement afficher "Erreur", commence par afficher le message d'erreur réel (ex.message) ça te donnera un début de piste

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
Commenter la réponse de cs_casy
djbabou 155 Messages postés dimanche 21 octobre 2007Date d'inscription 23 novembre 2015 Dernière intervention - 22 mai 2009 à 17:28
0
Utile
J'ai effectuer la modification en affichant directement le mesage d'erreur , et j'obtient le message suivant

"une erreur lié au réseau opu spécifique à l'instance s'est produite lors de l'établissement d'une connexion à sql server. Le server est introuvable ou n'est pas accessible. Vérifier que le nom de l'instance est correcte  et que sql server est configuré pour autoriser les connexions distances"

Effectivement je réalise un projet dans le cadre d'une architecture client/server, mais comme je n'ai pas encore déployé mon application ( sachant qu'elle n'est pas terminée ), je fais mes tests sur ma machine ( c'est également sur celle ci que je compile mon application).

Est-ce lié à cet état de fait ? Suis-je obligé d'utiliser deux machines distinctes ? Si oui, comment je dois les configurer?
Commenter la réponse de djbabou
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 22 mai 2009 à 18:58
0
Utile
Travaille-tu avec un véritable serveur SQL ou utilise-tu une base de données SQLServer Express ??

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
Commenter la réponse de cs_casy
djbabou 155 Messages postés dimanche 21 octobre 2007Date d'inscription 23 novembre 2015 Dernière intervention - 25 mai 2009 à 15:08
0
Utile
salut,

en fait, je travaille sur un base de données sql server et non sur un vrai serveur sql
Commenter la réponse de djbabou
cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 25 mai 2009 à 20:55
0
Utile
Tu es surement donc sur une base SQLServer Express.

Dans ce cas, ce n'est pas l'instance par défaut qui est utilisée pour le serevur mais une instance nommée qui s'appele SQLEXPRESS. Il faut préciser le nom de l'instance dans le nom du serveur.

 SqlConnection(
"Data Source=local\SQLEXPRESS; ......

---- Sevyc64  (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #   
Commenter la réponse de cs_casy
djbabou 155 Messages postés dimanche 21 octobre 2007Date d'inscription 23 novembre 2015 Dernière intervention - 25 mai 2009 à 22:50
0
Utile
ok merci pour ta réponse

j'ai essayé de modifier mon code en spécifiant l'instance sqlexpress dans le nom du serveur. En mettant un anti-slash ( \ ), j'ai une erreur qui est la suivante : "séquence d'échapement non reconnu"

J'ai donc mis un slash et la plus d'erreur, la génération réussit. Cependant, j'ai toujours l'erreur précédente :



"une erreur lié au réseau opu spécifique à l'instance s'est produite lors de l'établissement d'une connexion à sql server. Le server est introuvable ou n'est pas accessible. Vérifier que le nom de l'instance est correcte  et que sql server est configuré pour autoriser les connexions distances"

Ce n'est donc peut être pas simplement l'instance qui manquait dans le nom du serveur! Du coup je ne trouve toujours pas pourquoi la connexion ne peut être établie
Commenter la réponse de djbabou
djbabou 155 Messages postés dimanche 21 octobre 2007Date d'inscription 23 novembre 2015 Dernière intervention - 26 mai 2009 à 14:19
0
Utile
effectivement j'aivais pensée à aller regardé sur ce site sur ma chaîne de connection est correct ! Résultat : elle l'est . Ce n'est donc pas un problème à ce niveau là.

Voici la chaine de connexion uqe j'utilise :


SqlConnection myConnection =
new
SqlConnection(
"Data Source=localhost/SQLEXPRESS;Database=test;Integrated Security=true;");




je précise que "test" est le nom d'une base de données de test obtenu grâce à SQL SERVER.
Commenter la réponse de djbabou
djbabou 155 Messages postés dimanche 21 octobre 2007Date d'inscription 23 novembre 2015 Dernière intervention - 29 mai 2009 à 16:31
0
Utile
salut merci pour ton aide.

La bonne chaine de caractère est :

SqlConnection

myConnection =
new
SqlConnection(
"Data Source=localhost\\SQLEXPRESS;Initial catalog=test;Integrated Security=True;Connect Timeout=30;User Instance=True;");test étant le nom de la base de données sql server. Ainsi sa passe très bien
Commenter la réponse de djbabou

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.