使用VB连接ORACLE 9数据库,发现一个问题,在编译前程序可以正常连接数据库,但把VB程序编译后,居然连接不上数据库,提示"运行时错误,-2147467259(80004005) ORA-12154:TNS无法处理服务名"数据库连接代码如下(注释部分为先前使用的连接方式):
Public Function dbLink() As Boolean '连接数据库
    'On Error Resume Next
        'Conn = "UID=" & strUser & ";PWD=" & strPassWord & ";DRIVER={Microsoft ODBC for Oracle};SERVER=" & strDBserver & ";"
        Conn = "Provider=OraOLEDB.Oracle.1;Password=" & strPassWord & ";Persist Security Info=True;User ID=" & strUser & ";Data Source=" & strDBserver
       Set Cn = New ADODB.Connection
       
       With Cn
         .ConnectionString = Conn
         .CursorLocation = adUseClient
         .Open
       End With
    If Err Then
    dbLink = False
    Else
    dbLink = True
    End If
End Function
有明白的请告诉下,急等,谢谢!!

解决方案 »

  1.   

    >>TNS无法处理服务名检查你的网络服务配置,很有可能是strDBserver这个变量的内容有问题
      

  2.   

    检查一下strDBserver的值.没有问题就是你的客户端没有配置好!
      

  3.   

    如果Conn 有问题
    那么在代码阶段如何能连接上呢,况且之前我用        'Conn = "UID=" & strUser & ";PWD=" & strPassWord & ";DRIVER={Microsoft ODBC for Oracle};SERVER=" & strDBserver & ";"
    连接的就OK,后来我因为重装了ORACLE和操作系统就这样了.检查一下strDBserver的值.没有问题就是你的客户端没有配置好!
    这个有问题的可能性好象不大,因为别人用我的程序连他自己的数据库也不成,而之前的程序却是可以的.实在不行,只有重装ORACLE和操作系统了.....
      

  4.   

    你试试,用PLSQL Developer 登陆一下你的Oracle,成功了,就是你程序的问题,失败了,就查查你的服务器,客户端吧.