ADO соединение с линкованной базой на SQL Server

nbIx
Дата: 19.01.2009 10:25:48
Народ, кто-нить присоединялся к линкованной оракловой базе на сиквеле?

Вопрос в строке соединения, если написать "Server=<Имя линкованного сервера>", то он его не видит.
Glory
Дата: 19.01.2009 10:30:42
nbIx
Народ, кто-нить присоединялся к линкованной оракловой базе на сиквеле?

Вопрос в строке соединения, если написать "Server=<Имя линкованного сервера>", то он его не видит.

К linkedserver-у обращаются в тексте SQL запроса. А не в строке соединения
nbIx
Дата: 19.01.2009 10:36:04
То есть, нужно подключиться к любой другой базе на скуле, а потом обращаться к линкованному серверу??
Glory
Дата: 19.01.2009 10:36:52
nbIx
То есть, нужно подключиться к любой другой базе на скуле, а потом обращаться к линкованному серверу??

Да
nbIx
Дата: 19.01.2009 10:42:20
А не подскажите, каков синтаксис обращения к конкретной таблицы линкованного ораклового сервера?
Glory
Дата: 19.01.2009 10:45:37
nbIx
А не подскажите, каков синтаксис обращения к конкретной таблицы линкованного ораклового сервера?

Такой же как и к таблице sql server
имясервера.имябазы.схема/владелец.таблица
nbIx
Дата: 19.01.2009 11:05:20
Пишу

SELECT *
FROM
LINKED_TEST..INS.P_POLICY

Где, LINKED_TEST - имя линкованного сервера
INS - схема
P_POLICY - таблица

Получаю ошибку
Server: Msg 7356, Level 16, State 1, Line 1
OLE DB provider 'MSDAORA' supplied inconsistent metadata for a column. Metadata information was changed at execution time.
OLE DB error trace [Non-interface error: Column 'POLICY_ID' (compile-time ordinal 1) of object '"INS"."P_POLICY"' was reported to have a DBTYPE of 130 at compile time and 5 at run time].

Хотя вроде бы должно все работать....
Glory
Дата: 19.01.2009 11:07:14
Ну а текст сообщения не понятен что ли ?
Владимир М.
Дата: 19.01.2009 11:14:27
Metadata information was changed at execution time.
Часто такая ошибка выходит, когда в процессе выполнения пытаются изменить струкутуру таблицы.

P_POLICY"' was reported to have a DBTYPE of 130 at compile time and 5 at run time].
"Тип поля P_POLICY во время компиляции был тип == 130, а во время исполнения == 5"
nbIx
Дата: 19.01.2009 11:20:23
Это видимо какой то глюк провайдера, потому что пробовалось раз 5 и во время исполнения ничего не менялось...

Выход то есть, если использовать конструкцию

OPENQUERY('Имя линкованного сервера', 'Текст запроса').

Но дело, в том, что эту конструкцию не очень то удобно юзать....