1、在程序调用的客户端用sqlplus能不能顺利连接数据库?
   如果能,排除网络和数据库服务器的问题。
2、你的mvarDBConnInfo写的对吗?最好用adoconnectcotrol的控件,让vb自动生成数据库连接串,
   在控件中测试数据库连接状况!!
   如果每次可以顺利连通,说明你的函数或mvarDBConnInfo写的有问题,从控件中把自动生成的连接
   语句铐出来,替换mvarDBConnInfo。

解决方案 »

  1.   

    to ashzs((可以包含中文字符)) 
       用sqlplus每次都可以顺利连接数据库.用adoconnectcotrol的控件直接连接也有这个问题,不是每次都能成功,报的错也是未知的错..在open之前sleep(2000)会好点,也不是每次成功.只要一次成功,后面的基本上都成功.
       不知道是不是ORACL的服务名解释不能成功?:)
      

  2.   

    这样差不多是你的数据源驱动有问题!
    你的客户端安装的是和服务器的版本吗?
    1、建系统数据源,别用用户数据源!
    2、客户端是8i的,用微软提供的驱动建数据源。
       客户端是9i的,用oracle提供的驱动建数据源。
      

  3.   

    to ashzs((可以包含中文字符)) 
      

  4.   

    to ashzs((可以包含中文字符)) 
      客户端和服务端都是8i的.不知道你说的微软提供的驱动和oracle提供的驱动有什么区别,能说的具体点吗?我明天去单位试一下.先谢谢你了.
      

  5.   

    服务端是8i,如果你客户端是9i你要用Microsoft ODBC for Oracle,而不要用Oracle in OraHome92.
    但是你如果客户端和服务器都是8i的,就没有这种忧虑了!你的客户端和服务器的8i版本一样吗?
    你可以这么试试:在$oracle_home\oledb\samples下面有个vb访问oracle的例子!看看它的数据库
    连接语句有没有问题!
    ping以下服务器,你的网络连接有丢包现象吗?