日期:2014-05-16  浏览次数:20589 次

创建Oracle数据源: [Oracle][ODBC][Ora]ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务

出现错误:


首先修改配置文件:

D:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN\tnsnames.ora, 其内容如下:

# tnsnames.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_2\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.


LISTENER_ORCL =
  (ADDRESS = (PROTOCOL = TCP)(HOST = WIN-COSDJDSFC4C)(PORT = 1521))

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )


ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = WIN-COSDJDSFC4C)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)       #注意这里的服务命名(和Net Manager中的服务命名对应), 不是windows中的后台服务名
    )
  )


接下来是环境变量TNS_ADMIN指向该文件

TNS_ADMIN=D:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN

创建数据源:

第一步:

选择驱动, 这里安装了ODAC(这个ODTwithODAC112030包, 即Oracle Data Access Components (ODAC) for Windows)

下载地址:http://www.oracle.com/technetwork/topics/dotnet/downloads/index.html


点击完成,进入下一步.

第二步

这里的TNS服务名就是根据环境变量TNS_ADMIN找到tnsnames.ora文件,然后解析得到, 选择ORCL, 这个是正确的, 因为只有它包含了服务命名.

接下来进行测试, 点击Test Connection按钮, 进入下一步

第三步:

 

输入用户名scott 和密码 tiger, 点击OK按钮


连接成功, 点击确定, 进入初始界面


此时orclconn连接就成功建立了, 谢谢大家