这是我原来连接SQL的打印的代码
Connection1.Open "Provider=MSDataShape.1;Persist Security Info=True;Data Source=mm;User ID=sa;Password=sa;Initial Catalog=lc-liuh2;Data Provider=SQLOLEDB.1"是可以的
现在想改成连接ORACLE
Connection1.Open "Provider=MSDataShape.1;Persist Security Info=True;User ID=PATROL;Password=PATROL;Data Source=MYORACLE;Data Provider=MSDAORA.1"或者
Connection1.Open "Provider=MSDataShape.1;Persist Security Info=True;User ID=PATROL;Password=PATROL;Data Source=MYORACLE;Data Provider=OraOLEDB.Oracle.1"
两个都没有办法连接上,想问下应该怎么连接,我数据已经连接上了,查询,删除,修改都是没有问题,但是打印需要加Provider=MSDataShape.1来做一些功能

解决方案 »

  1.   

    Persist Security Info=False 试试。
    将几个 Provider 中的版本号 .1 去掉试试。
      

  2.   

    这样试
    Provider=MSDataShape.1;Persist Security Info=False;Data Provider=MSDAORA;Data Source=orac;User Id=myUsername;Password=myPassword;
      

  3.   

    确定Oracle客户端的驱动安装了?节点也配置了?其实 Oracle 有自己的递归查询语法[ START WITH condition ]
    CONNECT BY [ NOCYCLE ] condition
      

  4.   

    对ORACLE不是很了解。发现直接在程序连接好之后那样来做是可以的。
    在Private Sub DataEnvironment_Initialize()中将CONNECTSTRING打出来之后得到的结果是:
    Provider=MSDataShape.1;Persist Security Info=True;Data Source=MYORACLE;User ID=PATROL;Password=PATROL;Data Provider=ORAOLEDB.ORACLE.1
    但是将CONNECTIONSOURCE里面的:Provider=OraOLEDB.Oracle.1;Password=PATROL;Persist Security Info=True;User ID=PATROL;Data Source=MYORACLE 去掉之后
    在代码里面赋值这样去连接的时候就不行了Dim strConnection As String    Dim strPrintConnection As String
        strPrintConnection ="Provider=MSDataShape.1;Persist Security Info=True;Data Source=MYORACLE;User ID=PATROL;Password=PATROL;Data Provider=ORAOLEDB.ORACLE.1"
        Connection1.Open strPrintConnectionend sub这样就抱错了,RUN-TIME ERROR '3220' 
    给定的提供程序与所使用的不同
      

  5.   

    Connection1 已经保存了某些数据库的信息,应该用一个完全新建的对象进行调用。
      

  6.   

    你的意思是重新建立一个DATAENVIRMENT?
      

  7.   

    既然用了 DataEnviroment,连接就应该固定的,既然原先的不好用,删除重做一个好了。