阅读: 80 评论: 2 作者: blackcat 发表于 2010-05-21 16:51 原文链接

遇到一个SqlServer的怪异问题,裹足不前,请各路大侠帮忙一看。

通过ODBC访问SqlServer 2005,执行备份语句,

use master backup database XXX to disk 'c:\ab.dat'

然后眼睁睁看着备份文件生成,然后自动又消失。实在摸不着头脑。

 

PS:

  程序是C++的,登录用户不是SA,是新建立的一个拥有管理员权限的用户。同时这个程序和服务器不在同一个OS。

 

这个问题据说上次有人遇到过,解决方式是让工作线程等待几秒钟。但是据我的观察,语句执行完毕后,不等连接关闭,备份文件自动就消失了。。。。。

太神奇了。

同样的语句,在数据库管理器中执行时没有问题的。

坐等各路大侠拔刀相助。

 

找到解决方案:
首先,为什么文件会自动删除,应该是Sql2005 Native Client执行完backup命令后,会有一个通信等待一个事件,应该是服务器给客户端送点东西,如果等不到,就把完成的工作取消了。
解决方案,我在ODBC调用中,执行完sql语句之后,在调用
SQL_API SQLRowCount(SQLHSTMT StatementHandle, SQLLEN* RowCount);
之前,调用Sleep,就OK了。又是曲线救国
 

 

评论: 2 查看评论 发表评论

众里寻你千百度,百度期待您的加盟


最新新闻:
· 黑莓手机今起在国内零售渠道正式发售(2010-06-18 13:03)
· 大一学生利用音频分析软件破译银行密码(2010-06-18 13:00)
· Sencha Touch,真正跨平台的手机应用框架(2010-06-18 12:58)
· Google 确认加密搜索将换到新域名(2010-06-18 12:54)
· 关于腾讯收购康盛创想的跟踪报道(2010-06-18 11:56)

编辑推荐:程序员这口饭-职业规划解决方案

网站导航:博客园首页  个人主页  新闻  闪存  小组  博问  社区  知识库


文章来源:http://www.cnblogs.com/aqhistory/archive/2010/05/21/1741044.html