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

Нашел старый форум
https://www.sql.ru/forum/actualthread.aspx?tid=10522
но с 10g это не работает.

Кто-нибудь решал такую проблему?
4 апр 08, 14:13    [5504395]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
uin
Member

Откуда:
Сообщений: 202
почему не работает?
4 апр 08, 14:23    [5504475]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
AntRed
Guest
как вариант скачать oracle transparent gateway, настроить, сделать линк в 10ке и вперед. Правда я на сайте у них видел только tg 11g
4 апр 08, 14:23    [5504479]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
uin
почему не работает?


Сделал все как там расписано, при выполнении запроса с дблинком ошибка "ORA-12154: TNS:could not resolve the connect identifier specified".
Нашел на каком-то сайте что для 10g нужно использовать Transparent Gateway, но не хотелось бы его устанавливать.
4 апр 08, 14:27    [5504513]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
AntRed
как вариант скачать oracle transparent gateway, настроить, сделать линк в 10ке и вперед. Правда я на сайте у них видел только tg 11g


Без него нельзя?
ОС - Windows 2003.
4 апр 08, 14:30    [5504539]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
uin
Member

Откуда:
Сообщений: 202
TG есть на диске с 10g, но за него отдельные деньги (лицензия понимаешь)
дескриптор соединения не подхватывается, который вы прописали у клиента в tnsnames.ora
SQLM =
(DESCRIPTION =
(ADDRESS_LIST = 
что говорит tnsping sqlm ? на клиенте
и lsnrctl services ? на сервере
4 апр 08, 15:08    [5504846]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
uin
TG есть на диске с 10g, но за него отдельные деньги (лицензия понимаешь)
дескриптор соединения не подхватывается, который вы прописали у клиента в tnsnames.ora
SQLM =
(DESCRIPTION =
(ADDRESS_LIST = 
что говорит tnsping sqlm ? на клиенте
и lsnrctl services ? на сервере


Источник данных ODBC - тест успешный.


В tnsnames.ora добавил:

SQLM =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = SRV)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = sql1)
    )
  (HS = OK)
  )

tnsping sqlm - ok.


в hs\admin\initsql1.ora

HS_FDS_CONNECT_INFO = sql1


В listener.ora добавил:

(SID_DESC =
(PROGRAM = hsodbc)
(SID_NAME = sql1)
(ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
) 


lsnrctl services ошибок тоже нет, везде статут REАDY.
4 апр 08, 15:49    [5505234]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
DBLink создаю так:

create public database link SQLM
connect to SA identified by "PSW312"
using 'SQLM' 

Выполняю запрос:

SQL> select * from ttt@sqlm;
select * from ttt@sqlm
                  *
ERROR at line 1:
ORA-28545: error diagnosed by Net8 when connecting to an agent
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: preceding 2 lines from SQLM
4 апр 08, 16:13    [5505442]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
?!!
Guest
А случаем не Win2003 x64 и Ora10g x64?
4 апр 08, 16:26    [5505585]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
oleg_dov
Member

Откуда:
Сообщений: 188
mssql_oracle
uin
TG есть на диске с 10g, но за него отдельные деньги (лицензия понимаешь)
дескриптор соединения не подхватывается, который вы прописали у клиента в tnsnames.ora
SQLM =
(DESCRIPTION =
(ADDRESS_LIST = 
что говорит tnsping sqlm ? на клиенте
и lsnrctl services ? на сервере


Источник данных ODBC - тест успешный.


В tnsnames.ora добавил:

SQLM =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = SRV)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = sql1)
    )
  (HS = OK)
  )

tnsping sqlm - ok.


в hs\admin\initsql1.ora

HS_FDS_CONNECT_INFO = sql1


В listener.ora добавил:

(SID_DESC =
(PROGRAM = hsodbc)
(SID_NAME = sql1)
(ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
) 


lsnrctl services ошибок тоже нет, везде статут REАDY.

А листенер рестартовали?
А что в listener status?
4 апр 08, 16:28    [5505615]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
uin
Member

Откуда:
Сообщений: 202
ну вот, а говорите не работает )
далее - какая версия oracle может надо стоит накатить патчсет? 10.2.0.3 ?
4 апр 08, 16:30    [5505634]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
?!!
А случаем не Win2003 x64 и Ora10g x64?


Нет, Win2003 32, Ora10g 32.
4 апр 08, 16:38    [5505707]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
?!!
Guest
А в логе linstner-а что пишут?
4 апр 08, 16:51    [5505819]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
oleg_dov

А листенер рестартовали?
А что в listener status?


Да, и перезагружал комп.

listener status:

LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 04-APR-2008 15:49
:30

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
Start Date                04-APR-2008 15:21:05
Uptime                    0 days 0 hr. 28 min. 26 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   d:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
Listener Log File         d:\oracle\product\10.2.0\db_1\network\log\listener.log

Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=SRV.NT.DOMAIN)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "SRV" has 1 instance(s).
  Instance "SRV", status READY, has 1 handler(s) for this service...
