danila_net
@danila_net
Изучаю CLR, C#, ASP.NET

Как связать таблицы, которые находятся в разных БД?

Приложение на ASP.NET MVC. Поле из таблицы хранит названия имен таблиц из другой БД, в которых находятся данные. Можно обработать во VIEW с помощью Razor, но данные должны использоваться в расчетах и целесообразнее их получать в контроллере. Как составить запрос?
  • Вопрос задан
  • 218 просмотров
Решения вопроса 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Используйте 2 датасорса, а там уж разбирайтесь на уровне кода. Как по мне это самое оптимальное решение. Причем есть куча других вариантов
Ответ написан
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
Если у вас заранее не определены базы данных и таблицы, то на стороне сервера нужно делать динамические запросы, то есть формировать запрос, как строку.
Если определены:
SELECT 'TABLE1', Field1, Field2
  FROM Data1.dbo.Table1
UNION
SELECT 'TABLE2', Field1, Field3
  FROM Data2.dbo.Table2
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Можно использовать в запросе оператор OPENROWSET. С помощью него можно в рамках запроса к одному серверу выполнить запрос к другому серверу, указав все необходимые реквизиты подключения прямо в операторе. Результат вернётся как обычная таблица.

Также можно использовать связанные серверы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы