Доступ к базе данных - ссылки на SQL Server и Oracle - PullRequest
3 голосов
/ 27 октября 2009

Прикладная часть моей базы данных находится в Access 2003, и я использую таблицы, связанные с SQL-сервером. Теперь у меня есть несколько таблиц, которые мне нужно связать из базы данных Oracle. Я связываю их через ODBC-соединение, и оно работает нормально. Можно ли связать эту ссылку Oracle в SQL, а затем связать эту таблицу, как она уже связана в Access 2003? Итак, я хочу использовать только одно ODBC-соединение с SQL-сервером и в SQL-соединении это Oracle-соединение.

1 Ответ

3 голосов
/ 27 октября 2009

Да, я считаю, предложенная вами структура двойной косвенности должна работать "ОК" . Это связано с тем, что источники связанных серверов MS_SQL обрабатываются очень похоже на локальные базы данных и могут запрашиваться индивидуально, то есть в запросах, не связанных с локальными базами данных.
Заметьте, однако, что это может быть гораздо менее эффективным , так как вы вводите дополнительный «прыжок». Кроме того, обратите внимание на возможные проблемы с отображением типов , поскольку некоторые типы в oracle могут отображаться в несколько иной тип SQL, чем при прямом доступе из MS-Access. Однако такие проблемы с отображением типов легко обойти.

Редактировать: Чтобы «установить соединение» между серверами MS-SQL и Oracle
Эта концепция называется «связанный сервер» в языке MS-SQL. См. Эту статью MSDN для обзора и подробных сведений о хранимой процедуре sp_addlinkedserver . В этом последнем документе представлены параметры соединения, необходимые для различных источников, включая Oracle или ODBC (т. Е. Для Oracle вы можете использовать ODBC, который обычно проще, но менее эффективен, а для Oracle версии 8 и выше - драйвер OLE DB, который подразумевается может быть сложнее в обеспечении, но обеспечивает лучшую производительность).

Опять же, даже с усилением, связанным с драйвером Oracle OLE DB, дополнительный скачок может снизить общую производительность вашей установки ...

...