۱۱-مهر-۱۳۸۷, ۰۱:۰۳:۵۶
با سلام دوستی در این باره پیغام خصوصی داده بود جوابو تو این تاپیک میزنم تا دیگران هم استفاده کنن
برای attach کردن از یک sp یا همون استور پرسیچر استفاده میشه
استفاده از کدمورد نظر در دلفی
موفق باشید
برای 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;