Как сделать запрос в SQL Server с именем базы данных.владелец.имя_таблицы с помощью oracle dg4odbc

У меня есть рабочее соединение dg4odbc от Oracle 11g к SQL Server 2005. Oracle подключается к SQL Server, используя unixODBC с FreeTDS. Я могу сделать простой запрос, например:

select count(*) 
from tablename@sqlserver_dblink

но то, что я хочу сделать, это

select count(*) 
from databasename.owner.tablename@sqlserver_dblink

в другую базу данных на том же SQL Server.

Пожалуйста помоги.


person anil shrestha    schedule 12.03.2016    source источник


Ответы (1)


Имя и владелец базы данных (концепции в SQL SErver отличаются) являются частью DSN соединения ODBC. Они не указаны в вашем SQL. Ссылка на базу данных (@sqlserve_dblink) — это объект в базе данных оракула. Определение ссылки базы данных имеет свойство HOST, которое определяет запись в файле базы данных tnsnames.ora. Это, в свою очередь, приводит к месту назначения, где у вашего шлюза оракула есть прослушиватель. Оттуда он преобразуется в файл конфигурации шлюза, который, в свою очередь, указывает драйвер ODBC и DSN. DSN определяет фактическую базу данных SQL Server и учетные данные.

person EdStevens    schedule 12.03.2016