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

Откуда: Спб
Сообщений: 640
Добрый gsmf.cm создать связанный сервер.
EXEC sp_addlinkedserver   'OraLink3',  'Oracle',  'OraOLEDB.Oracle',  'GalaxyBase'
EXEC sp_addlinkedsrvlogin 'OraLink3', 'FALSE',NULL, 'sys', '1234'

в результате все создается, но при попытке просмотреть объекты сервера, например таблички, получаю следующую ошибку

Не удалось проинициализировать объект источника данных поставщика OLE DB "OraOLEDB.Oracle" для связанного сервера "OraLink3". (Microsoft SQL Server, ошибка: 7303)

Oracle поставил 11, Sql serve 2008. Подскажите что я сделал не так.
27 окт 11, 15:08    [11509643]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
naPmu3aH
Member

Откуда: из лесу
Сообщений: 1449
Возможно не под тем пользователем пытается ходить - посмотрите на sp_helplinkedsrvlogin).
И/или включите "Allow inprocess" в свойствах пров...поставщика.
27 окт 11, 16:19    [11510424]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7498
maximIZ,

0. Не помню насчёт регистрочуствительности sp_addlinkedserver @srvproduct , но попробуйте 'ORACLE' вместо 'Oracle'
1. заведите технологическую учётку на стороне оракла, под учёткой sys ломиться не стоит. В нормально настроенном оракле sys без sysdba удалённо не пройдёт.
27 окт 11, 16:26    [11510513]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 640
так все таки не могу понять под кем же надо входить. есть скл пользоваитель sa и есть пользователь оракла (уже даже создал пользователя test - проверил под ним можно зайти в оракл интерпрайз менеджер)

sp_helplinkedsrvlogin возвращает вот что
OraLink3 sa 0 test

ну все вроде верно. все ж должно быть просто. задаем пользователей с обеих сторон и все. ужже который час бьюсь
27 окт 11, 18:15    [11511641]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
naPmu3aH
Member

Откуда: из лесу
Сообщений: 1449
А в SQL Server Management Studio вы точно под 'sa', а не Windows аккаунтом логинитесь?
27 окт 11, 19:04    [11511921]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
maximIZ
Oracle поставил 11,

Поставил означает еще и проверил под учеткой сервера доступность коннекта к GalaxyBase под 'sys', '1234' ?
27 окт 11, 19:08    [11511940]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 640
да логинюсь под sa, проверил под учеткой sys и test цепляется к ораклу если через оракл интерпрайз менеджер проверять
27 окт 11, 19:41    [11512081]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
maximIZ
если через оракл интерпрайз менеджер проверять

tnsping GalaxyBase из xp_cmdshell работает ?
27 окт 11, 20:00    [11512162]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 640
снес нахрен оракл. Давайте начнем попорядку. У меня стоит 2008 скуль 64 битный. следовательно надо воткнуть 64 битный оракл. я прав? или ту похрену какой.
27 окт 11, 22:56    [11512844]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 640
у меня задача переделать одну программу. которая крутится на скл, подцепив один справочник из галактики которая крутится на оракле. я дома пытаюсь поднять оракла чтобы начать наконец то переделывать программу.
27 окт 11, 23:01    [11512874]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
автор
снес нахрен оракл. Давайте начнем попорядку. У меня стоит 2008 скуль 64 битный. следовательно надо воткнуть 64 битный оракл. я прав? или ту похрену какой.


