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

Откуда: Санкт-Петербург
Сообщений: 177
Был SQL2005 32-bit c прилинкованным сервером Oracle 8.1.7. Теперь базы переносятся на другой сервер SQL2005, уже 64-bit и необходимо прилинковать этот сервер Oracle к новому серверу БД. Так как провайдера встроенного Oracle Provider for OLE DB для 64-bit систем нет, то они были загружены с сайта Oracle (64-bit ODAC 11.2 Release 4 (11.2.0.3.0) for Windows x64). После установки их на сервер в списке провайдеров появился Oracle Provider for OLE DB.
Далее попытке создать прилинкованный сервер получаю следующее сообщение.

Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "OracleServer".
OLE DB provider "OraOLEDB.Oracle" for linked server "OracleServer" returned message "ORA-12154: TNS:could not resolve the connect identifier specified". (Microsoft SQL Server, Error: 7303)

Вроде при создании сервера все параметры правильные - делал аналогично старому серверу.
Куда дальше рыть?
12 апр 12, 13:31    [12405463]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Виктор111111
Member

Откуда:
Сообщений: 61
может tnsnames.oRA посмотреть? Там все правильно?
12 апр 12, 13:36    [12405503]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Ivan Durak
Member

Откуда: Minsk!!!
Сообщений: 3663
на форум оракла рыть. Оно говорит что таки видимо параметры неправильные.
12 апр 12, 13:37    [12405509]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
Виктор111111,

Это где находится и что там должно быть?
12 апр 12, 13:37    [12405513]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Виктор111111
Member

Откуда:
Сообщений: 61
C:\ORACLE\client_1\network\admin
Содержание примерно такое:

ДатаСоурс=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = МойСервис)
)
)
12 апр 12, 13:41    [12405550]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Виктор111111
Member

Откуда:
Сообщений: 61
Можно попробовать создать его оракловой утилитой NetManager
12 апр 12, 13:42    [12405557]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
Виктор111111,

Нет на новом сервере такого файла, есть такой в папке Sample, но это насколько я понимаю образец. А на старом есть. Можно ли его перенести со старого сервера?
12 апр 12, 13:50    [12405620]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Виктор111111
Member

Откуда:
Сообщений: 61
Если сервер Оракла не менялся, то можно
12 апр 12, 13:53    [12405651]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Виктор111111
Member

Откуда:
Сообщений: 61
Вот еще на всякий случай по теме: https://www.sql.ru/forum/actualthread.aspx?tid=335017
12 апр 12, 13:56    [12405682]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
Виктор111111,

Я так понял из прочтения что оракловый клиент ставить обязательно, одним 64-bit ODAC 11.2 Release 4 (11.2.0.3.0) for Windows x64 не обойтись? Я на сайте не нашел отдельного клиента. Правильно ли я понял что придется качать всю Oracle Database 11g Release 2
Standard Edition, Standard Edition One, and Enterprise Edition (а это 2 Гб), а потом ставить из нее клиента?
12 апр 12, 14:27    [12405947]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Виктор111111
Member

Откуда:
Сообщений: 61
Тут я уже боюсь Вас запутать. Я не специалист в этом деле. Сам ставил клиента вот отсюда скачанного: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html
12 апр 12, 14:35    [12406011]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
Виктор111111,

Спасибо, нашел клиента по ссылке
12 апр 12, 14:43    [12406093]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
Вообщем сделал все как в статье. Получил

Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "OracleServer".
OLE DB provider "OraOLEDB.Oracle" for linked server "PARUS_INT" returned message "ORA-03134: Connections to this server version are no longer supported.". (Microsoft SQL Server, Error: 7303)

То есть получается что клиент для Oracle Database 11g 64-bit не поддерживает подключените к Oracle 8.1.7?
Тогда какой максимальный клиент поддерживает Oracle 8.1.7 и устанавливается на MS Windows Server 2008?
Или что еще можно сделать?
13 апр 12, 16:57    [12413459]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
nezhadnye_my
Guest
1.Install a 32 bit Oracle Client.
2.Install a SQLExpress x32 and have a linked server created in it to
connect to Oracle x32.
3.Create another Linked Server in SQL Server x64 to connect to SQLExpress x32 (SQL Server x64--->SQLExpress x32--->Oracle x32)

from:
http://social.msdn.microsoft.com/Forums/eu/sqldatabaseengine/thread/3160c55e-9060-4ffc-9e63-90d381742851
13 апр 12, 18:14    [12413823]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Deniro
Member

Откуда: град Подмосковье
Сообщений: 84
mism
Вообщем сделал все как в статье. Получил

Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "OracleServer".
OLE DB provider "OraOLEDB.Oracle" for linked server "PARUS_INT" returned message "ORA-03134: Connections to this server version are no longer supported.". (Microsoft SQL Server, Error: 7303)

