Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: LINK сервер Oracle  [new]
STsarionov
Member

Откуда:
Сообщений: 105
была такая проблема, помогла установка другой версии оракл клиента. Причем лучше ставить не выборочно, что считаете нужным, а именно полная установка всего что он предлагает. Иногда по 5-6 раз приходилось ставить/сносить разные версии клиента на сервер перед тем как заработает. От чего зависит работоспособность не получилось понять. Но для каждого сервера была найдена своя версия клиента которая на нем работает:)
19 авг 14, 16:26    [16463582]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
o-o
Guest
прошу прощения за принесенную чушь, было помутнение мозгов,
исправляюсь :)
то, что записано в PATH, влияет на то, какой будет запущен SQLPLUS,
при условии, что на компе оба клиента стоят, х32 и х64 :)
и вот если первым идет путь от клиента х32, то SQLPLUS рыпается:
ERROR:
ORA-12560: TNS:protocol adapter error
надо, чтоб запускался тот, к-ый в х64 лежит

провайдер OraOLEDB.Oracle, это, кажись, просто DLL из состава ораклового клиента.
а MSDAORA совсем не в оракловом клиенте лежит, а в %CommonProgramFiles(x86)%\System\Ole DB\msdaora.dll

-----
можем сравнить реестры или содержимое папочек, чтоб понять, почему у вас не работает.
у меня такие же команды по созданию linked server-а, в @provider можно хоть что писать, ему фиолетово,
причем все параметры для sp_addlinkedserver одинаковые на обоих серверах, меняется только провайдер, у х32 это MSDAORA
-----
такой момент:
когда ставишь клиента, предлагается какой-то "минимальный"(175 Мб) и "админский" (под гигабайт)
меня жаба задавила гигабайтный ставить, нафига мне все тулзы.
и что?
он же в "минимальном" виде как минимум не создает подпапки network -> admin, куда надо класть tnsnames.ora, a че за клиент, в к-ом не лежит его tnsnames?
ну ладно папки могу руками создать, туда tnsnames положить, но может он и в реестре чего-то не дописывает, а я еще буду угадывать, чего он не дописал???
в общем, жабу пришлось принести в жертву, а как только был поставлен ПОЛНЫЙ клиент,
у меня все заработалo

т.е. я плюсую к STsarionov,
надо "админского" клиента ставить, а утилиты можно потом снести, инсталлятор дает их по одному выбрать для uninstall.
зато все, что надо, создаст и пропишет.
подозреваю, он у вас просто не находит, где лежит этот OraOLEDB.dll,
т.к. кое-кто это в реестре не прописал
21 авг 14, 02:22    [16471531]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
o-o
он же в "минимальном" виде как минимум не создает подпапки network -> admin, куда надо класть tnsnames.ora, a че за клиент, в к-ом не лежит его tnsnames?
А вот это как раз элементарно...
"Необходимо и достаточно" прописать переменную окружения TNS_ADMIN, куда прописывается путь к tnsnames.ora
21 авг 14, 10:17    [16472151]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
o-o
Guest
sphinx_mv,

это было всего лишь наблюдение "походу заодним", а вовсе не проблема :)
лучше скажите, где именно в реестре прописывается путь к OraOLEDBхх.dll, считываемый SQL Server-ом.
ТС сразу проверит наличие сего пути в реестре, ну и что действительно dll там лежит
21 авг 14, 10:48    [16472388]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
o-o
Guest
вот тут на эту же тему:
Cannot create an instance of OLE DB provider ‘OraOLEDB.Oracle’ for linked server
но самое интересное, что у меня в реестре на том же месте в провайдерах вообще нет OraOLEDB.Oracle,
а если просто по OraOLEDB.Oracle искать, то много где он есть, но только не в Providers.
да и путь к нему никак не указан.
а если искать на путь, где лежит dll, то попадают оракловые ветки,
там он болтается под OLEDB.
но если я там меняю путь, чтоб он его больше не нашел, все равно он находит и ошибку я не получаю
21 авг 14, 11:16    [16472653]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
o-o
sphinx_mv,

это было всего лишь наблюдение "походу заодним", а вовсе не проблема :)
лучше скажите, где именно в реестре прописывается путь к OraOLEDBхх.dll, считываемый SQL Server-ом.
ТС сразу проверит наличие сего пути в реестре, ну и что действительно dll там лежит
Вообще-то, очень не факт, что для другой версии клиента будет тот же самый, но у меня в реестре это лежит по HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3F63C36E-51A3-11D2-BB7D-00C04FA30080}\InprocServer32

А вообще... Полезно MSDN пользоваться... Registry Entries
21 авг 14, 11:35    [16472789]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
o-o
вот тут на эту же тему:
Cannot create an instance of OLE DB provider ‘OraOLEDB.Oracle’ for linked server
но самое интересное, что у меня в реестре на том же месте в провайдерах вообще нет OraOLEDB.Oracle,
а если просто по OraOLEDB.Oracle искать, то много где он есть, но только не в Providers.
да и путь к нему никак не указан.
а если искать на путь, где лежит dll, то попадают оракловые ветки,
там он болтается под OLEDB.
но если я там меняю путь, чтоб он его больше не нашел, все равно он находит и ошибку я не получаю
regsvr32
21 авг 14, 11:41    [16472865]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
o-o
Guest
sphinx_mv,

чего бы это мне регистрировать, когда у меня и так все работает
+ sp_enum_oledb_providers и так мне выдает всех нужных провайдеров?
21 авг 14, 12:13    [16473193]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
sphinx_mv
Member [заблокирован]

Откуда:
Сообщений: 1672
o-o
sphinx_mv,

чего бы это мне регистрировать, когда у меня и так все работает
Не только регистрировать, но и удалять регистрацию. И это относилось к
o-o
но если я там меняю путь, чтоб он его больше не нашел, все равно он находит
Уж чем менять в реестре путь с непредсказуемым результатом, лучше c соотвествующими COM-объектами разобраться.
o-o
+ sp_enum_oledb_providers и так мне выдает всех нужных провайдеров?
Кстати, поле "Parse Name" в выдаче этой процедуры возвращает CLSID провайдера...
21 авг 14, 12:40    [16473434]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
o-o
Guest
sphinx_mv
это относилось к
o-o
но если я там меняю путь, чтоб он его больше не нашел, все равно он находит
Уж чем менять в реестре путь с непредсказуемым результатом, лучше c соотвествующими COM-объектами разобраться.


во блин, ожидалось предсказуемо: это была попытка проверить, оттуда ли путь черпается.
ибо если оттуда, а его изменить, то работать перестанет.
типа указать ТС, где проверить, прописалось ли.
вы вот сейчас стараетесь холивар развести с миллионом цитирований или просто забыли, чего ТС-то хотел?

sphinx_mv
Кстати, поле "Parse Name" в выдаче этой процедуры возвращает CLSID провайдера...


да ну
трудно не заметить, да
очкарики, как ни странно, тоже читать умеют
классно мне тут придумали, что "о-о" это очкарик, а че, мне нравится :)
отвалю-ка я отсюда, у меня и так работает, а то щас раздуют бубль гум побольше: август/скучно
а за Registry Entries спасибо
21 авг 14, 12:58    [16473577]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Microsoft SQL Server Ответить