Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/06/2011, 17h52   #1
Invité de passage
 
Homme
Ingénieur applications RFID
Inscription : juin 2011
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur applications RFID

Informations forums :
Inscription : juin 2011
Messages : 15
Points : 2
Points : 2
Par défaut Problème de requête SQL

Bonjour à tous,

Je viens vers vous aujourd'hui car étant assez novice sur tout ce qui touche aux BDD.

Je vous explique tout d'abord ma configuration. J'ai un serveur MS SQL 2008 sur lequel sont stockées différentes BDD contenants des tables. Je dois pour mon projet accéder à une de ces tables pour modifier ou insérer certaines informations. J'utilise .NET Framework Data Provider for SQL Server (SqlConnection) pour faire mes requêtes et je développe sous Visual Studio 2010 en C#. Il y a une copie du fichier .mdf dans le dossier de mon projet qui pointe sur ma base dans son répertoire "source".

Voilà pour le décor... Sinon, la requête se fait sans soucis je n'ai pas d'erreurs en suivant une exécution classique du type :

Code C# :
1
2
3
4
5
connection.Open();
string requête = ("INSERT INTO Table(TLID,TRANSCODE) values (719,'WN')");
SqlCommand sqlCommand = new SqlCommand(requête, connection);
int ligne = sqlCommand.ExecuteNonQuery();
connection.Close()

encapsulé dans un try/catch.

Maintenant mon problème est lorsque je veux voir si la requête a bien été écrite dans ma table en utilisant visual studio click droit->afficher les données de la table rien n'a été ajouté. Comment voir les modifications? Y a t'il une instruction supplémentaire à faire? Je sais que mes connaissances sur le sujet sont limitées mais avec MS Access je n'avais pas se problème avec les connecteur OLE DB.

Je vous remercie d'avance pour l'aide que vous pourrez m'apporter. Bonne soirée.
bobybob06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 08h18   #2
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Ne travaillez pas comme ça... servez vous d'une instance SQL SERVER sur un serveur et faites pointer votre connectionString dessus.

De mémoire quand vous attachez un 'fichier de base de donnée' à VS celui-ci en crée une copie à la génération et travail dessus c'est pourquoi quand vous arrêtez le débogage vous ne voyez rien dans votre explorateur de Server...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 09h49   #3
Invité de passage
 
Homme
Ingénieur applications RFID
Inscription : juin 2011
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur applications RFID

Informations forums :
Inscription : juin 2011
Messages : 15
Points : 2
Points : 2
iberserk,

Tout d'abord merci pour le retour.

Pour être sûr d'avoir bien compris ce que tu veux dire. Par exemple si mon serveur est dans le répertoire C:\Program Files\NomServer\MaBase.mdf je mets cela dans ma connectionString?

J'ai essayé cette syntaxe dans mon fichier de configuration :

<add name="spsConnectionString" connectionString="Data Source =.\SQLEXPRESS =;AttachDbFilename= C:\Program Files\Microsoft SQL Server\MSSQL10.DISTRIMOP\MSSQL\DATA\sps3.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;" />

Mais peut-être y a t'il une erreur de syntaxe? Peux-tu me valider la connectionString ou me donner la syntaxe exacte stp?
bobybob06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 10h06   #4
Responsable SQL Server

 
Avatar de mikedavem
 
Homme David BARBARIN
Expert SQL Server
Inscription : août 2005
Messages : 3 723
Détails du profil
Informations personnelles :
Nom : Homme David BARBARIN
Localisation : France, Haute Savoie (Rhône Alpes)

Informations professionnelles :
Activité : Expert SQL Server
Secteur : Conseil

Informations forums :
Inscription : août 2005
Messages : 3 723
Points : 6 844
Points : 6 844
Bonjour,

Non il faut travailler au niveau de l'instance et non pas au niveau du fichier comme vous l'expliquait iberserk.

Code :
<ADD name="spsConnectionString" connectionString="Data Source =.\SQLEXPRESS;Integrated Security=True;Connect Timeout=30;User Instance=True;" />
++
mikedavem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 10h24   #5
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Citation:
Par exemple si mon serveur est dans le répertoire C:\Program Files\NomServer\MaBase.mdf
Ce n'est pas un serveur ca... c'est un fichier de données de base de données...
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 11h12   #6
Invité de passage
 
Homme
Ingénieur applications RFID
Inscription : juin 2011
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur applications RFID

Informations forums :
Inscription : juin 2011
Messages : 15
Points : 2
Points : 2
iberserk oui désolé je ne manipule pas encore bien tout le vocabulaire étant novice. Et j'avoue que je suis quand même un peu perdu dans le monde SQL Server 2008. Ce n'est vraiment pas mon coeur de métier... D'ailleurs si tu connais un bon livre sur les BDD en général je ne suis pas contre

Merci mikedavem, j'ai essayé ce que tu m'as dit avec la nouvelle connectionString malheureusement il me renvoie une exception "Nom d'objet MaTable non valide"... La question que je me pose est la suivante : Avec la nouvelle connectionString que tu m'as donné comment mon programme sais où est le serveur... OK je crois comprendre!

Laissez moi vous apporter quelques précisions supplémentaires. En fait, j'utilise un serveur qui est sur une autre machine que celle où je développe mon application actuellement. J'ai uniquement fait un copier coller de ce serveur que j'ai placé sur mon disque dur. Faut-il refaire une installation propre du serveur sur mon pc? Parce qu'actuellement il ne trouve pas le serveur en fait. j'avais juste lié la table à mon projet et non le serveur... Dans le cas où la réponse s'avère positive, dois-je copier après installation propre les fichiers provenant du serveur de la machine?

Merci pour votre aide.
bobybob06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 12h01   #7
Membre Expert
 
Avatar de iberserk
 
Homme Bruno IGNACE
Architecte de base de données
Inscription : novembre 2004
Messages : 1 299
Détails du profil
Informations personnelles :
Nom : Homme Bruno IGNACE
Âge : 30
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Architecte de base de données
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : novembre 2004
Messages : 1 299
Points : 2 282
Points : 2 282
Envoyer un message via MSN à iberserk
Ne copiez rien, travaillez en vous servant du serveur distant... et précisez dans votre connexionString le nom de le BASE employée.
__________________
Prendre conscience, c'est transformer le voile qui recouvre la lumière en miroir.
iberserk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/06/2011, 14h20   #8
Invité de passage
 
Homme
Ingénieur applications RFID
Inscription : juin 2011
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur applications RFID

Informations forums :
Inscription : juin 2011
Messages : 15
Points : 2
Points : 2
Merci iberserk! Maintenant je sais comment à peu près orienter mon travail.

1) Trouver comment lier le serveur distant à mon projet
2) Trouver la bonne connectionString afin de cibler la base voulue

En vous souhaitant une bonne journée. Je réécrirais un message ici si je ne trouve rien pour que vous puissiez me guider de nouveau!

Bonne journée.
bobybob06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h57.


 
 
 
 
Partenaires

Hébergement Web