Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как создать linked server oracle 11g XE на MS SQL 2005 / 25 сообщений из 41, страница 1 из 2
05.02.2018, 13:32
    #39596724
гр к
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
Создал системный dsn с названием sc, запускаю системные хранимые процедуры - всё ок вроде бы.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
sp_dropserver 'ora11', 'droplogins'; 
EXEC master.dbo.sp_addlinkedserver @server = N'ora11'
, @srvproduct=N'Oracle'
,@provider=N'Oracle in XE'  
--, @datasrc=N'ora11gxe_32';
, @datasrc=N'sc';

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'ora11'
,@useself=N'False'
,@locallogin=NULL
,@rmtuser='SCOTT'
,@rmtpassword='TIGER';



При селекте select * from ora11..SCOTT.EMP;
Получаю ошибку
Msg 7403, Level 16, State 1, Line 1
The OLE DB provider "Oracle in XE" has not been registered.
Какие исправление на что нужны?
...
Рейтинг: 0 / 0
05.02.2018, 13:42
    #39596735
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
гр к,

какой то у вас сомнительный провайдер в виде 'Oracle in EX', обычно для соединения используют 'ORAOLEDB.Oracle'
...
Рейтинг: 0 / 0
05.02.2018, 13:55
    #39596746
гр к
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
felix_ffгр к,

какой то у вас сомнительный провайдер в виде 'Oracle in EX', обычно для соединения используют 'ORAOLEDB.Oracle'
Это я из панели администрирования ODBC взял. Видимо, в процедуре он иначе должен называться.
Вопрос в том, как именно.
DSN я создавал именно на этом провайдере.
Может у кого-то уже есть аналогичный успешный опыт.
Может, какое-то иное нужно исправление.

Если использовать в процедуре Provider=MSDASQL, то при селекте select * from ora11..SCOTT.EMP;
ошибка
Msg 7318, Level 16, State 1, Line 1
The OLE DB provider "MSDASQL" for linked server "ora11" returned an invalid column definition for table ""SCOTT"."EMP"".
...
Рейтинг: 0 / 0
05.02.2018, 14:00
    #39596751
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
гр к,

я же Вам написал какой провайдер используют для подключения к оракловым серверам.
Если хотите использовать oledb прослойку для odbc тогда вам data source надо менять на dsn созданого алиаса в odbc.
...
Рейтинг: 0 / 0
05.02.2018, 14:15
    #39596767
гр к
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
felix_ffгр к,
...
Если хотите использовать oledb прослойку для odbc тогда вам data source надо менять на dsn созданого алиаса в odbc.
Я так и сделал. Для Postgre всё ок, а с oracle xe вышеприведенная ошибка
Msg 7318, Level 16, State 1, Line 1
The OLE DB provider "MSDASQL" for linked server "ora11" returned an invalid column definition for table ""SCOTT"."EMP"".

Из экселя причем ч-з VBA норм коннекчусь.
...
Рейтинг: 0 / 0
05.02.2018, 14:32
    #39596784
ыарт
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
Код: sql
1.
exec sp_enum_oledb_providers
...
Рейтинг: 0 / 0
05.02.2018, 16:35
    #39596912
гр к
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
UDL-файл норм:
udl[oledb]
; Everything after this line is an OLE DB initstring
Provider=MSDASQL.1;Password=TIGER;Persist Security Info=True;User ID=SCOTT;Data Source=sc


Excel и Access коннектятся без проблем, а MS SQL Server почему-то нет.
Эх.
...
Рейтинг: 0 / 0
05.02.2018, 16:54
    #39596934
KRS544
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
Провайдеры
OraOLEDB.Oracle - Oracle OLE DB
MSDASQL - MS OLEDB для ODBC

Есть еще OLE DB от микрософта, но не рекомендую
...
Рейтинг: 0 / 0
05.02.2018, 16:57
    #39596939
KRS544
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
...
Рейтинг: 0 / 0
05.02.2018, 17:45
    #39596990
