我做了几个页面,访问本地oracle数据库中的表格,也创建了远程数据库的database link
访问本地数据库表格的页面显示数据都没有问题,这说明数据库连接,监听的启动都没有问题,对吧?
但是有几个需要访问远程数据库的页面都提示了tns错误
(这是其中一个页面的错误信息)
OraOLEDB error '80040e14' ORA-12560: TNS: 协议适配器错误 /sbman/sb_mx.asp, line 40 若删除了创建的database link就没有出现tns错误,仅仅是找不到远程数据库而已。。我用toad for oracle连接到数据库创建了db link 并且测试成功,也可以将页面要查的数据在toad中查出来请问这是什么原因呢?我已经查了整整一天了都找不出问题,请各位大侠帮忙解决下呀?万分感谢~~~

解决方案 »

  1.   

    你在功能页面中是如何实现的?
    对应的应用服务器上是否有相关的tnsname的配置(如果你是用多数据源连接的情况)
    link的@访问机制是否被提前解析了。等等
      

  2.   

    功能页面只写了个sql语句显示数据表格,涉及到远程数据库的表
    在本地服务器上tnsname配置了远程服务器的连接字符
    # tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    KAOQIN =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.241)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ora10g)
        )
      )
    dataserver =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.1.250)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ora8)
        )
      )创建database link :
    create database link GZ_DATASERVER.REGRESS.RDBMS.DEV.US.ORACLE.COM
    connect to NEWSYS
    identified by "<pwd>"
    using 'dataserver';
      

  3.   

    又错误了~~~请问是不是我tnsname.ora配置的问题?
      

  4.   

    问题最终解决了,是我创建数据库的时候没有配置好tnsname.ora文件,而且用来做服务器的主机配置差后来重新换了台问题就解决了,之前的操作时正确了,谢谢各位了