我的tnsnames.ora应该是配置正确的,我用PL/SQL Developer可以正常连上数据库,但是当在asp.net程序中,用以下连接字符串:<add name="local" connectionString="Data Source=xe;User ID=xxx;Unicode=True;Password=xxx;" providerName="System.Data.OracleClient"/>就不行,提示ORA-12154: TNS: 无法解析指定的连接标识符
必须换成服务器全地址,类似这样的
<add name="local" connectionString="Data Source=(DESCRIPTION=(ADDRESS_LIST =(ADDRESS = (COMMUNITY = tcp.world)(PROTOCOL = TCP)(Host = ctsinnvlsmdb)(Port = 1521)))(CONNECT_DATA =(SID = XE)(SERVER = DEDICATED)));User ID=xxx;Unicode=True;Password=xxx;" providerName="System.Data.OracleClient"/>
才可以连接,请问是什么道理?为asp.net有没有什么其他地方需要配置的?

解决方案 »

  1.   

    应该是监听不到你的地址,把监听程序改为你的本机地址localhost或127.0.0.1 呢?
      

  2.   

    没用。同样的tnaname和listener配置,为什么对于SQL Plus和PL/SQL可以用,对Asp.net却不行……
      

  3.   


    得配置好xe这个oracle service name先。
      

  4.   

    把oracle安装的目录的读写权限给.net那个帐户,好像叫aspnet,我忘了叫什么了。
      

  5.   

    经常碰到这个问题,就是oracle路径的权限,没给那个帐户
      

  6.   

    有时候.net就是必须用详细点的语句来连的,当然你觉得你都会了,才可以逐步精简一些,毕竟有些缩略的话只有专门连oracle的工具才能识别的。