Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > dblink -> ora-28545


Автор: setnull 5.5.2009, 18:30
Все здравствуйте!

Создаю dblink на МэйСКЛ...
но при запросе из него кидает ошибку
ORA-28545: error diagnosed by Net8 when connecting to an agent ....

Я уже устал комбинировать tnsnames и listener...

в чем может быть ошибка?

Спасибо!!!!

Автор: ToshaCh 5.5.2009, 19:10
Ну дык, а tnsnames.ora и listener.ora в студию.
Кроме того, в тексте ошибки должно быть указанно какая именно NCR ошибка произошла.

Автор: setnull 6.5.2009, 11:16
namse

Код

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = CompName)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

ORACLR_CONNECTION_DATA = 
  (DESCRIPTION = 
    (ADDRESS_LIST = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) 
    ) 
    (CONNECT_DATA = 
      (SID = CLRExtProc) 
      (PRESENTATION = RO) 
    ) 
  ) 



MYSQL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)
                 (HOST = 127.0.0.1)
                 (PORT = 1521)
      )
    )
    (CONNECT_DATA =
      (SID = mysql)
    )
    (HS = OK)
  )




listener

Код

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (ORACLE_HOME = C:\oraclexe\app\oracle\product\10.2.0\server)
      (SID_NAME = mysql)
      (PROGRAM = dg4odbc)
      (ENVS ="LD_LIBRARY_PATH=C:\Program Files\MySQL\Connector ODBC 5.1;C:\oraclexe\app\oracle\product\10.2.0\server\lib")
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
      (ADDRESS = (PROTOCOL = TCP)(HOST = CompName)(PORT = 1521))
    )
  )


DEFAULT_SERVICE_LISTENER = (XE)




initmysql

Код

#initmysql.ora
# HS init parameters
#
HS_FDS_CONNECT_INFO=mysql
HS_FDS_TRACE_LEVEL=0
HS_FDS_SHAREABLE_NAME="C:\Program Files\MySQL\Connector ODBC 5.1\myodbc5.dll"
#HS_LANGUAGE=AMERICAN_AMERICA.WE8ISO8859P15
# HS_NLS_NCHAR=AL32UTF8
#
# ODBC specific environment variables
#
set ODBCINI=C:\Windows\odbc.ini
set LD_LIBRARY_PATH="C:\Program Files\MySQL\Connector ODBC 5.1"

#
# Environment variables required for the non-Oracle system
#
set HOME=C:\oraclexe\app\oracle\product\10.2.0\server



odbc.ini

Код

[ODBC 32 bit Data Sources]
База данных MS Access=Microsoft Access Driver (*.mdb) (32 разряда)
Файлы Excel=Microsoft Excel Driver (*.xls) (32 разряда)
Файлыs dBASE=Microsoft dBase Driver (*.dbf) (32 разряда)
Xtreme Sample Database 2008=Microsoft Access Driver (*.mdb) (32 разряда)
mysql=MySQL ODBC Driver 5.1

[База данных MS Access]
Driver32=C:\WINDOWS\system32\odbcjt32.dll
[Файлы Excel]
Driver32=C:\WINDOWS\system32\odbcjt32.dll

[Файлы dBASE]
Driver32=C:\WINDOWS\system32\odbcjt32.dll

[Xtreme Sample Database 2008]
Driver32=C:\WINDOWS\system32\odbcjt32.dll

[mysql]
Driver=C:\Program Files\MySQL\Connector ODBC 5.1\myodbc5.dll
DATABASE=test
DESCRIPTION=MySQL ODBC 5.1.5 Connector Sample
PORT=3306
SERVER=127.0.0.1
USER=user
Password=pass
TRACEFILE=C:\Program Files\MySQL\Connector ODBC 5.1\log.txt
TRACE=ON


Плюс у меня есть вопросы:

1)На что влияет имя PROGRAM = dg4odbc
2)Зачем в ОДБС.ини указывать юзер/пасс?

Автор: setnull 6.5.2009, 11:54
p.s.
Хуже того. Вчера у меня просто не хотело устанавливаться соединение с Мэй... 
Сегодня же, при попытке открыть соединение с любой схеммой (не дблинком, а прямое), ложиться Листенер...

Автор: ToshaCh 9.5.2009, 17:09
Цитата(setnull @  6.5.2009,  11:16 Найти цитируемый пост)
1)На что влияет имя PROGRAM = dg4odbc
2)Зачем в ОДБС.ини указывать юзер/пасс?


PROGRAM указывает что для доступа к левой базе у тебя должен присутствовать соответствующий драйвер. К слову сказать, обрати внимание что должна быть соответствующая дирректория с ORACLE_HOME\dg4odbc
По поводу второго вопроса. Ну не знаю, наверное так захотелось программистам smile

Ты тестировал odbc подключение без oracle? Например с помощью Windows ODBC Data Source Administrator.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)