Я пытаюсь создать dblink в оракуле, но он показывает мне ошибку.
У меня есть база данных orcl1, и я хочу подключиться к другой базе данных etlsr, которую я создал следующей базой данных.
Внутри этой базы данных etlsr я создал простую таблицу с именем человека внутри sys и вставил данные.
Теперь я снова подключаюсь к orcl1 и хочу подключиться к базе данных etlsr, но этого не произошло, как я ни пытался
select * from person@ETLSR;
Но это выдало мне ошибку:
*
Error at line 1
ORA-02019: connection description for remote database not found
Итак, я думаю создать ссылку на базу данных, поэтому я попытался :(Я пробовал это из orcl1)
CREATE DATABASE LINK sales
CONNECT TO sys IDENTIFIED BY ashwin
USING 'SALES';
Я добавил в файл tnsname как:
SALES =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SALES_PRD)
)
)
Итак, когда я попытался:
select * from person@SALES;
Я получил ошибку:
ORA-12154: TNS:could not resolve the connect identifier specified
Почему появляется эта ошибка? Любое разрешение для этого творения dblink? Могу ли я получить доступ к таблицам другой базы данных без использования dblinks?
Tnsnames.ora
# tnsnames.ora Network Configuration File: E:\oracle\app\AshwinPC\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
TEST=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.6)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
sqlnet.ora
# sqlnet.ora Network Configuration File: E:\oracle\app\AshwinPC\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
tnsnames.ora
, который вы указали, нет записи дляSALES
? Запись, которую вы показали отдельно, похоже, тоже имеет неправильное имя службы (неetlsr
), но это приведет к другой ошибке, если это будет единственная проблема. - person Alex Poole   schedule 30.01.2020