у меня 2 сервера.
1 сервер SQl Сервер 2014 на windows
Имя хоста: 192.168.0.190
Имя пользователя: demo
Пароль: демо
порт: 1433
1 Сервер Oracle Linux 12 c
Проблема: Когда я пытаюсь выполнить sql запрос на моем sql сервере с Oracle linux, я получаю эту ошибку:
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 SQLSERVER1
Это мой initdg4odb c .ora:
# This is a sample agent init file that contains the HS parameters that are
# needed for the Database Gateway for ODBC
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = SQLSERVER1
HS_FDS_TRACE_LEVEL = DEBUG
HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.so
#HS_LANGUAGE = American_America.we8iso8859p1
#HS_KEEP_REMOTE_COLUMN_SIZE = LOCAL
#HS_FDS_RECOVERY_ACCOUNT = RECOVER
#HS_FDS_RECOVERY_PWD = RECOVER
#
# ODBC specific environment variables
#
set ODBCINI= /etc/odbc.ini
#
# Environment variables required for the non-Oracle system
#
#set <envvar>=<value>
Это мой tnsnames.ora:
LISTENER_ORALIN =
(ADDRESS = (PROTOCOL = TCP)(HOST = test.ehk.ht)(PORT = 1521))
SQLSERVER1 =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=test.ehk.ht)(PORT=1521))
(CONNECT_DATA=(SID=SQLSERVER1))
(HS=OK)
)
Это мой слушатель.ora:
# listener.ora Network Configuration File: /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = test.ehk.ht)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
# From Oracle 11gR1 onwards use this.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC=
(SID_NAME=SQLSERVER1)
(ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1)
(ENVS="LD_LIBRARY_PATH=/u01/app/oracle/product/12.2.0/dbhome_1/lib")
(PROGRAM=dg4odbc)
)
)
Я выбираю порт 1433, потому что это мой динамический c порт
Я тоже пытался 1522, ничего не изменилось. У меня всегда одно и то же сообщение.
Мои имя пользователя и пароль: "test" и "testpassword"
Это мой файл odb c .ini:
[ODBC Data Sources]
MSSQLSERVER= MSSQL Server
[GESFILM]
# Reference driver from the "/etc/odbcinst.ini" file.
# Driver = FreeTDS
# Or use a direct driver reference, rather than reference
# one in the "/etc/odbcinst.ini" file.
Driver = SQLSERVER1
Description = MSSQL Server
Trace = yes
TraceFile = /usr/local/bin/sqlncli-11.0.1790.0/lib64
Server = 192.168.0.190
Database = test
UserName = test
Password = testpassword
Port = 1433
TDS_Version = 7.2
#QuotedId = YES
#AnsiNPW = YES
#VarMaxAsLong = YES
[Default]
Driver = SQLSERVER1
Когда я пытаюсь соединиться с «i sql», это работает

Вот как я думаю, у меня есть для создания моей базы данных: Ссылка:
CREATE PUBLI C БАЗА ДАННЫХ SQLSERVER1 ПОДКЛЮЧИТСЯ К "ДЕМО" ИДЕНТИФИЦИРОВАНО "ДЕМО" С ИСПОЛЬЗОВАНИЕМ "SQLSERVER1";
После запроса sql, я получил эту ошибку:
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 SQLSERVER1
Я попробовал 3 других способа создать ссылку на базу данных:
1:
CREATE PUBLIC DATABASE LINK "demo" CONNECT TO "test" IDENTIFIED BY testpasword USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.190)(PORT=1433))(CONNECT_DATA= (SID=SQLSERVER1)))';
2:
CREATE PUBLIC DATABASE LINK "demo" CONNECT TO "test" IDENTIFIED BY testpasword USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.190)(PORT=1522))(CONNECT_DATA= (SID=SQLSERVER1)))';
3:
CREATE PUBLIC DATABASE LINK "demo" CONNECT TO "test" IDENTIFIED BY testpasword USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.190)(PORT=3389))(CONNECT_DATA= (SID=SQLSERVER1)))';
Я получил различную ошибку для каждой ссылки на базу данных. (Выполнение в том же порядке, что и создание каждой ссылки на базу данных)
1: ORA-12537: TNS: соединение закрыто
2: - ORA-12541: TNS: нет прослушивателя
3: - ORA-12547: TNS: потерян контакт
Что не так? Как я могу решить мою ошибку, чтобы иметь возможность сделать запрос sql на моем SQlServer от Oracle?
Спасибо!