1:用ADOConnection连接,选 Oracle Provider for OLE DB驱动,设置好数据源,名称密码后,保存密码,
  测试成功,但是加入ADODataSet后,将其Connection属性指向ADOConnection,再到其CommandText属性
  中输入 Select * from all_users,当打开ADODataSet时,就会报错,错误信息是 "Access violation
  at address 1F458380 in module 'msado15.dll'.Read of address 00000007.";2:和上面一样的连接方法,只是OLE DB驱动改为 Microsoft OLE DB Provider for Oracle,测试成功也
  可以用ADODataSet将数据表的显示出来,但是当数据表里面有BLOB类型的字段时,打开ADODataSet时就会
  包办"数据类型不被支持"的错误信息.请各为多多指点谢谢!

解决方案 »

  1.   

    楼主好像和我遇到过的问题一样
    到现在我还没解决
    更新到MDAC2.8了都不行
    Delphi重新装了N遍也没解决
      

  2.   

    现在都没办法
    所有的commandtext里面的语句全写在程序里面
    其实写在程序里面更好
      

  3.   

    Dji?? 偶们的D7 可以呀 SQL语句写道控件里也可以。。Provider=MSDAORA.1;Password=aaaa;User ID=bbb;Data Source=ddd;Persist Security Info=True
      

  4.   

    为什么我用BDE连接就没有问题呢?郁闷,
      

  5.   

    重装oracle ,不行啊。高手,帮忙啊
      

  6.   

    1.可能是你的MDAC的版本太高或者太低的问题!(别忘记有可能是版本太高啊!)
    2.oracle中的BLOB字段需要单独处理
      

  7.   

    是不是你的SQL语句的问题,换其他的、试试
      

  8.   

    虽然BDE处理速度和连接没有ADO方便,但有时BDE也能解决一写ADO解决不了的问题
      

  9.   

    这位兄弟,你使用的是三层结构吗,如果不是不要用ADODataSet,我基本上不用,有问题的.
    用ADOQuery,简单好用,如果是三层结构,要更改ADOQuery.enablebcd:=false(也不确定,但起码没有出现问题),这样就没问题了
    目前我用三层,好好的,没有任何问题,
      

  10.   

    别的版本的delphi我不知道,但是delphi5的ado控件绝对有bug,最好不用,就用bde,但是听说delphi6的ado控件没什么问题
      

  11.   

    我的MDAC版本是2.8的,软件已经开发了大半了,如果改BDE可能会很麻烦啊,
    以上问题用ADOQuery取代ADODataSet也会有同样的问题,还有BLOB的字段我不
    需要显示其内容,只要我在使用SELECT * FROM TABLE 时不报错误即可。
      

  12.   

    1.可能是你的MDAC的版本太高或者太低的问题!(别忘记有可能是版本太高啊!)
    2.oracle中的BLOB字段需要单独处理
      2.1BLOB字段是二进制进行存储的,不能直接用select * from tablename的方式,BLOB要用专门的包体过程和函数来解决。