看看,或许你能解决

runsoft 2003-07-19 04:18:51
前面执行一段 存储过程
sqlca.autocommit = true

//附加主DB到数据库当中
string dynamic_sql



string ls_use

ls_use = 'EXEC'+'('+"'USE master'"+')'
EXECUTE IMMEDIATE :ls_use ;


dynamic_sql = "EXEC sp_attach_db @dbname = '"+ls_account_code+"',@filename1 ='" + l_to +"',@filename2 ='" + l_to_log +"'"

execute IMMEDIATE :dynamic_sql;

g_tr_main.autocommit = false

//messagebox("",string(g_tr_main.sqlerrtext))

if g_tr_main.sqlcode >= 0 then
messagebox("提示","数据库生成成功!")
end if



前面的存储过程如果执行后close,下面的execute IMMEDIATE :dynamic_sql;
出现错误信息: the procedure could not be execute or the resuts is not exits
如果把上面的close去掉,数据库也没有附加过去,我把 dynamic_sql抄下来放到
查询分析器执行却可以。请各位多指教。
为什么
...全文
27 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zfisher 2003-07-19
  • 打赏
  • 举报
回复
对我也遇到过这样的问题
把_tr_main.autocommit = true就可以了
runsoft 2003-07-19
  • 打赏
  • 举报
回复
哪个是另外写上去的,原本是g_tr_main.autocommit = true
dotnba 2003-07-19
  • 打赏
  • 举报
回复
你前面是SQLCA,后面怎么又是g_tr_main
我觉得你前面改成g_tr_main.autocommit = true

1,079

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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