C# SqlDataAdapter с JOIN таблиц из нескольких баз данных - PullRequest
0 голосов
/ 15 апреля 2020

Поскольку синтаксис для определения SqlDataAdapter:

SqlDataAdapter adapter = new SqlDataAdapter(querystring, connectionstring);

как я могу объединить таблицы из нескольких баз данных, имеющих одну строку подключения для использования?

Спасибо.

1 Ответ

2 голосов
/ 15 апреля 2020

В зависимости от вашей БД может быть возможно использовать DBLink.

Например, для Oracle: https://oracle-base.com/articles/misc/managing-database-links

Это объединяет базы данных в уровень БД и допускает определенные таблицы, представления и т. д. c. быть доступным для определенных операций из одной БД в другую.

Затем, с точки зрения пользователя, вы просто подключаетесь к одной БД, выполните свой запрос, который затем может использовать таблицы, объединенные из нескольких БД, даже не подозревая.

Однако есть и недостатки, включая безопасность (более сложную для защиты) и производительность.

В некоторых случаях может быть полезно выполнить два запроса на двух БД по отдельности, а затем объединить данные в памяти внутри вашего Приложение.
Но только вы можете судить об этом, и, возможно, потребуется запустить тесты, чтобы проверить, что лучше для вас.

...