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('Имя линкованного сервера', 'Текст запроса').
Но дело, в том, что эту конструкцию не очень то удобно юзать....