vb 超难问题:connection 利用msdatashape更新库,其errors属性大于0

randy_ideal 2007-09-26 05:04:56
定义一个ADODB.connection对象cnn,连接Oracle。
连接串为:Provider=MSDataShape.1;Data Provider=OraOLEDB.Oracle.1;User Id=test;Password=abc;Data Source=MYDB
cnn.open 连接串

利用cnn进行查询没有任何问题,一切正常,但利用cnn进行更新操作,如insert,update,delete操作时,虽然也能正常更新数据库,不报错。但执行完后,cnn.Errors.Count数量总大于0,Debug时,发现两个错误信息为:提供程序不支持该属性 无法返回一个或多个属性

不知道这样的更新操作会不会对数据库带来性能上或是其他方面的影响。
顺便提一句,MSDataShape必须要用,因为应用中一些Data Report要用到分组。而OraOLEDB.Oracle.1驱动也要用,因为有些用户的机器用MSDAORA.1驱动不能连上数据库。
哪位遇到过此问题,望不吝赐教。谢谢了,分不够再加。
谢谢了!!!!!!!!!!!!
...全文
201 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
randy_ideal 2007-09-27
  • 打赏
  • 举报
回复
to fj182,很遗憾,我们的应用没有应用服务层。
不过,忽略掉这些error,应该没问题吧?
randy_ideal 2007-09-27
  • 打赏
  • 举报
回复
acmilan1984你好,
CreateObject("XXX.XX",xxx.xxx.xxx.xxx)
是什么意思
acmilan1984 2007-09-27
  • 打赏
  • 举报
回复
如果不高那么复杂的话,可以试试设置一下CNN的游标属性设置为本地游标。。。
acmilan1984 2007-09-27
  • 打赏
  • 举报
回复
将核心数据库主键放置再SERVER端,然后可以创建远程COM+呵呵。。。这样数据库操作就在一台计算机上执行了。最好做个备用计算机,然后当COM组建创建失败之后,可以调用备用计算机的主键来继续工作。。呵呵。。。。你看看MSDN吧。。呵呵。。。
我们平常用 CreateObject的时候都是调用本地计算机的COM+对象,第二个参数默认是空值。呵呵。当加入了远程计算机名称/IP的时候就会调用远程的COM+对象了,关键是SERVER端配置好。。呵呵这个就是VB的三层结构。。
acmilan1984 2007-09-27
  • 打赏
  • 举报
回复
CreateObject("XXX.XX",xxx.xxx.xxx.xxx) 对不对?
acmilan1984 2007-09-27
  • 打赏
  • 举报
回复
装最新的MDAC测试一下。
fj182 2007-09-27
  • 打赏
  • 举报
回复
以前做项目用到过数据构型,这东西用来表示主从结构的结果集确实挺方便的。

我的方案适用于多层结构,数据库连接开在应用服务器端。客户端并不直接跟数据库通讯,连接数量也不会随着客户端的增加而显著增加。
randy_ideal 2007-09-27
  • 打赏
  • 举报
回复
谢谢fj182,您也遇到过此类问题吗?
连接毕竟是比较昂贵的数据库资源阿,因为有比较多的客户端,增加连接势必会增加数据库服务器负担。
fj182 2007-09-27
  • 打赏
  • 举报
回复
那你应该确认数据是否成功更新。
fj182 2007-09-26
  • 打赏
  • 举报
回复
没什么特别好的办法。不过可以变通处理,如使用两个连接,一个用于支持数据构型,一个用来做其他应用。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