Отчет .NET, получающий данные как из MSSQL, так и из Oracle - PullRequest
0 голосов
/ 01 ноября 2018

Мы используем SQL Server 2016 и Oracle 11g (в процессе обновления до Oracle 12c). Я не разработчик .NET; поэтому примеры будут очень полезны.

Наши разработчики пытаются объединить данные как из MSSSQL (собственные приложения), так и из Oracle (системы ERP), чтобы создать отчет в .NET (просто чтение из обеих баз данных). Разработчики непреклонны, им нужно установить клиент Oracle на сервер, на котором размещен MSSQL.

С точки зрения безопасности (воздействие на поверхность) нам рекомендуется максимально уменьшить воздействие на поверхность. И я нашел возможный путь в этом блоге . И этот блог , который предлагает создать функцию в качестве строки подключения.

Вопросы:

  1. Разве в .NET (массив и т. Д.) Нет опции для хранения данных из MSSQL и / или Oracle в памяти для сравнения (с использованием идентификатора сотрудника) с другой базой данных?
  2. Поскольку это только чтение, не стоит ли устанавливать на сервере полный клиент Oracle?
  3. Как здесь эксперты, если вам нужно получить данные из обеих БД?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Я бы посмотрел на создание службы Windows, работающей на сервере, отличном от сервера MSSQL, который использовал бы управляемый клиент Oracle для передачи данных ETL из Oracle на сервер MSSQL по расписанию, что позволило бы вашему отчету .NET получать доступ к данным отчета. из одного места, ваш сервер MSSQL.

0 голосов
/ 01 ноября 2018

В какой-то момент у машины должен быть клиент Oracle. Я не знаю, как подключиться к Oracle без него.

Я могу придумать два способа сделать это. Вы можете связать таблицы Oracle непосредственно в SQLServer. Я полагаю, что вы можете использовать диалект SQLServer для запроса таблицы Oracle. Я уверен, что для этого есть снижение производительности, особенно если объединение через RDBMS.

Второй вариант - это иметь своего рода таблицу на вашем SQLServer с копией данных Oracle. В зависимости от объема данных или от того, сохранены они или нет, это может быть быстрее, чем запрос связанной таблицы с объединением. Это может быть постоянный стол или временный стол. Вам все равно нужно будет запросить у машины Oracle , и это будет сделано по мере необходимости или по расписанию.

Если у вас очень мало данных, вам может даже не понадобиться таблица.

У вас также может быть другой компьютер, который выполняет запрос к базе данных Oracle и перемещает данные в SQLServer. Вам не понадобится клиент Oracle на вашем сервере SQLServer, но на этом компьютере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...