Vous cherchez une bonne mise en œuvre qui accédera à plusieurs bases de données simultanément

StackOverflow https://stackoverflow.com/questions/2745135

Question

Je veux juste savoir s'il y a une bonne mise en œuvre (en C # / ASP.NET) sur la façon d'accéder à mes dossiers de mes différentes bases de données simultanément. J'ai cette application simple qui suppose de rechercher sur ces bases de données, puis, afficher l'enregistrement si un certain mot clé correspond.

J'ai comme 5 bases de données (MySQL) actuellement à l'aide dans l'ensemble et sera étendons sur l'avenir (peut-être changer à SQL Server). Je suis pleinement conscient sur la façon de rechercher sur une seule base de données, alors que je suis en train d'apprendre comment le faire dans plusieurs bases de données.

Des conseils, des commentaires ou des suggestions?

Était-ce utile?

La solution

Je ne peux pas dire pour MySQL, mais dans le serveur SQL, vous pouvez sélectionner à partir de plusieurs bases de données (tant que l'utilisateur que vous connectez les autorisations appropriées). Si les tables sont similaires dans toutes les bases de données, vous pouvez alors peut-être le faire dans une requête par UNIONING les résultats ensemble. Donc, si vous aviez 3 bases de données (appelé DB1, DB2 et DB3) et chacun avait une table appelée Records alors vous pouvez faire ceci:

SELECT * FROM DB1.dbo.Records WHERE Name Like '%searchterm%'
UNION
SELECT * FROM DB2.dbo.Records WHERE Name Like '%searchterm%'
UNION
SELECT * FROM DB3.dbo.Records WHERE Name Like '%searchterm%'

Autres conseils

plusieurs instances de XXXConnection (MySQLConnection ou autre) et itérer à travers eux.

Vous devez utiliser la même méthode utilisée pour rechercher une base de données unique contre chacune des autres bases de données en utilisant une chaîne de connexion différente. Ce serait un bon candidat pour les extensions parallèles dans .NET 4.0 ou la version 3.5 de la bibliothèque qui a été publié il y a quelque temps. Si les resultsets vont être un peu identique, j'enquête également l'utilisation de la balise la méthode de DataTable.Merge.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top