|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : décembre 2008 Messages : 119 ![]() |
Bonne rencontre
Voici la situation, j’ai X bases de données de la même structure. Via une procédure stockée, j’aimerais interroger n’importe quelle base de données de mon choix. Pour le moment, j’ai fait ceci qui fonctionne mais je me demande si c’est la bonne solution et surtout s’il n’y a pas plus propre. C'est juste histoire de ne pas me faire frapper par un DBA s'il me croise dans la rue. J’ai crée une PS dans la master (ce n'est probablement pas propre... Dans mon cas, j'ai accès à la master mais dans une autre boite ça ne serait pas le cas) avec le code suivant : Code :
Raphaël. |
||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 669 ![]() |
Bonjour,
Est-ce que les bases de données sont hébergées par la même instance de SQL Server ? Vous pouvez éventuellement passer aussi le nom de la table, mais ce qui est gênant dans votre procédure c'est le "étoile". Mais c'est probablement pour l'exemple. Vous pouvez coder un peu plus défensivement, et utiliser sp_executesql : Code :
De cette façon vous pouvez l'appeler dans n'importe quel contexte de bases de données (voyez le billet que j'ai écrit à ce sujet). Vous êtes pour cela obligé de la créer dans la base de données master. Je pense qu'en parler avec votre DBA ne mange pas de pain @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
||
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Inscription : décembre 2008 Messages : 119 ![]() |
Citation:
Citation:
Merci pour le code, je vais adapter le mien pour qu'il soit plus robuste. Merci pour vos conseils et je vais lire votre billet qui me servira sans aucun doute dans un autre cas. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com