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

Откуда:
Сообщений: 15
Возможно уже обсуждалось, но не нашел поиском.

Проблема:

Есть SQL 2005 R2
Есть Oracle 10g к которому нужно создать линкед сервер.

На машине с SQL установлен ODAC112021Xcopy_32bit (драйвера, instant_client)

При помощи SQL*Plus я подключаюсь к базе нормально.

При попытке создать linked server -

------------------------------

Cannot create an instance of OLE DB provider "OraOLEDB.Oracle" for linked server "Q". (Microsoft SQL Server, Error: 7302)

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4053&EvtSrc=MSSQLServer&EvtID=7302&LinkId=20476

------------------------------

OK
------------------------------



При попытке подключиться как к Data source для импорта данных -
---------------------------
Ошибка связи с данными (Microsoft)
---------------------------
Не выполнена проверка подключения из-за ошибки при инициализации поставщика. Не найден клиент Oracle и сетевые компоненты. Компоненты предоставляются корпорацией Oracle и входят в клиентское программное обеспечение Oracle версии 7.3.3 или более поздней.

Невозможно использовать данного поставщика, пока не будут установлены эти компоненты.
---------------------------
ОК
---------------------------


Т.к. в оракле я не большой специалист (и даже не маленький) то очень надеюсь на помощь клуба.

Заранее, спасибо.

З.Ы. В документации упоминается необходимость установки SQL*Net (net8), но ссылку на скачивание я так и не нашел.
З.Ы.Ы. Все 32х битное.
8 сен 11, 17:00    [11249413]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
но ссылку на скачивание я так и не нашел.


Это пробовали: http://support.microsoft.com/kb/280106
8 сен 11, 21:19    [11250648]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Maksim Smirnov
Member

Откуда:
Сообщений: 15
pkarklin,

Да, кончено.
dll зарегистрирована, Allow InProcess установлен.
9 сен 11, 08:59    [11251535]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
Есть SQL 2005 R2


Нет такого. Приведите результат SELECT @@version.
9 сен 11, 09:32    [11251665]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
Maksim Smirnov,

Либо я еще не проснулся, либо пропустил.
Итак, ваши исходные данные. ОС на котором стоит Oracle? Я так и не понял линк надо из Oracle в MSSQL или наоборот?
9 сен 11, 09:41    [11251707]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Maksim Smirnov
Member

Откуда:
Сообщений: 15
gds
Maksim Smirnov,

Либо я еще не проснулся, либо пропустил.
Итак, ваши исходные данные. ОС на котором стоит Oracle? Я так и не понял линк надо из Oracle в MSSQL или наоборот?



Это я не указал, видимо =)
ОС оракла - неизвестно. Сервер находится в другой организации, но могу узнать. Скорее всго win32.
Линк нужно изпод SQL к Ораклу.
9 сен 11, 10:05    [11251820]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Maksim Smirnov
Member

Откуда:
Сообщений: 15
pkarklin
автор
Есть SQL 2005 R2


Нет такого. Приведите результат SELECT @@version.


Да, я тут немного тупанул.

пробовали с 2х машин. Одна 2008 Р2

Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)   Apr  2 2010 15:48:46   Copyright (c) Microsoft Corporation  Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor) 

другая SQL 2005

Microsoft SQL Server 2005 - 9.00.4053.00 (Intel X86) May 26 2009 14:24:20 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)

Сейчас мучаю 2005
Только что это меняет?
9 сен 11, 10:08    [11251846]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Александр Спелицин
Member

Откуда: Из ближайшего подмосковья.
Сообщений: 2517
Не мучайте боевые сервера, для начала потренируйтесь на кошках виртуальных машинах.
Установите обычный Oracle Client той разрядности, которая у Вашего ПО. Т.е. если MSSQL 32 bit, то ставите 32bit клиента, если 64bit - то соотвтв 64bit клиент.

