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

Откуда: большая деревня
Сообщений: 265
Скачал с сайта Oracle клиента, установил. В ODBC прописал коннект, тест соединения проходит.
Пытаюсь создать линкованный сервер в SQL и соединение не устанавливается.
В поиске google и по форуму рылся.
USE [master]
GO

/****** Object:  LinkedServer [MIXX]    Script Date: 13.08.2014 17:33:02 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'MIXX', @srvproduct=N'mixx', @provider=N'OraOLEDB.Oracle', @datasrc=N'mixx'
 /* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'MIXX',@useself=N'False',@locallogin=NULL,@rmtuser=N'mixxcc',@rmtpassword='########'

GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'collation compatible', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'data access', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'dist', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'pub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'rpc', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'rpc out', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'sub', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'connect timeout', @optvalue=N'0'
GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'collation name', @optvalue=null
GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'lazy schema validation', @optvalue=N'false'
GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'query timeout', @optvalue=N'0'
GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'use remote collation', @optvalue=N'true'
GO

EXEC master.dbo.sp_serveroption @server=N'MIXX', @optname=N'remote proc transaction promotion', @optvalue=N'false'
GO


Пробую:
declare @sql_string1 varchar(max)
set @sql_string1 = 'select * from mixx.vie_cc_active_numbers'

EXECUTE (@sql_string1) AT [MIXX];


Сообщение 7302, уровень 16, состояние 1, строка 4
Не удалось создать экземпляр поставщика OLE DB "OraOLEDB.Oracle" для связанного сервера "MIXX".

К сообщению приложен файл. Размер - 47Kb
13 авг 14, 17:41    [16437987]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
Разрядность клиента соответствует разрядности сервера?
13 авг 14, 18:02    [16438095]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
o-o
Guest
@srvproduct = 'Oracle'?
13 авг 14, 18:10    [16438148]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
zatar86
Member

Откуда: СПБ
Сообщений: 228
В св-вах провайдера (Oracle provider for OLE DB) включи Allow inprocess
13 авг 14, 18:26    [16438222]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
virtuOS
Member

Откуда: большая деревня
Сообщений: 265
автор
Разрядность клиента соответствует разрядности сервера?

Разрядность сервера не знаю, клиент x64. Не понимаю, почему это важно, из GUI соединение-то устанавливается.

автор
@srvproduct = 'Oracle'?

Заменил, ошибка та же. За что отвечает этот параметр? Мне казалось, он должен соответствовать TNS name из конфигурационного файла.

автор
В св-вах провайдера (Oracle provider for OLE DB) включи Allow inprocess

Включено.

Может быть, что ms sql не видит установленный драйвер?
13 авг 14, 19:24    [16438379]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7868
автор
GUI соединение-то устанавливается.

GUI драйвера, а не сервера.
Не видеть может как раз по причине разной битности. Проще всего это проверить через GUI сервера, драйвер должен быть в списке, если поддерживается.
13 авг 14, 19:40    [16438415]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
virtuOS
Member

Откуда: большая деревня
Сообщений: 265
автор
драйвер должен быть в списке, если поддерживается.

Тьфу, я первоначально подумал, что речь идет о сервере Oracle.
SQL также x64, в поставщиках драйвер есть.
14 авг 14, 09:13    [16439397]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104760
virtuOS
SQL также x64, в поставщиках драйвер есть.

У вас Connection success для ODBC, а скрипт для OLEDB
14 авг 14, 10:53    [16439953]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
EvAlex
Member

Откуда: Israel
Сообщений: 1001
regsvr32.exe Oracle_Installation_Folder\BIN\OraOLEDB11.dll
14 авг 14, 15:40    [16442035]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
virtuOS
Member

Откуда: большая деревня
Сообщений: 265
Glory
virtuOS
SQL также x64, в поставщиках драйвер есть.

У вас Connection success для ODBC, а скрипт для OLEDB

Согласен. Но это не объясняет, почему не работает и где искать ошибку.

В порядке бреда попробовал подключить связанный сервер через ODBC (через такую строку у меня подключен MySQL сервер)

автор
EXEC master.dbo.sp_addlinkedserver @server = N'MIXX_4', @srvproduct=N'MIXX', @provider=N'MSDASQL', @datasrc=N'MIXX'
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'MIXX_4',@useself=N'False',@locallogin=NULL,@rmtuser=N'mixxcc',@rmtpassword='########'

Получил ошибку
Поставщик OLE DB "MSDASQL" для связанного сервера "MIXX_4" вернул сообщение "Не удается загрузить указанный драйвер из-за системной ошибки  1114: 
Произошел сбой в программе инициализации библиотеки динамической компоновки (DLL). (Oracle in OraClient12Home1, C:\ORA\product\12.1.0\client_2\SQORA32.DLL).".
14 авг 14, 16:54    [16442522]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
Konst_One
Member

Откуда:
Сообщений: 11540
поставьте x64 oracle client
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/database12c-win64-download-1968077.html
14 авг 14, 17:03    [16442560]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
virtuOS
Member

Откуда: большая деревня
Сообщений: 265
Ставил ODAC121012_x64.zip отсюда http://www.oracle.com/technetwork/database/migration/index-090165.html
Не то?
14 авг 14, 17:35    [16442753]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
Konst_One
Member

Откуда:
Сообщений: 11540
это тоже самое только + ODAC
14 авг 14, 17:40    [16442795]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
Konst_One
Member

Откуда:
Сообщений: 11540
а что вернёт :

select @@version
14 авг 14, 17:42    [16442815]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
virtuOS
Member

Откуда: большая деревня
Сообщений: 265
Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 
	Dec 28 2012 20:23:12 
	Copyright (c) Microsoft Corporation
	Express Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)
14 авг 14, 17:56    [16442880]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
Konst_One
Member

Откуда:
Сообщений: 11540
Oracle in OraClient12Home1, C:\ORA\product\12.1.0\client_2\SQORA32.DLL

а почему у вас 32bit провайдер настроен в TNSNAMES.ORA ?
14 авг 14, 17:58    [16442886]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
Konst_One
Member

Откуда:
Сообщений: 11540
%ORACLE_HOME% проверьте в Environment Variables
14 авг 14, 18:05    [16442907]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
jimm3rs
Guest
Чем завершилось?
19 авг 14, 02:28    [16459876]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
virtuOS
Member

Откуда: большая деревня
Сообщений: 265
jimm3rs
Чем завершилось?

Пока ничем. Как я понял, sql почему-то использует 32-х разрядный драйвер.
У меня есть ещё один сервер, 32-х разрядный, попробую на нем настроить, и потом использовать его как посредник.
19 авг 14, 09:49    [16460352]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104760
Зайдите на консоль сервера. Желательно под учетной записью mssql.
Создайте на десктопе файл test.udl
Нажмите на нем два раза мышой.
Вы там видите своего OLEDB провайдера ?
Если нет, то его никто не видит
Вы можете для этого провайдера создать соединение с нужным сервером ? Test connection работает ?
Если не работает, то никто не может тогда создать такое соединение.
19 авг 14, 10:53    [16460729]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
o-o
Guest
virtuOS
jimm3rs
Чем завершилось?

Пока ничем. Как я понял, sql почему-то использует 32-х разрядный драйвер.
У меня есть ещё один сервер, 32-х разрядный, попробую на нем настроить, и потом использовать его как посредник.


у меня щас нет оракла, не могу проверить, но у меня такое было.
стояли оба оракловых клиента, причем для pl/sql developer-а нужен был х32,
а для linked server-а х64, тк мой сервер был х64.
так можно настроить, чтоб каждая программа свой пользовала.
вроде SQL Server использует тот, к-ый РАНьШЕ находится в переменной среды PATH
19 авг 14, 11:55    [16461304]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104760
o-o
вроде SQL Server использует тот, к-ый РАНьШЕ находится в переменной среды PATH

Вы считаете, что информация о провайдерах берется из PATH ???
19 авг 14, 12:00    [16461368]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
o-o
Guest
Glory,

слушайте, у меня он НЕ ХОТЕЛ с ораклом дружить,
пока не стал использоваться оракловый клиент х64,
и вот он использовался именно если ЕГО оставить в PATH.
я понятия не имею, как что там организовано, когда а что-то понимаю, то не пишу "вроде",
а ссылку на документацию привожу.
у меня заработало после указания в пути к оракловому клинету х64,
а поможет это ТС или нет, не знаю.
сейчас оракл не могу поставить, может дома вечером. отпишусь.

я вообще не понимаю, кто там провайдер, кто клиент.
но пишу именно про ораклового клиента, вот тот самый путь: C:\ORA\product\12.1.0\client_2
их у меня было два.
19 авг 14, 12:44    [16461752]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104760
o-o
слушайте, у меня он НЕ ХОТЕЛ с ораклом дружить,
пока не стал использоваться оракловый клиент х64,
и вот он использовался именно если ЕГО оставить в PATH.

Он - это кто ?

o-o
я вообще не понимаю, кто там провайдер, кто клиент.

Вот именно.
19 авг 14, 12:47    [16461783]     Ответить | Цитировать Сообщить модератору
 Re: LINK сервер Oracle  [new]
o-o
Guest
он = SQL Server.
щас назло откопаю оракл и поставлю.
где не понимаю, я честно признаюсь.
но зачем бы мне врать, что вот так у меня работало???
кстати, если не заработает, я все равно отпишусь
19 авг 14, 12:58    [16461849]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить