psCN.Provider = "MSDAORA"
        sConn = "DATA SOURCE=" & ServerName & ";"中没有把username ,password写上
 .Open sConn, UserID, PWD 这句话好像有问题

解决方案 »

  1.   

    UserID, PWD 是保存用户名和密码的变量
    可是在oracle817下面是运行正常的啊
      

  2.   

    Provider=OraOLEDB.Oracle.1,看用这个行不行
      

  3.   

    对了,还有一些线索。我的机器以前装了Oralce817(装C盘),我是卸载这个之后安装oracle9i的(装H盘)。因为我等着用,所以又把9i卸载,然后在H装了817,可是还是不能用,所以我只好把817装到C盘,这样就可以用了,不知道怎么回事,一定要把oracle装到C盘吗?还是以前的oracle没有完全卸载,在注册表中残留有信息。
      

  4.   

    一台机器上装9i,然后连接远程db,没有任何问题。我的机器就是9i的enterprise版,vb6编程访问lan内的另一台9iserver。与oracle 装在那个盘上没有关系
    我觉得是没有把8i客户端卸干净,导致机器内部的注册表中的sid有问题。我建议你把oracle彻底卸载,再重新安装server,应该vb访问就正常了:
    彻底卸载oracle的方法:
    1.停止oracle 的服务
    2.删除注册表中的关于oracle的服务和目录(windows版):
      Local_machine\system\currentcontrolset(及currentcontrolset001...)\services\oracleorahome81Agent等所有含oracle字样的子键 
    3.删除硬盘上oracle的文件夹及文件。
    4.重新安装oracle                       
      

  5.   

    http://search.csdn.net/Expert/topic/903/903782.xml?temp=.8960382
      

  6.   

    DBPath = "Provider=MSDAORA.1;Password=pwd;User ID=user;Data Source=sid;Persist Security Info=True"
      

  7.   

    虽然VB,ADO不能够连接到DB,但是SQLPlus可以啊,奇怪啦,都用的同样的本地网络服务名配置,同样的用户名,密码