小弟在VC中用back database Managev…………没问题,但用restore database Manage……就出现排它权的问题不能还原,我就在还原的时候先关闭了当前的连接,再连了另一个其他的数据源,在这下面可以用restore database Manage…还原了,我想我的这个办法要折腾连接两个数据源,比较麻烦,肯定不好,请问有什么方法不用连接两个数据源啊,谢谢!!
我的连接代码是:
// Create ADO Connection
if( FAILED(::CoInitialize(NULL)) ) 
{
    AfxMessageBox("ADO Init failed");
return false;
}
try
{
ADOConn.CreateInstance(__uuidof(Connection));
ADOConn->Open("DSN=salary;Provider=MSDASQL","sa","", adConnectUnspecified);
}
// Catch Exceptions
catch(_com_error &e)
{
CString err;
err.Format("%s", (char*)(e.Description()) );
AfxMessageBox(err);
}
catch(...)
{
AfxMessageBox("Unknown Error...");
}

// Init ADO RecordSet
m_pADOSet.CreateInstance(__uuidof(Recordset));

解决方案 »

  1.   

    建议用ADO-DMO技术.
    本人现在还没有这方面的具体编码实现.
    但知道这个能实现
      

  2.   

    ADO-DMO是什么啊,呵呵,我不懂,学习中……,还有没有通俗的方法啊,谢谢
      

  3.   

    restore database Manage
       FROM DISK = 'D:\Manage\SQL_BACKUP\Manage.bak'
       WITH replace,
       MOVE 'Manage_data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\data\Manage_Data.MDF',
       MOVE 'Manage_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\data\Manage_Log.LDF'