Bonjour,
Voila tout ets dans le titre, je souhaite alimenté une table sur un serveur différent et donc sur une instance différente dans une base de données de nom différent.
Actuellement, je rempli ma table en local... comment faire ?
merci beaucoup
Discussion :








Bonjour,
Voila tout ets dans le titre, je souhaite alimenté une table sur un serveur différent et donc sur une instance différente dans une base de données de nom différent.
Actuellement, je rempli ma table en local... comment faire ?
merci beaucoup
Regade du côté des Linked Server
Tu ajoutes un serveur lié et tu deal avec ensuite...
Tu as deux possibilités:
- Utiliser des serveurs liées en préfixant ta table de la manière suivante:
nomServeur.nomBase.propriétaire.nomTable
- Utiliser la fonction opendatasource().nomBase.propriétaire.nomTable
Le serveur lié est recommandé si tu dois effectuer plusieurs opérations vers ton autres instances.
Dans le cadre de connexion ponctuelle, tu peux utiliser la fonction opendatasource.
avant de lancer ta requête il faut que le serveur distant soit lié à ton serveur local, pour ce faire tu lance la commande :
après :
Code : Sélectionner tout - Visualiser dans une fenêtre à part sp_addlinkedserver [nomServeurDistant]
tu peux faire ce que tu veux à partir de ton serveur local du genre :
Bon courage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT * FROM nomServeurDistant.nomBaseDonnees.dbo.nomTable![]()
Mes articles, Mon Blog
Rubrique Jasper/iReport :
------- Forum Jasper --------
----- FAQ Jasper/iReport -----








merci pour vos réponses, je suis en train de faire des tests mais cela ne marche pas :
je faismon serveur est SNS-TECHNET
Code : Sélectionner tout - Visualiser dans une fenêtre à part sp_addlinkedserver [SNS-TECHNET]
puis :
Avec SNSTECHNET2005 qui est mon instance, mais cela me renvoie une erreur à la creation de la requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part INSERT INTO [SNSTECHNET2005.SNSTechNetWeb.dbo.SNSTechNet_MsspReports]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Msg*15028, Niveau*16, État*1, Procédure*sp_MSaddserver_internal, Ligne*89 Le serveur*'SNS-TECHNET' existe déjà.
si tu as bien lu le message d'erreur tu comprendras qu'il te faudra juste d'enlever leEnvoyé par dahu17
car apparemnt tes deux serveurs sont déjà linkés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sp_addlinkedserver [SNS-TECHNET]
exécutes directement ta requête d'insertion.
Mes articles, Mon Blog
Rubrique Jasper/iReport :
------- Forum Jasper --------
----- FAQ Jasper/iReport -----








j'avance :
comment on spécifie l'utilisateur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Msg*18452, Niveau*14, État*1, Ligne*1 Échec de l'ouverture de session de l'utilisateur*''. L'utilisateur n'est pas associé à une connexion SQL Server approuvée.
il te faut passer par un OPENQUERY
http://msdn2.microsoft.com/en-US/lib...8(SQL.80).aspx
car un insert direct passe par ton authentification windows et pas celle de SQL serveur donc si ton compte windows n'est pas autorisé sur le serveur lié![]()








je suis sur que c'est pas loin mais je ne m'en sors pas et j'essaye plein de méthodes, mes yeux vont tomber je crois
ca marche pas avec openquery ?
ou tu sais pas comment faire ?
Quand tu essaie un simple SELECT à partir de ton PC local mais sur la base du serveur distant est ce que ça marche?
quand tu fais :
ça donne quoi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM [ServeurDistant].DBO.taBase.taTable
Mes articles, Mon Blog
Rubrique Jasper/iReport :
------- Forum Jasper --------
----- FAQ Jasper/iReport -----
Partager