网络重新连接后SQL-Server连接失败
问题描述:
我正在使用DAO访问SQL Server的应用程序的更新。我知道,但现在让我们考虑一下DAO的需求。网络重新连接后SQL-Server连接失败
应用程序一直在系统托盘中运行,并定期执行SQL服务器操作。由于它一直在运行,并且应用程序的用户将在笔记本电脑上并在建筑物之间转换,我已将其设计为在活动状态和非活动状态之间悄悄转换。当数据库连接成功时恢复运行。
我有一个最后一个问题,我释放此更新之前:当连接被删除,然后重新建立,SQL操作失败。只有在我的连接字符串中指定了主机名时,才会发生这种情况。如果我使用IP,一切都很好(但我需要能够使用主机名)。
这里是行为:
1)一切工作。良好的网络连接,数据库操作都很好。
2)连接丢失。任务栏图标上出现小'x',没有其他东西。一切都好。
3)重新连接。
在第3步,当我运行第一个查询时,出现'ODBC - 调用失败'错误。有趣的是,数据库首先打开时没有错误。
如果我跳过第1步,并在连接断开时启动应用程序,则在步骤3(主机名或不是)中,一切工作正常。
我希望这是DAO引擎在第一次连接后缓存DNS条目的问题,尽管目标IP不会改变,所以我不确定这一点。我试图刷新窗口的DNS缓存(从cmd提示符)不起作用。甚至当我使用本地主机名与本地SQL服务器进行开发时,也会发生相同的行为。 127.0.0.1没有问题。
我也尝试CoUninitialize()活动时间之间的DAO接口,但我有麻烦让这个工作。如果有人认为这会有所帮助,我会加倍努力。
此行为是在Windows XP或任何东西一样7.你有
谢谢!
编辑:我应该提到 - 我关闭尝试之间的数据库连接,然后用
m_pDb = m_pDaoEngine->OpenDatabase()
答
最后我咬咬牙,将应用程序ADO重新打开它。现在一切正常,数据库操作启动速度更快。