То есть получается что клиент для Oracle Database 11g 64-bit не поддерживает подключените к Oracle 8.1.7?
Тогда какой максимальный клиент поддерживает Oracle 8.1.7 и устанавливается на MS Windows Server 2008?
Или что еще можно сделать?


Да, есть такая проблема с Ораклом.
Решение такое:
1. Максимальный релиз Оракл-клиента, поддерживающего версию 8.1.7 - это 10g, я скачивал с сайта Оракл Oracle_10g_v.10.2.04_vista_w2k8_x64_client. Но дальше кроется еще одна проблема... :-))
2. Данный клиент не запустится на Win2K8, скажет, что не знает такой ОС. Чтобы это обойти, надо в файл oraparam.ini (в дистрибутиве клиента, путь по умолчанию Oracle_10g_v.10.2.04_vista_w2k8_x64_client\client\install\oraparam.ini) добавить блок:

Windows=5.0,5.1,5.2,6.0,6.1
...
[Windows-6.1-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300

[Windows-6.1-optional]


3. Ну и еще несколько полезных моментов укажу, для установки этого клиента:
- при инсталляции, на странице Product-Specific Prerequisite Checks ставим галки напротив Checking operating system и Checking service pack - иначе инсталлятор OUI дальше не пропустит
- для установки выбираем компоненты: Oracle Windows Interfaces (Oracle ODBC Driver, Oracle Provider for OLE DB, Oracle Services for Microsoft Transaction Server) и Oracle Net. Oracle Client (Common Files будут выбраны автоматически)
- Копируем в директорию OracleHome\network\admin конфиг-файлы sqlnet.ora и tnsnames.ora (если сам сервак Оракла не менялся)
- Перезапускаем SQL Server
- Linked-сервера должны создаваться с провайдером OraOLEDB.Oracle

Я несколько раз опробывал этот вариант - всегда срабатывал.
16 апр 12, 09:07    [12420814]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
nezhadnye_my
1.Install a 32 bit Oracle Client.
2.Install a SQLExpress x32 and have a linked server created in it to
connect to Oracle x32.
3.Create another Linked Server in SQL Server x64 to connect to SQLExpress x32 (SQL Server x64--->SQLExpress x32--->Oracle x32)

from:
http://social.msdn.microsoft.com/Forums/eu/sqldatabaseengine/thread/3160c55e-9060-4ffc-9e63-90d381742851


А как запросы выполнять через такую связку? Я так понимаю что сущестующие задания придется перенастраивать?
16 апр 12, 15:38    [12423139]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
Deniro
mism
Вообщем сделал все как в статье. Получил

Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "OracleServer".
OLE DB provider "OraOLEDB.Oracle" for linked server "PARUS_INT" returned message "ORA-03134: Connections to this server version are no longer supported.". (Microsoft SQL Server, Error: 7303)

То есть получается что клиент для Oracle Database 11g 64-bit не поддерживает подключените к Oracle 8.1.7?
Тогда какой максимальный клиент поддерживает Oracle 8.1.7 и устанавливается на MS Windows Server 2008?
Или что еще можно сделать?


Да, есть такая проблема с Ораклом.
Решение такое:
1. Максимальный релиз Оракл-клиента, поддерживающего версию 8.1.7 - это 10g, я скачивал с сайта Оракл Oracle_10g_v.10.2.04_vista_w2k8_x64_client. Но дальше кроется еще одна проблема... :-))
2. Данный клиент не запустится на Win2K8, скажет, что не знает такой ОС. Чтобы это обойти, надо в файл oraparam.ini (в дистрибутиве клиента, путь по умолчанию Oracle_10g_v.10.2.04_vista_w2k8_x64_client\client\install\oraparam.ini) добавить блок:

