ايران ويج

نسخه‌ی کامل: attach کردن بانک به sqlserver
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
با سلام دوستی در این باره پیغام خصوصی داده بود جوابو تو این تاپیک میزنم تا دیگران هم استفاده کنن
برای attach کردن از یک sp یا همون استور پرسیچر استفاده میشه
کد:
EXEC sp_attach_db @dbname = N'''+DB+''', @filename1 = N'''+PathExe+DB+'_data.mdf'',@filename2 = N'''+PathExe+DB+'_log.ldf'''
استفاده از کدمورد نظر در دلفی
کد:
function TConnection.ConnectSQLServer(DB, Server, PWS: String): Boolean;
var
ConnectionStr   :String;
ConnectionError :String;
AttachStr       :String;
begin
  Result := True;
  ConnectionStr:= 'Provider=SQLOLEDB.1;'+
                  'Password='+PWS+
                  ';Persist Security Info=True;'+
                  'User ID=sa'+
                  ';Initial Catalog='+ DB +
                  ';Data Source='+ Server +
                  ';Use Procedure for Prepare=1'+
                  ';Auto Translate=False'+
                  ';Packet Size=8000;';
ConnectionError:= 'Provider=SQLOLEDB.1;' +
                  'Password='+ PWS +
                  ';Persist Security Info=True;'+
                  'User ID=sa'+
                  ';Initial Catalog=master'+
                  ';Data Source='+ Server +
                  ';Use Procedure for Prepare=1' +
                  ';Auto Translate=False' +
                  ';Packet Size=8000;';

  DML.ADOC.Connected := False ;
  DML.ADOC.ConnectionString := ConnectionStr;
  DML.ADOC.DefaultDatabase := DB;
  try
   DML.ADOC.Connected := True ;
  except
   if MessageMy.MyMessage('ارتباط با بانک اطلاعاتی برقرار گردد؟',2)=1 then
     begin
      DML.ADOC.Connected := False;
      DML.ADOC.ConnectionString := ConnectionError;
      DML.ADOC.DefaultDatabase := 'master';
      try
       DML.ADOC.Connected:=true;
       AttachStr:='EXEC sp_attach_db @dbname = N'''+DB+''', @filename1 = N'''+PathExe+DB+'_data.mdf'',@filename2 = N'''+PathExe+DB+'_log.ldf''';
       DML.Cmd.CommandText:=AttachStr;
       DML.Cmd.Execute();
       DML.ADOC.Connected:=false;
       DML.ADOC.DefaultDatabase:=DB;
       DML.ADOC.Connected:=true;
      except
       Result := False;
      end;//try
     end  //mes
    else
     Result:=False;
  end;//try
end;
موفق باشید