非典型问题:大数据量的问题

hjcug 2003-10-05 09:41:30
我有一个数据窗口,对应某数据源的一个表,这个表仅有一个字段,该字段也为关键字。我使用下列语句:
dw_1.settransobject(SQLCA)
dw_1.importfile(a.txt) //a.txt中有10万行数据,各不相同
。。。。。
integer rtn
rtn=dw_1.update()
。。。。。
if rtn=1 then
commit using SQLCA;
messagebox("提示","成功!")
else
rollback using SQLCA;
messagebox("提示","失败!")
end if

总是失败,而当数据量小的时候可以成功。
请问哪位仁兄解决过此类问题:从一个文本文件导入到数据窗口一个多行数据,最后能成功的保存到数据库中。请指教,谢谢!
...全文
46 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdsnhan 2003-10-07
  • 打赏
  • 举报
回复
应该没有问题的。
导入成功后,直接打开数据库看看里面的记录数是否正确。
sqlnrows是执行sql语句有效的行数,不要过分相信它。
检查一下,是不是忽略了什么小的地方。
liliang800207 2003-10-07
  • 打赏
  • 举报
回复
为什么要加SQLCA.SQLNrows>0
只要倒入的话此值必然大于0
问题不是说你的SQLNrows的值有多少
而是看你在update()后你的sqlerrtext是什么
可能你在倒入之前数据窗口并没有连接到数据库
hjcug 2003-10-07
  • 打赏
  • 举报
回复
跟踪进去看来,sqlnrows=5,sqlerrtext无。
commit,但就是没有成功写入数据库中。
athere_08 2003-10-07
  • 打赏
  • 举报
回复
执行完,messageBox('',sqlca.sqlnrows)
hjcug 2003-10-07
  • 打赏
  • 举报
回复
数据窗口的UPDATE属性没有问题。
xzg8848 2003-10-06
  • 打赏
  • 举报
回复
检查一下数据窗口的update属性看。
zm1616 2003-10-06
  • 打赏
  • 举报
回复
如果是sql server ,10万条数据根本是小意思!

你在if rtn<>1 then的时候

messagebox(),贴出sqlca.sqlcode和,sqlca.sqlerrtext,看看数据库提示出什么错吧
鸡翅多 2003-10-06
  • 打赏
  • 举报
回复
如果实在不可以,可以考虑自己写程序导入,然后每2000条commit一次,就可以了
hjcug 2003-10-06
  • 打赏
  • 举报
回复
旧问题解决了,新问题又出现了。
我用的是ORACLE8I,数据库应该是没问题的。
dw_1.settransobject(SQLCA)
dw_1.importfile(a.txt) //a.txt中有10万行数据,各不相同
。。。。。
integer rtn
rtn=dw_1.update()
。。。。。
if rtn=1 and SQLCA.SQLNrows>0 then
commit using SQLCA;
messagebox("提示","成功!")
else
rollback using SQLCA;
messagebox("提示","失败!")
end if
成功后,我用ORACLE的客户端连上去,检索了一下,发现数据并没有进去。
也就是说,我commit后,数据并没有写入数据库中。
请高手解惑。
klbt 2003-10-06
  • 打赏
  • 举报
回复
可能是你的数据库性能限制,是单机数据库?
eminena 2003-10-05
  • 打赏
  • 举报
回复
是什么数据库!

我用的SQL SERVER 7.0

30万条数据,没问题

估计是你的数据有重复!
mmjhcg 2003-10-05
  • 打赏
  • 举报
回复
能不能搞一个数据程序直接读入临时数据库先呀

609

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder DataWindow
社区管理员
  • DataWindow社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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