После установки ораклового клиента настоятельно рекомендуется перезагрузить сервер.
9 сен 11, 10:28    [11252004]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Maksim Smirnov
Member

Откуда:
Сообщений: 15
Александр Спелицин
Не мучайте боевые сервера, для начала потренируйтесь на кошках виртуальных машинах.
Установите обычный Oracle Client той разрядности, которая у Вашего ПО. Т.е. если MSSQL 32 bit, то ставите 32bit клиента, если 64bit - то соотвтв 64bit клиент.

После установки ораклового клиента настоятельно рекомендуется перезагрузить сервер.


Да собственно так и делаю. Скачал пакет 11g для win32. Сижу устанавливаю.
9 сен 11, 10:32    [11252027]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
Maksim Smirnov
gds
Maksim Smirnov,

Либо я еще не проснулся, либо пропустил.
Итак, ваши исходные данные. ОС на котором стоит Oracle? Я так и не понял линк надо из Oracle в MSSQL или наоборот?



Это я не указал, видимо =)
ОС оракла - неизвестно. Сервер находится в другой организации, но могу узнать. Скорее всго win32.
Линк нужно изпод SQL к Ораклу.

1. Ставите клиента ораклового.
2. Настраиваете tnsnames.ora, sqlnet.ora
3. создаете dblink
EXEC master.dbo.sp_addlinkedserver @server = N'DBLINK_NAME', @srvproduct=N'odbc_name', @provider=N'OraOLEDB.Oracle', @datasrc=N'oracle_schema_name'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'DBLINKNAME',@useself=N'False',@locallogin=NULL,@rmtuser=N'oracle_user_name',@rmtpassword='Password_Oracle_user'
GO
EXEC master.dbo.sp_serveroption @server=N'DBLINK_NAME', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'DBLINK_NAME', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'DBLINK_NAME', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'DBLINK_NAME', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'DBLINK_NAME', @optname=N'rpc', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'DBLINK_NAME', @optname=N'rpc out', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'DBLINK_NAME', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'DBLINK_NAME', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'DBLINK_NAME', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'DBLINK_NAME', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'DBLINK_NAME', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'DBLINK_NAME', @optname=N'use remote collation', @optvalue=N'true'
9 сен 11, 11:07    [11252313]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Maksim Smirnov
Member

Откуда:
Сообщений: 15
gds,

После установки клиента у меня не появился файл sqlnet.ora (как и сам SQL*Net)
Подозреваю, что проблема в этом, но я его не нашел среди загрузок.

Если покажете слепому мне на нужную ссылку - буду благодарен.
9 сен 11, 11:19    [11252413]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
Maksim Smirnov
gds,

После установки клиента у меня не появился файл sqlnet.ora (как и сам SQL*Net)
Подозреваю, что проблема в этом, но я его не нашел среди загрузок.

Если покажете слепому мне на нужную ссылку - буду благодарен.

Оба файла должны находиться в %Oracle_Home%\NETWORK\ADMIN\ , ну или семпловые файлы. файл sqlnet.ora специфичный и не всегда нужен. т.ч. про него пока забудем.
1. Создаете файл tnsnames.ora через Oracle Net Manager ну или руками по образу и подобию семпла. Или обратитесь к админу организации в которой стоит сервер, возможно он вам его вышлет.
2. Создаете odbc подключение к оракл.
3. Создаете дблинк в MSSQL.

Да, забыл сказать что клиента надо ставить Administrator, иначе не установятся odbc двервера и куча утилит облегчающих настройку коннекта.
9 сен 11, 11:38    [11252593]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
Александр Спелицин
После установки ораклового клиента настоятельно рекомендуется перезагрузить сервер.

+1. Иначе odbc драйвера криво подтянутся или вообще работать откажутся.
9 сен 11, 11:44    [11252655]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Maksim Smirnov
Member

Откуда:
Сообщений: 15
gds
Maksim Smirnov
gds,

