首先,我的Oracle服务端是在我自己的本机上。然后我的Oracle的TNSListener已经启动,数据库服务也已经启动,而且我用EMC(Manage Console)也可以连接上Oracle。但是在我的VB程序中,老是报这样的错误:“ORA-12154: TNS: 无法处理服务名”。为什么呢??而且我用TNSPING 服务名  的时候,好像也通了,没有报错,可是为什么VB里面不行呢?是不是我的服务名配置哪里不对了,想请各位指点一下。搞了两天了,还没有解决,郁闷死了!!!
下面是我VB连接的代码:Dim MakeADOConnStr As String
dim cn as New ADODB.ConnectionMakeADOConnStr = "Provider=OraOLEDB.Oracle.1;Password=shg;Persist Security Info=false;User ID=shg;Data Source=shg_192.168.2.11"cn.ConnectionString = MakeADOConnStr 
cn.Open老是在open的时候就出现以上的错误提示!还有一个问题就是,之前我连接别的机子上的服务器的时候就是很好的,没有报错的,但是现在没有那台服务器了。所以我也没法测试出来。真的搞不懂到底哪里错了,谢谢您的指点!!!

解决方案 »

  1.   

    tnsping 一下服务器的ip看看netmanager配置是否正确
      

  2.   

    TNSPING ip 也是通的,因为本身就在一台机子上的。
    netmanager 中的服务名是必须有.domain的,否则oracle自己也连接不上了。
      

  3.   

    我自己也不知道那个net mangager是否正确,我看上去是正确的。
      

  4.   

    如何你的机器是属于域的 那么找到\oracle\ora92\network\admin\sqlnet.ora
    把SQLNET.AUTHENTICATION_SERVICES= (NT)改为
    SQLNET.AUTHENTICATION_SERVICES= (NONE)
      

  5.   

    程序路径有(),就会出现这样的问题。
    oracle的BUG