在客户端TNSPING,以及在SQLPLUS中都能登陆到服务器上的数据库,说明网络,监听器,sqlnet.ora,tnsname.ora,listener.ora都没有问题,但用VB.NET编写的一个应用程序在利用登陆界面登陆数据库时却登不上去,报错为:ora 12154 could not resolve service name .诡异的是,这个应用程序从其他电脑上拷到这一台电脑上来的,在原来的电脑上时就能访问数据库,至少说明程序也没问题.这是怎么会事啊?是不是应该对客户端的电脑比如注册表,环境变量什么的进行一些设置呀?如果是,应该怎么设?请专家明示.万分感激

解决方案 »

  1.   

    数据库服务器是否安装在fat32的分区格式下
      

  2.   

    数据库服务器是装在D盘上的,我查看了下D盘是fat32的分区格式,服务器系统C盘是NTS分区的格式,同时在sqlnet.ora中已经将那条语句扩后里的NTS改成NONE了,可还是不行,有的电脑能连上,有的就不行
      

  3.   

    fat32格式,.net连接的话,oracle的几个目录的权限需要重新设置一下,具体操作可以google上搜索一下
      

  4.   

    但这个VB.NET开发的应用程序的先前版本就能连上数据库的啊!后来把这个应用程序拷贝到另一台电脑上进行了一些修改,并在另一台电脑上连接成功过,再把这个应用程序拷回原来的电脑,就出现tnsping 通 sqlplus通 程序不通的情况了。到底是怎么会事啊?请高人指点
      

  5.   

    看一下程序中连接串中的服务名是否和 tnsping 用的服务名称一致。
      

  6.   

    连接串中的服务名肯定和tnsping用的名称一样,因为sqlplus能连接,而且该应用程序在另一台电脑上也能连接上,就拷到其他电脑上就连不上了
      

  7.   

    实例名不对, 把原来电脑上的tnsname.ora拷贝到这台电脑里.
      

  8.   

    检查sqlnet.ora文件(tnsname.ora相同目录),检查这台机器是否属于和服务器同一个domain,否则注释掉default_domain那一行,没有sqlnet.ora就拷贝一个