1. Поставить клиент ORACLE (точно не скажу, у анс один дистрибутив, который ставился и на 32х и 64х)
2. Настроить клиент
3. Попробовать подключиться, используя SQL+
4. Настроить LinkedServer
28 окт 11, 08:31    [11513461]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
скрипт для линкед сервера (у меня работает)
EXEC master.dbo.sp_addlinkedserver @server = N'MYORCL', @srvproduct=N'OraOLEDB.Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'здесь алиас, настроенный в клиенте'
 /* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'здесь алиас, настроенный в 
клиенте',@useself=N'False',@locallogin=NULL,@rmtuser=N'user',@rmtpassword='########'
28 окт 11, 08:34    [11513471]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7498
maximIZ,

Ещё раз - НЕ используйте учётку sys для работы с Ораклом. Учётка sys в Оракле предназначена для управления СУБД, а не для кривых девелоперских рук.

Если у вас 64-х битный скуль сервер, то вам однозначно похбез разницы версия ораклового клиента. Т.к. в Management Studio вы один фиг видите 32-х битный интерфейс и при создании и проверке соединения будете использовать 32-х битного провайдера.

Ставьте 64-х битного клиента, настраивайте tnsnames, создаёте в оракле технологическую учётку с достаточными минимальными правами на доступ к объектам, её же используете в линкед сервере.
28 окт 11, 10:11    [11513856]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 640
значит сделал вот что:
1. поставил win64_11gR2_client
2. поставил win64_11gR2_database
3. как настроить клиент так и не понял. возможно вы имели ввиду через net manager. попытался настроить там.
файл tnsnames.ora

DB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = DB)
    )
  )

файл sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

файл listener.ora
LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )

ADR_BASE_LISTENER = D:\app\Maximus\product\11.2.0\client_2\log

я правда не знаю как это должно выглядеть правильно

4. попробовал задействовать sql plus - ввожу пользователя (qwerty) появляется строка с предложением ввести пароль, но ввеести не получается, т.к не реагирует вообще ни на какую клавишу

уже судя по всему что-то не так сделал
28 окт 11, 11:48    [11514608]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7498
maximIZ,

maximIZ
1. поставил win64_11gR2_client
2. поставил win64_11gR2_database

На одном компе? Не надо. В таком случае ставь только (2), а то в HOME-ах запутаешься.
Но раз уж поставил, то ничего пока не сноси.

Уже по приведённым файлам возникает вопрос, из которого HOME ты их брал и для какого настраивал.
Для дальнейшего понадобится cmd, показывай вывод каждой команды.
0. set path
1. lsnrctl status
2. tnsping db
28 окт 11, 12:03    [11514752]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7498
совет
env
В таком случае ставь только (2)

дан в контексте
maximIZ
я дома пытаюсь поднять оракла
28 окт 11, 12:04    [11514759]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 640
занчит настраивал для Oracle - OraClient11g_home2 (а home bd зовется Oracle - OraDb11g_home2)

первая команда выдает следующее:
C:\Users\Администратор>set path
Path=D:\app\Maximus\product\11.2.0\client_2\bin;D:\app\Maximus\product\11.2.0\db
home\bin;D:\oraclexe\app\oracle\product\11.2.0\server\bin;;D:\app\Maximus\produc
t\11.2.0\client_1;C:\Program Files (x86)\PC Connectivity Solution\;C:\Windows\sy
stem32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell
\v1.0\;C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter;C:\Program File
s (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Serv
er\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Progra
m Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Progra
m Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Microsof
t Visual Studio 9.0\Common7\IDE\PrivateAssemblies\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
вторая
C:\Users\Администратор> lsnrctl status

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 28-OCT-2011 12:27
:01

Copyright (c) 1991, 2010, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
ction
Start Date                28-OCT-2011 02:52:39
Uptime                    0 days 9 hr. 34 min. 24 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   D:\app\Maximus\product\11.2.0\dbhome\network\admin\lis
tener.ora
Listener Log File         d:\app\maximus\diag\tnslsnr\SPARTA\listener\alert\log.
xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "DBXDB" has 1 instance(s).
  Instance "db", status READY, has 1 handler(s) for this service...
Service "db" has 1 instance(s).
  Instance "db", status READY, has 1 handler(s) for this service...
The command completed successfully
и третья
C:\Users\Администратор> tnsping db

TNS Ping Utility for 64-bit Windows: Version 11.2.0.1.0 - Production on 28-OCT-2
011 12:28:32

Copyright (c) 1997, 2010, Oracle.  All rights reserved.

Used parameter files:
D:\app\Maximus\product\11.2.0\client_2\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = localhost)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_
NAME = DB)))
OK (80 msec)

C:\Users\Администратор> tnsping db
28 окт 11, 12:29    [11514956]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 7498
maximIZ,

пока что всё выглядит вполне нормально, попробуй подключиться
sqlplus <твой юзер>/<твой пароль>@db
28 окт 11, 12:56    [11515246]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 640
пишет
Connected to Database 11g Enterprice Edition Release 11.2.0.1.0. - 64 bit Production. With the Partitioning, OLAP, Data Mining and Real Application Testing options
28 окт 11, 13:16    [11515425]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 640
Ухты. бл.. заработало. значит что я сделал. включил на SQL Server обозреватель и повключал TCP/IP порты в сетевой конфигурации
28 окт 11, 13:20    [11515444]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
maximIZ
значит что я сделал. включил на SQL Server обозреватель и повключал TCP/IP порты в сетевой конфигурации

В огороде бузина, а в Киеве дядька - вот что это значит
28 окт 11, 13:24    [11515482]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 640
как я понял достаточно было поставить поставил win64_11gR2_database. и все инструменты там уже есть. Оракл сжирает неимоверное количество памяти. под ним крутится 6 процессов (nmesrvc.exe, emagent.exe, omtsreco.exe, oracle.exe, TNSLSNR.exe, sqlplus.exe). Как бы можно было бы облегчить его прожорливость.
28 окт 11, 13:33    [11515555]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
maximIZ
Member

Откуда: Спб
Сообщений: 640
Glory
maximIZ
значит что я сделал. включил на SQL Server обозреватель и повключал TCP/IP порты в сетевой конфигурации

В огороде бузина, а в Киеве дядька - вот что это значит


и что значит эта пословица? абракатабрица какая-то
28 окт 11, 13:35    [11515560]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
maximIZ
как я понял достаточно было поставить поставил win64_11gR2_database.

Зачем вам Oracle server то на одной машине с MS SQL Server ?
28 окт 11, 13:35    [11515564]     Ответить | Цитировать Сообщить модератору
 Re: Связать SQL serve и Oracle  [new]
Glory
Member

Откуда:
Сообщений: 104751
maximIZ
и что значит эта пословица? абракатабрица какая-то

Так говорят о событиях, которые совершенно не связаны между собой
Как и у вас - "я включил sql browser и порты сервера и у меня заработал oracle linked server"
28 окт 11, 13:37    [11515573]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить