服务器数据库为oracle 10g x64 for windows
客户端为XP系统(防火墙1521端口已开).
公司有dns和dhcp.
客户端先装了oracle client 然后用net configuration assistant配置好监听器和本地net服务名.测试,连接成功.sqlplus同样正常.
接着配置好ODBC.
但是当用excel导入外部数据的时候,会提示错误ora-12514:TNS: 监听程序当前无法识别连接描述符中请求的服务
在几台电脑上都试了.同样的问题.下面是其中一台电脑 oracle client的listener.ora SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\oracle\product\10.2.0\client_1)
(PROGRAM = extproc)
)
)LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = sc13.smt-sh.com.cn)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)tnsnames.ora
OA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oaserver)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oa)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)请各位高人不吝赐教.
客户端为XP系统(防火墙1521端口已开).
公司有dns和dhcp.
客户端先装了oracle client 然后用net configuration assistant配置好监听器和本地net服务名.测试,连接成功.sqlplus同样正常.
接着配置好ODBC.
但是当用excel导入外部数据的时候,会提示错误ora-12514:TNS: 监听程序当前无法识别连接描述符中请求的服务
在几台电脑上都试了.同样的问题.下面是其中一台电脑 oracle client的listener.ora SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\oracle\product\10.2.0\client_1)
(PROGRAM = extproc)
)
)LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = sc13.smt-sh.com.cn)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)tnsnames.ora
OA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oaserver)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oa)
)
)EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)请各位高人不吝赐教.
tnsnames.ora
OA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oaserver)(PORT = 1521)) --oaserver能否改为服务器的IP地址。
)
(CONNECT_DATA =
(SERVICE_NAME = oa)
)
)
或oaserver改成sc13.smt-sh.com.cn试下
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.97)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = xxb)
)
)
OA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oaserver)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oa)
)
)
有区别么? IP? IP我试过了,同样不行
你的监听到底在哪个主机上,就填那个主机的host
你在客户端通过:sqlplus user/pwd@sid
的方式能否登陆数据库?
再用excel试试。
检查一下SERVICE_NAME=oa有没有被listener知道...
不行的话试试隔一会重新登录...
再用excel试试。
再用excel试试。
excel你是怎么用的?是不是你的odbc配不对,没连上?
在这几台机器上装oracle client时候 选择的是运行时(233MB) 造成某些组件没有安装(体现为:开始菜单->程序->Oracle_oracleclient10g_home1->配置和移植工具->(Microsoft ODBC 管理员)此项没有) 而且odbc管理->添加->(Oracle in OracleClient10g_home1)此驱动也没有.PS:用 Microsoft ODBC for Oracle 这个驱动配置出来的数据源,EXCEL是认不出来的,会报ora-12514.今天选择自定义安装,把昨天没装的组件装上一部分,就可以了(具体哪几个没记,有兴趣的可以自己测试).最后,感谢大家的热心帮助.