使用ConnectionPtr 连接数据库的问题

pengxialei 2008-11-28 12:09:17
_ConnectionPtr pCon(__uuidof(Connection));
if (pCon->State==1)
{
pCon->Close();
}
int iconnectNum=0;
do
{
//Sleep(20);

std::cout < <"before pCon->Open" < <std::endl;
pCon->ConnectionString = L"Provider=SQLOLEDB; Server=210.58.55.98;Database=xxx; uid=sa; pwd=xxx;";
pCon->Open(L"",L"",L"",adConnectUnspecified);

if (iconnectNum>3)
{
std::cout < <"Can't connetc the database!" < <std::endl;
return false;
}
iconnectNum++;
}while(pCon->State!=1);


以上代码是在一个线程里面,在程序用会要调用无数次,有的时候,他是成功的,但有的时候,程序执行到open函数的时候就卡在那里不动了,我是做了异常处理的,它也不报错,就是卡在那里,我想可能有什么属性可以设置,使得当连接了一段时间后,如果不成功,就跳出来,或者大家还有什么其他的方法啊,大家赐教啊。
...全文
284 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenhaiyu000 2010-12-29
  • 打赏
  • 举报
回复
adConnectUnspecified这个是不是要变?
CN_SQL 2008-11-28
  • 打赏
  • 举报
回复
这种问题,最好是到对应的编程板块去问,解决性才比较大.
claro 2008-11-28
  • 打赏
  • 举报
回复
帮顶
pengxialei 2008-11-28
  • 打赏
  • 举报
回复
楼主,您这种情况我也考虑了,但是,有的时候程序第一次执行到这里也有可能卡死在这,也有可能是运行了半个小时,1个小时后出现这样的问题,不确定的。
xieyueqing 2008-11-28
  • 打赏
  • 举报
回复
是不是你的数据库连接没释放,导致有时候连接太多,你新打开连接的时候只能等待?

我瞎猜得,没写过C

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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