merhaba
sql server a
Adoconnection
DataSource
Datacontrol
bileşenlerini kullanarak bağlana biliyorum
ama bunun tamamını kodla yapmak istiyorum
yani connection string nasıl yazmalıyım ?
ve bunu editlerle kullanıcıya yaptırmak istiyorum
bağlantı satırlarını bilmedigim
için yapamıyorum bunu yapmak istememin sebebide
her bilgisayarda sql adı farklı veritabanı adıda farklı bu yüzden nasıl bir yol izlemeliyim mantık dogrumudur
teşekkürler.
sql server a kodla bağlanmak ?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 140
- Kayıt: 11 Oca 2009 10:25
sql server a kodla bağlanmak ?
bilmezler bilmediklerinide bilmezler ama kendilerini bilir sanırlar
Re: sql server a kodla bağlanmak ?
Kod: Tümünü seç
ConnectionString:='Provider=SQLOLEDB.1;Password='''+Edsvrpass.Text+''';Persist Security Info=True;User ID='''+Edsvruser.Text+''';'+
'Data Source='''+Cmbsrv.Text+''';Use Procedure for Prepare=1;Auto Translate=True;'+
'Packet Size=4096;Use Encryption for Data=False;'+
'Tag with column collation when possible=False';
--------------
Kod: Tümünü seç
procedure ListAvailableSQLServers(Names : TStrings);
var
RSCon: ADORecordsetConstruction;
Rowset: IRowset;
SourcesRowset: ISourcesRowset;
SourcesRecordset: _Recordset;
SourcesName, SourcesType: TField;
function PtCreateADOObject(const ClassID: TGUID): IUnknown;
var
Status: HResult;
FPUControlWord: Word;
begin
asm
FNSTCW FPUControlWord
end;
Status := CoCreateInstance(
CLASS_Recordset,
nil,
CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER,
IUnknown,
Result);
asm
FNCLEX
FLDCW FPUControlWord
end;
OleCheck(Status);
end;
begin
SourcesRecordset := PtCreateADOObject(CLASS_Recordset) as _Recordset;
RSCon := SourcesRecordset as ADORecordsetConstruction;
SourcesRowset := CreateComObject(ProgIDToClassID('SQLOLEDB Enumerator')) as ISourcesRowset;
OleCheck(SourcesRowset.GetSourcesRowset(nil, IRowset, 0, nil, IUnknown(Rowset)));
RSCon.Rowset := RowSet;
with TADODataSet.Create(nil) do
try
Recordset := SourcesRecordset;
SourcesName := FieldByName('SOURCES_NAME'); { do not localize }
SourcesType := FieldByName('SOURCES_TYPE'); { do not localize }
Names.BeginUpdate;
try
while not EOF do
begin
if (SourcesType.AsInteger = DBSOURCETYPE_DATASOURCE) and (SourcesName.AsString <> '') then
Names.Add(SourcesName.AsString);
Next;
end;
finally
Names.EndUpdate;
end;
finally
Free;
end;
End;
Kod: Tümünü seç
ListAvailableSQLServers(cmbsrv.Items);
server çalışıyormu
Kod: Tümünü seç
function IsSQLServerRunning(const server,database,user,password:string): Boolean;
var
TempConnection: TADOConnection; //uses ADODB
TempConnectionString: string;
begin
result := false;
try
CoInitialize(nil); //uses ActiveX
try
TempConnection := TADOConnection.Create(nil);
TempConnectionString := 'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=%s;Password=%s;Initial Catalog=%s;Data Source=%s';
TempConnection.CommandTimeOut := 4;
TempConnection.ConnectionTimeOut := 4;
TempConnection.ConnectionString := Format(TempConnectionString, [user, password, database, server]);
TempConnection.KeepConnection := false;
TempConnection.LoginPrompt := false;
TempConnection.Open;
result := true;
except
result := false;
end
finally
CoUninitialize;
TempConnection.Close;
TempConnection.Free;
TempConnection := nil;
end;
end;
Kod: Tümünü seç
if IsSQLServerRunning(cmbsrv,Cmbsirket.Text,Edsvruser,Edsvrpass) then
Bir kelimenin anlamını öğretsen bile yeter..