гр к
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
KRS544, т.е. нужно ещё и клиента Оракла и OLE DB драйвер оракловый ставить специально?
И СКЛ Сервер, и Оракл Экспресс у меня на 1 компе находятся.
...
Рейтинг: 0 / 0
05.02.2018, 19:02
    #39597046
KRS544
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
Ну а как иначе?
Не знаю, может с Ораклом Экспресс автоматом все ставиться.
...
Рейтинг: 0 / 0
28.09.2018, 11:31
    #39709730
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
Подниму тему.

На SQL Server-e создал Linked Server к Oracle 12c. Проверяю соединение - ок. Пытаюсь раскрыть структуру каталогов - получаю ошибку 7403 "Поставщик OLE DB "OraOLEDB.Oracle" не зарегистрирован.

Ок.

Нахожу библиотеку OraOLEDB12.dll, регистрирую её при помощи regsvr32.exe, регистрация успешна.

Пытаюсь раскрыть структуру каталогов снова - получаю ошибку 7311 "Не удалось получить набор строк схемы "DBSCHEMA_TABLES" поставщика OLE DB "OraOLEDB.Oracle" для связанного сервера. Поставщик поддерживает интерфейс, но возвращает код ошибки при его использовании.

На использовании именно этого провайдера не настаиваю.
Вопрос - куда копать и что делать?

Установленные драйверы ODBC для оракла в системе: Oracle in Oracle, Oracle in OraClient12Home1, Oracle in OraClient12Home2 (файл SQORA32.DLL).

Так... Что ещё?
Система: Windows Server 2008 R2 Enterprise Service Pack 1 (6.1.7601), 64 разрядная.
MS SQL Server 2012(SP4), 64 разрядный.

P.S. Кажется, вчера в списке драйверов стояли ещё OraOLEDB.Oracle - Oracle OLE DB и
MSDASQL - MS OLEDB для ODBC. Куда пропали - не в курсе.
...
Рейтинг: 0 / 0
28.09.2018, 11:38
    #39709739
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
строка создания linked server-a:
EXEC master.dbo.sp_addlinkedserver @server = N'Name', @srvproduct=N'Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'192.168.16.51:1521/Name'
...
Рейтинг: 0 / 0
28.09.2018, 11:40
    #39709743
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
DaniilSeryi,
на провайдере AllowInProcess
...
Рейтинг: 0 / 0
28.09.2018, 12:29
    #39709771
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
TaPaKDaniilSeryi,
на провайдере AllowInProcess

В смысле
Код: sql
1.
exec master.dbo.sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'AllowInProcess', 1

?

Сделал ещё вчера. Не помогло.
...
Рейтинг: 0 / 0
28.09.2018, 12:36
    #39709773
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
DaniilSeryi,

я так понимаю что вы 32 разрядный драйвер поставили под x64
...
Рейтинг: 0 / 0
28.09.2018, 12:41
    #39709782
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
TaPaKDaniilSeryi,

я так понимаю что вы 32 разрядный драйвер поставили под x64

Так... Значит, как понимаю, мне предстоит регистрация на сайте oracle, затем качать 64х разрядный драйвер, удалять 32х разрядный драйвер, установка 64х разрядного драйвера, перезагрузка сервера, опять regsvr32.exe, удаление старого linked server-a и создание нового?
...
Рейтинг: 0 / 0
28.09.2018, 12:43
    #39709786
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
DaniilSeryiTaPaKDaniilSeryi,

я так понимаю что вы 32 разрядный драйвер поставили под x64

Так... Значит, как понимаю, мне предстоит регистрация на сайте oracle, затем качать 64х разрядный драйвер, удалять 32х разрядный драйвер, установка 64х разрядного драйвера, перезагрузка сервера, опять regsvr32.exe, удаление старого linked server-a и создание нового?
можете пообедать ещё.
Линк пересоздавать не надо, по остально читайте
...
Рейтинг: 0 / 0
28.09.2018, 12:45
    #39709787
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
DaniilSeryiTaPaKDaniilSeryi,

я так понимаю что вы 32 разрядный драйвер поставили под x64

