oracle用dblink跨库查询ORA-12154: TNS: 无法解析指定的连接标识符
我在机子用netmanager建立了连接,
tnsnames.ora文件如下:
# TNSNAMES.ORA Network Configuration File: C:\oracle\ora92\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
NC50 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = r51e)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = nc50)
)
)
NC_DEV =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.16.40)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = ncdev)
)
)
NC_TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.16.46)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = nctest)
)
)
INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = r51e)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://HRService)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
listener.ora如下:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = r51e)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\ora92)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = nc50)
(ORACLE_HOME = C:\oracle\ora92)
(SID_NAME = nc50)
)
)
//用pl/sql都是可以连接访问的
//////////////////////////////////////////////////////////////////
跨库连接语句如下:
-- 建立数据库连接
create public database link
ncdev1 connect to ncdev identified by ncdev using 'ncdev';
select * from bd_corp@ncdev1;
-- 删除数据库连接
DROP PUBLIC DATABASE LINK ncdev1;
这个字符串用了两种'ncdev'和'nc_dev',都不行;
///////////////////////////////////////////////
提示错误如下:ORA-12154: TNS: 无法解析指定的连接标识符
在网上找好多资料,还是没有搞好,请高手们指一点,谢谢.