Service "SRVXDB" has 1 instance(s).
  Instance "SRV", status READY, has 1 handler(s) for this service...
Service "SRV_XPT" has 1 instance(s).
  Instance "SRV", status READY, has 1 handler(s) for this service...
The command completed successfully
4 апр 08, 16:51    [5505824]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
uin
Member

Откуда:
Сообщений: 202
а версия та какая?
проверь, есть ли в директории $ORACLE_HOME/bin исполняемый файл hsodbc.exe
4 апр 08, 16:51    [5505826]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
uin
ну вот, а говорите не работает )
далее - какая версия oracle может надо стоит накатить патчсет? 10.2.0.3 ?


Эта версия сейчас на oracle.com выложена.
Да, пора накатить.

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
4 апр 08, 16:55    [5505865]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
?!!
А в логе linstner-а что пишут?


Лог большой...

Забит вот этим

04-APR-2008 16:00:14 * (CONNECT_DATA=(SID=SRV)(CID=(PROGRAM=d:\oracle\product\10.2.0\db_1\bin\emagent.exe)(HOST=SRV)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.93.133)(PORT=2361)) * establish * SRV * 0
04-APR-2008 16:00:15 * (CONNECT_DATA=(SID=SRV)(CID=(PROGRAM=d:\oracle\product\10.2.0\db_1\bin\emagent.exe)(HOST=SRV)(USER=SYSTEM))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.93.133)(PORT=2362)) * establish * SRV * 0
04-APR-2008 16:00:15 * (CONNECT_DATA=(SID=SRV)(CID=(PROGRAM=d:\oracle\product\10.2.0\db_1\bin\emagent.exe)(HOST=SRV)(USER=SYSTEM))) * 
4 апр 08, 17:04    [5505951]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
uin
а версия та какая?
проверь, есть ли в директории $ORACLE_HOME/bin исполняемый файл hsodbc.exe


Есть такой файл.
4 апр 08, 17:06    [5505963]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
?!!
Guest
Странно но sql1 что то не видно в статусе?!
Поищите логе по SERVICE_NAME=sql1
4 апр 08, 17:08    [5505977]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
?!!
Странно но sql1 что то не видно в статусе?!
Поищите логе по SERVICE_NAME=sql1


Ничего нет.
4 апр 08, 17:12    [5505999]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
?!!
Guest
Очень похоже что не корректно listener настроен.
Можете его целиком выложить?
И один ли ORACLE_HOME?
4 апр 08, 17:22    [5506062]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
?!!
Очень похоже что не корректно listener настроен.
Можете его целиком выложить?
И один ли ORACLE_HOME?


ORACLE_HOME один, на сервере 2 БД.
Эта БД для тестов, создавалась при установке, потом была добавлена вторая.

listener.ora

# listener.ora Network Configuration File: d:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )

  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = SRV.NT.DOMAIN)(PORT = 1521))
    )
  )


(SID_DESC =
  (PROGRAM = hsodbc)
    (SID_NAME = sql1)
    (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
) 
4 апр 08, 17:32    [5506153]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
?!!
Guest
Сделай так
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
)
(SID_DESC =
  (PROGRAM = hsodbc)
    (SID_NAME = sql1)
    (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
) 
    

  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = SRV.NT.DOMAIN)(PORT = 1521))
    )
  )

4 апр 08, 17:33    [5506158]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
?!!
Сделай так
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
)
(SID_DESC =
  (PROGRAM = hsodbc)
    (SID_NAME = sql1)
    (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
) 
    

  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = SRV.NT.DOMAIN)(PORT = 1521))
    )
  )




Делал так, вот что выдает:

LSNRCTL> start
Starting tnslsnr: please wait...

TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
System parameter file is d:\oracle\product\10.2.0\db_1\network\admin\listener.or
a
Log messages written to d:\oracle\product\10.2.0\db_1\network\log\listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc
)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=SRV.NT.DOMAIN)(PORT=15
21)))
TNS-01155: Incorrectly specified SID_LIST_LISTENER parameter in LISTENER.ORA
 NL-00303: syntax error in NV string

Listener failed to start. See the error message(s) above...

Интересно, что когда вставляю в listener.ora исходный текст, тоже не стартует с той же ошибкой.
Возвращаю исходный фай - все ок.
4 апр 08, 17:52    [5506256]     Ответить | Цитировать Сообщить модератору
 Re: DBLink в MS SQL Server из Oracle 10g  [new]
mssql_oracle
Guest
?!!
Сделай так
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
)
(SID_DESC =
  (PROGRAM = hsodbc)
    (SID_NAME = sql1)
    (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
) 
    

  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = SRV.NT.DOMAIN)(PORT = 1521))
    )
  )




Набрал недостающую часть вручную, раньше просто вставлял через radmin.
И заработало.
Бывает же такое...
4 апр 08, 18:01    [5506286]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить