Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 无法与Oracle中的数据库链接连接_Sql_Database_Oracle_Database Link - Fatal编程技术网

Sql 无法与Oracle中的数据库链接连接

Sql 无法与Oracle中的数据库链接连接,sql,database,oracle,database-link,Sql,Database,Oracle,Database Link,我有三个Oracle数据库连接(XE、XE_HR和XE_SBD_HR) 我已尝试与固定用户创建私有数据库链接,该用户使用HR密码以HR身份连接,并在XE_SBD_HR上进行以下查询: CREATE DATABASE LINK DATABASE_LINK_1 CONNECT TO HR IDENTIFIED BY HR USING 'HR'; COMMIT; ALTER SESSION CLOSE DATABASE LINK DATABASE_LINK_1; ORA-02081: dat

我有三个Oracle数据库连接(XE、XE_HR和XE_SBD_HR)

我已尝试与固定用户创建私有数据库链接,该用户使用HR密码以HR身份连接,并在XE_SBD_HR上进行以下查询:

CREATE DATABASE LINK DATABASE_LINK_1 CONNECT TO HR IDENTIFIED BY HR USING 'HR'; 
COMMIT;  
ALTER SESSION CLOSE DATABASE LINK DATABASE_LINK_1;

ORA-02081: database link is not open
但现在,当我想从表中获取数据时:

SELECT * FROM COUNTRIES@DATABASE_LINK_1;    

SQL Error: ORA-12154: TNS:could not resolve the connect identifier 
我认为这是由错误的数据库链接连接造成的,因为XE_SBD_HR中的查询响应:

CREATE DATABASE LINK DATABASE_LINK_1 CONNECT TO HR IDENTIFIED BY HR USING 'HR'; 
COMMIT;  
ALTER SESSION CLOSE DATABASE LINK DATABASE_LINK_1;

ORA-02081: database link is not open

如何修复此问题?

例如,如果在连接字符串中指定主机名、端口和服务名称或Oracle SID,则可能会更成功

CREATE DATABASE LINK DATABASE_LINK_1 CONNECT TO HR IDENTIFIED BY HR USING 'localhost:1512/XE_SBD_HR';

例如,如果在连接字符串中指定主机名、端口和服务名或Oracle SID,您可能会获得更大的成功

CREATE DATABASE LINK DATABASE_LINK_1 CONNECT TO HR IDENTIFIED BY HR USING 'localhost:1512/XE_SBD_HR';

执行查询并尝试选择后,出现了一个新的障碍:SQL错误:ORA-12541:TNS:no listener。您需要用实际值替换我的示例。如何连接到数据库XE_SBD_HR?请告诉我们您正在使用的连接字符串或命令(当然没有密码)。我不知道您的意思是-。在listener.ora文件中,当在query-get:SQL错误:ora-12514:TNS:listener中切换到此值时,我的端口设置为1521。listener当前不知道在连接描述符中请求的服务。谢谢图片。您使用连接类型=TNS。这意味着您使用一个名为tnsnames.ora的文件。名称
XE
?XE=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=DESKTOP-name)(PORT=1521))(CONNECT_DATA=(SERVER=专用)(SERVICE_name=XE)))-这就是我发现的。在执行查询并尝试选择后,出现了一个新的障碍:SQL错误:ORA-12541:TNS:无侦听器。您需要用实际值替换我的示例。如何连接到数据库XE_SBD_HR?请告诉我们您正在使用的连接字符串或命令(当然没有密码)。我不知道您的意思是-。在listener.ora文件中,当在query-get:SQL错误:ora-12514:TNS:listener中切换到此值时,我的端口设置为1521。listener当前不知道在连接描述符中请求的服务。谢谢图片。您使用连接类型=TNS。这意味着您使用一个名为tnsnames.ora的文件。名称
XE
?XE=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=DESKTOP-name)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_name=XE))-这就是我找到的。