为什么用MySQL,断网之后就会报错

为什么用MySQL,断网之后就会报错,第1张

原因1.电脑自动休眠了

解决:计算机上点右键,点属性,点左下的性能信息和工具,点调整电源设置,点更改计算机睡眠时间,使计算机进入睡眠状态 选择 从不。

原因2.网卡有自动省电功能

解决:计算机上点右键,点属性,点设备管理器,点网络适配器,在网卡上点右键点属性,点电源管理,允许计算机关闭此设备以节省电源 前面的对钩去掉。

localhost可以看成是一个域名,在一大部分情况下,它能解析出IP地址127.0.0.1而指向到本机,但是在本机的所有网卡都没有获得IP地址的情况下,在navicat中localhost就无法解析出IP地址127.0.0.1,导致连接失败!

思路是在执行SQL的时候捕获异常,发生异常时,自动重新连接,重试。 ADO代码示例:

void C_Ado::Disconnect()

{

if ( this->m_isConnected )

{

if(this->m_connectionPtr != NULL)

{

if ( this->m_connectionPtr->State )

this->m_connectionPtr->Close()

}

this->m_isConnected = false

}

}

bool C_Ado::Execute(const char *sql)

{

if ( ! this->m_isConnected )

{

Connect()

}

_CommandPtr pCommand

try {

pCommand.CreateInstance("ADODB.Command")

pCommand->ActiveConnection = this->m_connectionPtr

pCommand->CommandType = adCmdText

pCommand->CommandText = _bstr_t(sql)

pCommand->Execute(NULL, NULL, adCmdText)

}

catch(_com_error e) {

this->Disconnect()

return false

}

return true

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7253538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存