!求助,pb中Bulk insert 的问题

denaxu 2008-04-06 09:10:17
我在pb中使用bulk insert 表明 from 文件名
导入数据时报SQLDBCODE=1205 的问题不知是何问题。对象SQLCA的SQLerrText没有错误信息。
我具体的代码如下。From 后的文件存在,并且在SQL查询分析器里执行是成功的,在PB程序里运行不成功!!!

ls_SqlSyn = &
"BULK INSERT "+as_ReceiveName +" "+&
"FROM '"+is_sqlserverdatapath+"\"+as_SendName+"^"+ as_ReceiveName +".txt' " +&
"WITH " +&
" ( " +&
"BATCHSIZE = 100, " +&
"FIELDTERMINATOR = '\t', "+&
"ROWTERMINATOR = '\n', "+&
"TABLOCK " +&
") "
Execute Immediate :ls_SqlSyn ;
If Sqlca.sqlcode = -1 then
ls_errText = sqlca.sqlErrText
ROLLBACK ;
This.of_showMessage('提示n_cst_commLogic::of_deleteAfterInsert'+'更新'+ as_ReceiveName +'表数据失败!~r~n' + ls_errText)
Return -1
End if

COMMIT ;


...全文
155 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jlwei888 2008-05-04
  • 打赏
  • 举报
回复
http://blog.csdn.net/ggw128/archive/2007/08/29/1763088.aspx
denaxu 2008-05-04
  • 打赏
  • 举报
回复
难道不能在非自动事务下进行批量数据插入吗?
我不能把autocommit置为TRUE,因为我要控制数据的提交。是在后面的数据操作完以后一起提交。!!!
meiZiNick 2008-04-30
  • 打赏
  • 举报
回复
有点难度哦
小潜s 2008-04-08
  • 打赏
  • 举报
回复
试下先将autocommit置为TRUE
denaxu 2008-04-07
  • 打赏
  • 举报
回复
进行了程序的调整后报“事务与另一个进程已被死锁在资源上,且该事务已被选作死锁牺牲品”。
我在PB中进行了跟踪,报的数据库错误号是1205(SQLDBCODE),也就是上面的描述。
看看还有没有其他的解决办法。

急求解决办法。

I_am_Z 2008-04-06
  • 打赏
  • 举报
回复
关注。
lllyyymmm 2008-04-06
  • 打赏
  • 举报
回复
If Sqlca.sqlcode <>0 then
ls_errText = sqlca.sqlErrText
ROLLBACK ;
This.of_showMessage('提示n_cst_commLogic::of_deleteAfterInsert'+'更新'+ as_ReceiveName +'表数据失败!~r~n' + ls_errText)
Return -1
End if
改为上面的,测试一下,弹出是什么错误

752

社区成员

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

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