После установки клиента у меня не появился файл sqlnet.ora (как и сам SQL*Net)
Подозреваю, что проблема в этом, но я его не нашел среди загрузок.

Если покажете слепому мне на нужную ссылку - буду благодарен.

Оба файла должны находиться в %Oracle_Home%\NETWORK\ADMIN\ , ну или семпловые файлы. файл sqlnet.ora специфичный и не всегда нужен. т.ч. про него пока забудем.
1. Создаете файл tnsnames.ora через Oracle Net Manager ну или руками по образу и подобию семпла. Или обратитесь к админу организации в которой стоит сервер, возможно он вам его вышлет.
2. Создаете odbc подключение к оракл.
3. Создаете дблинк в MSSQL.

Да, забыл сказать что клиента надо ставить Administrator, иначе не установятся odbc двервера и куча утилит облегчающих настройку коннекта.


Качаю 2 ГБ инсталляцию для вин32.

После обеда буду ставить, тестить
9 сен 11, 13:10    [11253394]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
Maksim Smirnov
Качаю 2 ГБ инсталляцию для вин32.

После обеда буду ставить, тестить

Откуда вы взяли 2Гб? вот 652 метра все удовольствие. А для клиента и региться не надо.
9 сен 11, 13:17    [11253463]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Maksim Smirnov
Member

Откуда:
Сообщений: 15
gds
Maksim Smirnov
Качаю 2 ГБ инсталляцию для вин32.

После обеда буду ставить, тестить

Откуда вы взяли 2Гб? вот 652 метра все удовольствие. А для клиента и региться не надо.


Так это клиент. А мне вот выше резонно советовали поднять полное окружение, чтобы на тестовых базах упражняться.
9 сен 11, 14:20    [11254046]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
Maksim Smirnov
Так это клиент. А мне вот выше резонно советовали поднять полное окружение, чтобы на тестовых базах упражняться.

Для "поупражняться" - да. Можете реализовать связь в виртуальных машинах. Но для ДБ-Линка вам нужен только клиент.
9 сен 11, 14:29    [11254129]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Начинающий SQL 2008
Member

Откуда:
Сообщений: 438
Maksim Smirnov,
недавно делал подключение из SQL-сервера к серверу Oracle. Все свои действия задокументировал в Word`е с картинками
Файл прилагаю.

К сообщению приложен файл (Подключение к Oracle.zip - 90Kb) cкачать
9 сен 11, 15:18    [11254545]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Maksim Smirnov
Member

Откуда:
Сообщений: 15
Начинающий SQL 2008
Maksim Smirnov,
недавно делал подключение из SQL-сервера к серверу Oracle. Все свои действия задокументировал в Word`е с картинками
Файл прилагаю.


Спасибо. Качаю.
9 сен 11, 15:21    [11254582]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Начинающий SQL 2008
Все свои действия задокументировал в Word`е с картинками
Мде, Начинающий SQL 2008 такой Начинающий.
Там наверно и 10% необходимого нету. ODBC вместо провайдера ...
10 сен 11, 17:40    [11258588]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Maksim Smirnov
Member

Откуда:
Сообщений: 15
Все заработало.

Ошибка была в том, что я установил instant_client для оракла.
После установки нормального клиента, все заработало.

Спасибо gds за линк на корректный дистрибутив.
Отдельное спасибо Начинающему за доку. Хорошая практика писать такие вот микроинструкции.

Клиента надо поставить на свой локальный коммп той же версии, что у вас на сервере.

той же версии или старше.

Я подключился клиентом 11g к серверу 10g.
12 сен 11, 15:44    [11264631]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Linked server.  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Maksim Smirnov
Отдельное спасибо Начинающему за доку.
Ага, вот так приврали, а куча людей будут мучится делать ровно по ней и обламываться. Медвежья услуга.
Maksim Smirnov
Хорошая практика писать такие вот микроинструкции.
Это да, этим отличается настоящий админ.
12 сен 11, 21:12    [11266318]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить