例:
    var FileName:String;
        tmpAdo:TADOQUERY;
      tmpAdo:=TAdoQuery.Create(Application);
      try
        tmpAdo.SQL.Text:='Master..xp_cmdShell ''isqlw /U sa /P  /d Master /i '
               +FileName+' /o D:\ABC\QTRunResult.Txt''';
        tmpAdo.ExecSQL;
      finally
        tmpAdo.Free;
      end;

解决方案 »

  1.   

    存储过程xp_cmdShell是放在Master数据库中的,所以数据集要连上Master库.
    ------------------------------------------------------------------------
        var tmpAdoSP:TADOStoredProc;
          tmpAdoSP:=TADOStoredProc.Create(Application);
          try
            tmpAdoSp.ConnectionSting:='Provider=SQLOLEDB.1;'
                      +'Persist Security Info=False;'
                      +'User ID=sa;Initial Catalog=Master;Data Source=ABC'
            tmpAdoSP.ProcedureName:='xp_cmdShell';
            tmpAdoSP.Parameters.AddParameter.Name:='@A';
            tmpAdoSP.Parameters.ParamByName('@A').Value:='Dir D:\';
            tmpAdoSP.Open;
          finally
            tmpAdoSP.Free;
          end;