Так... Значит, как понимаю, мне предстоит регистрация на сайте oracle, затем качать 64х разрядный драйвер, удалять 32х разрядный драйвер, установка 64х разрядного драйвера, перезагрузка сервера, опять regsvr32.exe, удаление старого linked server-a и создание нового?Рекомендую повременить с удалением 32-битного. Сам не плавал, но слыхал от сотрудника, которому приходится мучаться с ораклом, что 64-битный драйвер якобы использует какие-то файлы из 32-битного. Когда он у себя удалил 32-битный, все отвалилось, пока не вернул его обратно.
...
Рейтинг: 0 / 0
28.09.2018, 12:51
    #39709792
KRS544
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
DaniilSeryiПодниму тему.
"Поставщик OLE DB "OraOLEDB.Oracle" не зарегистрирован.

Установленные драйверы ODBC для оракла в системе: Oracle in Oracle, Oracle in OraClient12Home1, Oracle in OraClient12Home2 (файл SQORA32.DLL).

Oracle OLEDB точно ставили? На нем надо отдельно галку ставить при установке, если не ошибаюсь
ODAC
регистрировать с regsvr32.exe точно не надо было никогда.
В [Линкед сервер]\[поставщики] должен появиться [OraOLEDB.Oracle]
...
Рейтинг: 0 / 0
28.09.2018, 12:57
    #39709799
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
KRS544DaniilSeryiПодниму тему.
"Поставщик OLE DB "OraOLEDB.Oracle" не зарегистрирован.

Установленные драйверы ODBC для оракла в системе: Oracle in Oracle, Oracle in OraClient12Home1, Oracle in OraClient12Home2 (файл SQORA32.DLL).

Oracle OLEDB точно ставили? На нем надо отдельно галку ставить при установке, если не ошибаюсь
ODAC
регистрировать с regsvr32.exe точно не надо было никогда.
В [Линкед сервер]\[поставщики] должен появиться [OraOLEDB.Oracle]

Эти занимался другой человек давным-давно, но в списке поставщиков OraOLEDB.Oracle в наличии.
...
Рейтинг: 0 / 0
28.09.2018, 12:59
    #39709801
KRS544
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
Ennor TiegaelDaniilSeryiпропущено...


Так... Значит, как понимаю, мне предстоит регистрация на сайте oracle, затем качать 64х разрядный драйвер, удалять 32х разрядный драйвер, установка 64х разрядного драйвера, перезагрузка сервера, опять regsvr32.exe, удаление старого linked server-a и создание нового?Рекомендую повременить с удалением 32-битного. Сам не плавал, но слыхал от сотрудника, которому приходится мучаться с ораклом, что 64-битный драйвер якобы использует какие-то файлы из 32-битного. Когда он у себя удалил 32-битный, все отвалилось, пока не вернул его обратно.
И 32 и 64 прекрасно уживаются, надо ставить в разные каталоги.
Visual studio работает с 32х драйверами
...
Рейтинг: 0 / 0
28.09.2018, 13:07
    #39709806
KRS544
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
DaniilSeryiЭти занимался другой человек давным-давно, но в списке поставщиков OraOLEDB.Oracle в наличии.

А попробуйте сделать запрос с оракла
Код: sql
1.
select * from OPENQUERY(LINKEDSERVER,'select sysdate from dual')
...
Рейтинг: 0 / 0
28.09.2018, 13:32
    #39709824
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
KRS544DaniilSeryiЭти занимался другой человек давным-давно, но в списке поставщиков OraOLEDB.Oracle в наличии.

А попробуйте сделать запрос с оракла
Код: sql
1.
select * from OPENQUERY(LINKEDSERVER,'select sysdate from dual')



2018-09-28 13:31:26.0000000
...
Рейтинг: 0 / 0
28.09.2018, 13:35
    #39709827
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать linked server oracle 11g XE на MS SQL 2005
Как понимаю, возможен вариант, что логин создан, к серверу логинится, а вот прав на чтение из нужной БД не имеет? Или что-то иное? 64х битные драйвера пока не ставил.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как создать linked server oracle 11g XE на MS SQL 2005 / 25 сообщений из 41, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]