Необходимо создать dblink к БД Mysql. Просьба помочь.
Ошибка при выборе из dblink
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
ORA-02063: preceding line from TEST2
Конфиг odbc.ini cat /etc/odbc.ini
[MySQL]
Driver = MySQL
Description = MySQL
Database = ocsweb
Server = 10.167.0.14
User = ospo
Password = qwerty11
PORT = 3306
Конфиг из hs/admin
cat /opt/oracle/product/18c/dbhomeXE/hs/admin/initdg4odbc.ora
HS_FDS_CONNECT_INFO = ospo
HS_FDS_SHAREABLE_NAME = /usr/lib64/libmyodbc5.so
set ODBCINI=/etc/odbc.ini
Конфиг listener.ora
cat /opt/oracle/product/18c/dbhomeXE/network/admin/listener.ora
DEFAULT_SERVICE_LISTENER = XEPDB1
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracleapex)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME=/opt/oracle/product/18c/dbhomeXE)
(SID_NAME = MySQL)
(PROGRAM = dg4odbc)
#(ENVS ="LD_LIBRARY_PATH=/opt/oracle/product/18c/dbhomeXE/bin/dg4odbc:/opt/oracle/product/18c/dbhomeXE/lib")
)
)
Тут насчет ENVS не совсем уверен, поэтому закомментировал.
Конфиг tnsnames.ora
cat /opt/oracle/product/18c/dbhomeXE/network/admin/tnsnames.ora
MYSQL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SID = mysql)
)
(HS = OK)
)
Тестирую odbc
isql -v MySQL
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
Тест tnsping
tnsping mysql
TNS Ping Utility for Linux: Version 18.0.0.0.0 - Production on 02-JUL-2019 10:12:13
Copyright (c) 1997, 2018, Oracle. All rights reserved.
Used parameter files:
/opt/oracle/product/18c/dbhomeXE/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 = (SID = mysql)) (HS = OK))
OK (40 msec)
Захожу в БД
sqlplus sys/ as sysdba
Создаю дблинк
SQL> create public database link test2 connect to "ospo" identified by "qwerty11" using 'MYSQL';
Database link created.
Пытаюсь выбрать данные
select * from "ports"@test2
*
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
ORA-02063: preceding line from TEST2
В интернете везде пишут что такая ошибка когда пишешь логин и пароль без двойных кавычек, т.к. oracle автоматом подставляет большие буквы для логина и пароля. Ну тут я делаю с кавычками.
Где еще мог ошибиться? пожалуйста помогите :)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Ребят, всем привет! столкнулся с такой проблемой - сохранение картинки на сервер
Приходит от апи ответМне нужно получить некоторые значения из него, но свойство xmlData protected и не могу получить доступ к нему
Создаю класс My_Class, в нем хранится информация об авторизацииЛогины и пароли нужно получать извне и записывать в массив $authorization