我在机子用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: 无法解析指定的连接标识符
在网上找好多资料,还是没有搞好,请高手们指一点,谢谢.
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: 无法解析指定的连接标识符
在网上找好多资料,还是没有搞好,请高手们指一点,谢谢.
解决方案 »
- oracle登录没反应,使用plsql和sqlplus
- 问个簇的alter问题!
- win7 64位+VS2010 连不上Oracle数据库
- 求大神帮忙。。。。。!!
- 不能用EXP导出dmp文件
- 两个字段取一个字段
- [ORACLE][ODBC]Restricted data type attribute violation 错误! 急~~~~~~~~~
- 菜鸟请教!关于异常处理的问题!
- full join 在不同数据库有不同结果,知道的一定要近来看下(内详)
- 急问一个SQL语句(oracle大侠看过来)
- 求助oracle的连接查询sql
- oracle用dblink跨库查询ORA-12154: TNS: 无法解析指定的连接标识符
要在创建dblink的库上的tnsnames.ora文件里,配置指向另一个实例的tns内容,你是这么做的吗?
明显你配置的有问题
tnsnames.ora 的位置:
C:\oracle\ora92\NETWORK\ADMIN\tnsnames.ora ;
要改成这样的吗?
C:\oracle\ora92\bin改为:\oracle\ora92\NETWORK\ADMIN????
谢谢
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
global_context_pool_size string
global_names boolean TRUE当值为TRUE时, 你创建的dblinkName必须和Connection_Server(想要连接的数据库)的 global_name相同.( 想要连接的数据库的global_name通过查询 select * from global_name;)--更改本自参数,不要求必须和连接的数据库global_name相同,即可以自行创建想要的名称.
alter system set global_names =false;
create public database link
ncdev1 connect to ncdev identified by ncdev using 'ncdev';