try
{
_bstr_t bstr=(_bstr_t)_T("Provider=SQLOLEDB.1;Password=weblogic;Persist Security Info=True;User ID=sa;Initial Catalog=RestoreTest;Data Source=ly");
m_pConn.CreateInstance(__uuidof(Connection)); 
m_pConn->Open(bstr,"","",NULL);bstr=(_bstr_t)"backup database report to disk='e:\\back.dat'";
_variant_t RecordsAffected;
m_pConn->Execute((_bstr_t)bstr,&RecordsAffected,adCmdText);}
catch(_com_error& e)
{
MessageBox(e.ErrorMessage());
return;
}

解决方案 »

  1.   

    运行到m_pConn->Execute((_bstr_t)bstr,&RecordsAffected,adCmdText);就错了
      

  2.   

    只能备份到服务器上
    把SQL语句在SQL SERVER的查询器上运行看有没有问题
      

  3.   

    我运行了一下,没有问题啊,你没有report这个数据库???
    我的程序:
    ADODB::_ConnectionPtr  Conn1;
    _bstr_t    bstrConnect( L"driver={sql server};server=small_xp;Database=hsdb;UID=hs;PWD=hs;" );
    _bstr_t bstrEmpty;
    _bstr_t bstr;
    Conn1.CreateInstance( __uuidof( ADODB::Connection ) );
    Conn1->ConnectionString = bstrConnect;
    Conn1->Open( bstrConnect, bstrEmpty, bstrEmpty, -1 );
    bstr=(_bstr_t)"backup database hsdb to disk='e:\\back.dat'";
    _variant_t RecordsAffected;
    Conn1->Execute((_bstr_t)bstr,&RecordsAffected,1);