我这个是实现数据库还原的代码,可是一执行就提示“[DBNETLIB][ConnectionOpen (Connect()).]SQL Server不存在或拒绝访问”。这到底是什么地方出错了呢?该怎么解决?void CDlgRightRestoreDb::OnBtnOk()
{
UpdateData(); if (m_strPath.IsEmpty())
{
MessageBox("路径不能为空!", "提示", MB_OK | MB_ICONEXCLAMATION);
} if (IDCANCEL == MessageBox("确定要执行还原操作?", "提示", MB_ICONINFORMATION | MB_OKCANCEL))
{
return;
} CADOConn ado;
_bstr_t bstrSQL;
CString strSQL; m_btnOK.SetWindowText("还原中");
m_btnOK.EnableWindow(FALSE);
strSQL.Format("USE master RESTORE DATABASE Express FROM DISK = '%s'",
m_strPath);
bstrSQL = strSQL; if (ado.ExecuteTrans(bstrSQL))
{
m_btnOK.SetWindowText("确定");
m_btnOK.EnableWindow(TRUE); MessageBox("还原成功!", "提示", MB_OK | MB_ICONEXCLAMATION);
}
else
{
m_btnOK.SetWindowText("确定");
m_btnOK.EnableWindow(TRUE);
MessageBox("还原失败!", "提示", MB_OK | MB_ICONEXCLAMATION);
}
}
{
UpdateData(); if (m_strPath.IsEmpty())
{
MessageBox("路径不能为空!", "提示", MB_OK | MB_ICONEXCLAMATION);
} if (IDCANCEL == MessageBox("确定要执行还原操作?", "提示", MB_ICONINFORMATION | MB_OKCANCEL))
{
return;
} CADOConn ado;
_bstr_t bstrSQL;
CString strSQL; m_btnOK.SetWindowText("还原中");
m_btnOK.EnableWindow(FALSE);
strSQL.Format("USE master RESTORE DATABASE Express FROM DISK = '%s'",
m_strPath);
bstrSQL = strSQL; if (ado.ExecuteTrans(bstrSQL))
{
m_btnOK.SetWindowText("确定");
m_btnOK.EnableWindow(TRUE); MessageBox("还原成功!", "提示", MB_OK | MB_ICONEXCLAMATION);
}
else
{
m_btnOK.SetWindowText("确定");
m_btnOK.EnableWindow(TRUE);
MessageBox("还原失败!", "提示", MB_OK | MB_ICONEXCLAMATION);
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货