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/04/2011, 19h58   #1
Nouveau Membre du Club
 
Inscription : septembre 2005
Messages : 181
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 181
Points : 37
Points : 37
Par défaut Insert-Select Query - Comment indiquer les serveurs

Bonjour,

J'aimerais faire la requête suivante:
Code :
INSERT INTO [Serveur1].[Base1].dbo.Result(liste_des_champs) SELECT liste_des_champs FROM [Serveur2].[Base2].dbo.Result
Je me demande cependant comment indiquer les serveurs car je n'ai de visibilité que sur 1 à la fois i.e. la requête que je suis en train d'écrire semble être spécifique à une connexion.

merci

ps j'utilise Microsoft SQL Server Management Studio -10.0.1600.22

Acheo
acheo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 20h07   #2
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
il faut créer un linked server entre les deux instances : http://msdn.microsoft.com/en-us/library/ff772782.aspx
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 20h23   #3
Nouveau Membre du Club
 
Inscription : septembre 2005
Messages : 181
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 181
Points : 37
Points : 37
Je ne trouve pas Linked Servers tel que décrit dans les instructions publiée sur MSDN. (voir image en attache)

Citation:
1.In SQL Server Management Studio, open Object Explorer, expand Server Objects, right-click Linked Servers, and then click New Linked Server.
Serait-ce que je n'ai pas une bonne version du Management Studio?

merci
Images attachées
Type de fichier : jpg sqlServer.jpg (31,1 Ko, 2 affichages)
acheo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 20h35   #4
Nouveau Membre du Club
 
Inscription : septembre 2005
Messages : 181
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 181
Points : 37
Points : 37
Par défaut trop fatigué?

Désolé, la réponse était sous mes yeux.

merci
acheo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 20h54   #5
Nouveau Membre du Club
 
Inscription : septembre 2005
Messages : 181
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 181
Points : 37
Points : 37
Bon, j'ai réussi à créer le linked server et j'ai fais une petite requête simple me permettant de lire des enregistrements sur celui-ci. Par contre, ca se brouille lorsque j'essaie de faire la requête suivante:

Code :
1
2
INSERT INTO dbo.ATE(idsATE,strDevice,strProject,strSoftNoXXX,strTestEnv)
SELECT (idsATE,strDevice,strProject,strSoftNoXXX,strTestEnv) FROM [srvsql2].ATE_Results.dbo.ATE
acheo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 21h02   #6
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
Citation:
Envoyé par acheo Voir le message
Par contre, ca se brouille lorsque j'essaie de faire la requête suivante:
Comment voulez-vous que l'on vous aide davantage avec ce genre d'information imprécise ?
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 21h06   #7
Nouveau Membre du Club
 
Inscription : septembre 2005
Messages : 181
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 181
Points : 37
Points : 37
Et quelles précisions aimeriez-vous avoir? Comme je ne suis pas DB Admin, je viens sur ce forum justement pour avoi de l'aide.

J'ai fais la requête ici haut et ca ne passe pas, donc, si j'ai une erreur de syntaxe, peut être qu'un pro comme vous peux m'aider?

merci
acheo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 21h23   #8
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
Citation:
Envoyé par acheo Voir le message
J'ai fais la requête ici haut et ca ne passe pas, donc, si j'ai une erreur de syntaxe, peut être qu'un pro comme vous peux m'aider?
Qu'est-ce que ça veut dire pour vous "ça ne passe pas" : y a un message d'erreur (lequel ??) ou ça ne fait pas ce que vous voulez ??
Comment voulez-vous que l'on détecte une erreur sans même savoir s'il y a une erreur ni sans connaitre l'éventuel message d'erreur, sans la description des tables en jeu, sans la version de bd, etc...
Bref, à part la télépathie, la chiromancie ou le vaudou, je vois pas...
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 21h55   #9
Nouveau Membre du Club
 
Inscription : septembre 2005
Messages : 181
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 181
Points : 37
Points : 37
Pour la requête suivante:

Code :
1
2
3
 
INSERT INTO ATE(idsATE,strDevice,strProject,strSoftNoXXX,strTestEnv)
SELECT * FROM [srvsql2].ATE_Results.dbo.ATE
J'obtiens le message d'erreur suivant:
Citation:
Msg 544, Level 16, State 1, Line 1
Cannot insert explicit value for identity column in table 'ATE' when IDENTITY_INSERT is set to OFF.
SQL Server version: Microsoft SQL Server Standard Edition (64-bit) 10.50.1600.1

J'ai bien enlevé l'auto-numbering sur la clé primaire idsATE et j'ai mis IDENTITY_INSRT à ON

Les tables en jeu sont les mêmes sauf que j'ai désactivé les contraintes sur la table destination.

Les tables sont sous 2 serveurs différents.
acheo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/04/2011, 08h51   #10
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:
insert into ATE(idsATE,strDevice,strProject,strSoftNoXXX,strTestEnv)
select * from [srvsql2].ATE_Results.dbo.ATE

Spécifiez le nom des colonnes dans le select!!!

Citation:
J'ai bien enlevé l'auto-numbering sur la clé primaire idsATE et j'ai mis IDENTITY_INSRT à ON
Pouvez vous poster votre code complet incluant cette désactivation?
__________________
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 25/04/2011, 23h49   #11
Nouveau Membre du Club
 
Inscription : septembre 2005
Messages : 181
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 181
Points : 37
Points : 37
Le nom des colonnes ne semble pas avoir d'incidence. J'ai fais le test.

Cependant, quoique je fasse, il manque toujours des enregistrements dans la table destination. La table source contient 632,667 enregistrements. Ma table destination en contient 632,650 soit 17 de moins.

Est-ce que SLQ Server a des limites dans ce genre de requête?

merci

Acheo
acheo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 08h16   #12
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:
Le nom des colonnes ne semble pas avoir d'incidence. J'ai fais le test.
Ce n'est pas la question... prenez cette habitude, vous épargnez des efforts à votre SGBDR et si votre table change (ajout/modif d'une colonne) votre requête risque de ne plus fonctionner..

Citation:
Est-ce que SLQ Server a des limites dans ce genre de requête?
Non
__________________
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 26/04/2011, 08h18   #13
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:
Cependant, quoique je fasse, il manque toujours des enregistrements dans la table destination
Donc maintenant la requête passe sans erreur?

Peut on voir la requête qui passe sans erreur?

Comment connaissez vous le nombre d'enregistrements de vos tables?

Peut on voir les structures des tables?

(que de question je sais...)
__________________
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 26/04/2011, 16h41   #14
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
Citation:
Envoyé par iberserk Voir le message
Donc maintenant la requête passe sans erreur?
Peut on voir la requête qui passe sans erreur?
Comment connaissez vous le nombre d'enregistrements de vos tables?
Peut on voir les structures des tables?
(que de question je sais...)
Questions que j'avais plus ou moins évoqués il y a 5 jours...
Et c'était resté lettres mortes...
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2011, 17h08   #15
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:
Questions que j'avais plus ou moins évoqués il y a 5 jours...
Et c'était resté lettres mortes...
Ah oui j'avais notamment raté le cultissime
Citation:
ca se brouille
__________________
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
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h33.


 
 
 
 
Partenaires

Hébergement Web