我在全局脚本中访问服务器上的数据库(不在本地),脚本每执行一次就打开关闭一次数据库,500毫秒触发一次。
代码如下:
__object *cn, *rs;
char *connstr="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=MonitorTask;Data Source=192.168.1.100";
//MonitorTask为数据库名,192.168.1.100为远程服务器IP
char * sql="Select * FROM task";
cn=__object_create("ADODB.Connection");
rs=__object_create("ADODB.RecordSet");
cn->Open(connstr);
if (cn->State == 0)// 为0表示连接数据库成功
{
MessageBox(NULL,"连接数据库失败!","警告",MB_OKMB_ICONEXCLAMATIONMB_SETFOREGROUNDMB_SYSTEMMODAL);
}
else
{
rs->Open(sql,cn);
......//对记录集进行操作
rs->Close;
if(cn->State != 0)
{
cn->Close;
}
}
但是程序运行一段时间后(几个小时),偶尔会弹出对话框报告“连接数据库失败“(即cn->State == 0)。
不知道有没有朋友遇到同样的问题啊,恳请大家帮忙啊!