Windows=5.0,5.1,5.2,6.0,6.1
...
[Windows-6.1-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300

[Windows-6.1-optional]


3. Ну и еще несколько полезных моментов укажу, для установки этого клиента:
- при инсталляции, на странице Product-Specific Prerequisite Checks ставим галки напротив Checking operating system и Checking service pack - иначе инсталлятор OUI дальше не пропустит
- для установки выбираем компоненты: Oracle Windows Interfaces (Oracle ODBC Driver, Oracle Provider for OLE DB, Oracle Services for Microsoft Transaction Server) и Oracle Net. Oracle Client (Common Files будут выбраны автоматически)
- Копируем в директорию OracleHome\network\admin конфиг-файлы sqlnet.ora и tnsnames.ora (если сам сервак Оракла не менялся)
- Перезапускаем SQL Server
- Linked-сервера должны создаваться с провайдером OraOLEDB.Oracle

Я несколько раз опробывал этот вариант - всегда срабатывал.



А ставили только клиента? Rjvgjytyns 64-bit Oracle Data Access Components (ODAC) Downloads не ставили?
16 апр 12, 15:47    [12423208]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
nezhadnye_my
Guest
mism
nezhadnye_my
1.Install a 32 bit Oracle Client.
2.Install a SQLExpress x32 and have a linked server created in it to
connect to Oracle x32.
3.Create another Linked Server in SQL Server x64 to connect to SQLExpress x32 (SQL Server x64--->SQLExpress x32--->Oracle x32)

from:
http://social.msdn.microsoft.com/Forums/eu/sqldatabaseengine/thread/3160c55e-9060-4ffc-9e63-90d381742851


А как запросы выполнять через такую связку? Я так понимаю что сущестующие задания придется перенастраивать?


оракла сейчас под рукой нет,
зато есть подобный изврат для обновления аксесса 2003 с 2008-ого 64 bit сервера через Microsoft.Jet.OLEDB.4.0:

execute ('update ACCESS_2003...MY_TABLE set MyCol = 0') at SQL2005
16 апр 12, 18:02    [12423942]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
mism
Member

Откуда: Санкт-Петербург
Сообщений: 177
Сделал по рекомендациям уважаемого Deniro и все получилось. Даже Oracle Data Access Components не пришлось ставить.
18 апр 12, 09:56    [12431121]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Silin Anton
Member

Откуда:
Сообщений: 4
Добрый день. столкнулся с такой же проблемой. Нужно пролинковать 9 сервер Oracle с Sql Server 2008 R2 x64.
Нашел 10 клиент x64, пробую его утстановить как написано по ссылке http://www.mssqltips.com/sqlservertip/1433/how-to-setup-linked-servers-for-sql-server-and-oracle-64-bit-client/ но ничего не получается. Драйвер OraOLEDB.Oracle не появляется, так же драйвер для ODBC так же не появляется.(До этого пробовал ставить 11 версию все сразу появилось, но не линковалось из-за старой версии сервера оракла). Попробовал все методы что описаны здесь, так же не помогает. SQL Plus 10 версии нормально подключается к серверу, а Menegment Studio не видит данного провайдера.
Подскажите что делать дальше?
Так же может те кто уже сталкивался с данной проблемой имеют корректные инсталляторы:
Install Oracle 10g Release 2 64-bit client software
Install Oracle 10g Release 2 64-bit ODAC software
20 фев 13, 14:48    [13955091]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
Silin Anton
Подскажите что делать дальше?

Опубликовать полную версию вашего sql server-а
20 фев 13, 14:49    [13955099]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Silin Anton
Member

Откуда:
Сообщений: 4
Product -Microsoft SQL Server Express Edition with Advanced Services (64-bit)
Version - 10.50.1600.1
Operating Sistem - Microsoft Windows NT 6.1 (7601)
Еще уточнение пробую пока сделать все на своей машине(win 7 x64 professional en) на localhost
20 фев 13, 15:15    [13955298]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Silin Anton
Member

Откуда:
Сообщений: 4
Glory
Silin Anton
Подскажите что делать дальше?

Опубликовать полную версию вашего sql server-а

Это как ?
20 фев 13, 15:17    [13955312]     Ответить | Цитировать Сообщить модератору
 Re: Прилинковка сервера Oracle  [new]
Silin Anton
Member

Откуда:
Сообщений: 4
Все победил.
Всем на будущее для windows 7 x64 и скорее всего windows server 2008 x64 (еще не пробовал, но надеюсь) нужно устанавливать клиента не ниже версии 10.2.0.4. 10.2.0.1 и 10.2.0.2 точно не работают. После установки клиента версии 10.2.0.4 сразу же появился и ODBC драйвер и OraOLEDB.Oracle в Managment Studio.
Создать сервер можно следующими командами :
EXEC sp_addlinkedserver '<имя сервера>', 'Oracle', 'OraOLEDB.Oracle', 'TNC'
EXEC sp_addlinkedsrvlogin '<имя сервера>', 'FALSE', NULL, '<login>', '<password>'
Обязательно проставьте галочки на OraOLEDB.Oracle - 'Allow in process' и/или 'Dynamic parameters'
На созданном сервере поставьте следующие значения в true - RPC и RPC out

Один большущий косяк на сайте Oracle вы не найдете нормального инсталятора клиента 10 версии.Мы сколько не искали так и не смогли это сделать.

Ссылка в помощь для установки
http://www.mssqltips.com/sqlservertip/1433/how-to-setup-linked-servers-for-sql-server-and-oracle-64-bit-client/.

PS инсталятор так же выдаст ошибку, которая исправляется добавлением значения 6.1 в oraparam.ini как написано выше.
21 фев 13, 09:18    [13958746]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить