TDataBase 를 보면 Alias를 선택하고 DataBaseName을 설정한 후
'Defaults' 버튼 을 누르면 파라메타들이 생성되는것을 볼 수 있습니다.
저는 'Defaults' 버튼을 누르는것과 동일한 행위를 실행시에
동적으로 하고 싶은데 헬프를 봐도 관련메소드가 없는것 같더군요
요약하자면 디폴트 파라메타값은 BDE에 설정된 DB마다 다르게 만들어지더군요
DB가 오라클이건 사이베이스건 관계없이 Default parameter 값을 동적으로 생성해서
비밀번호만 부여해서 어느 DB와도 연결이 가능하게끔 하고 싶습니다.
혹시 제가 엉뚱하게 헤메고 있다면 지적해 주시고
초보를 위해 친절한 답변 부탁드립니다.
좋은 하루되세요...
Alias에서 User, Password을 제외한 셋팅을 읽어들입니다.
저의 경우는 여러 지점 서버에 접속해서 쿼리해오는 프로그램을 했는데
Database 컴포넌트를 하나놓고 지점에해당하는
Alias, user, password를 바꿔가면서 접속하는겁니다
for i:=0 to 8 do
begin
Database1.Params.Clear;
case i of // 8개 지점
0 : Database1.Params.Add('SERVER NAME=keci2'); // server changed
1 : Database1.Params.Add('SERVER NAME=keci3'); // server changed
2 : Database1.Params.Add('SERVER NAME=keci4'); // server changed
3 : Database1.Params.Add('SERVER NAME=keci5'); // server changed
4 : Database1.Params.Add('SERVER NAME=keci6'); // server changed
5 : Database1.Params.Add('SERVER NAME=keci7'); // server changed
6 : Database1.Params.Add('SERVER NAME=keci8'); // server changed
7 : Database1.Params.Add('SERVER NAME=keci9'); // server changed
8 : Database1.Params.Add('SERVER NAME=keci10'); // server changed
end;
Database1.Params.Add('USER NAME=account'); // user
Database1.Params.Add('NET PROTOCOL=TCP/IP');
Database1.Params.Add('OPEN MODE=READ/WRITE');
Database1.Params.Add('SCHEMA CACHE SIZE=8');
Database1.Params.Add('LANGDRIVER=');
Database1.Params.Add('SQLQRYMODE=');
Database1.Params.Add('SQLPASSTHRU MODE=SHARED AUTOCOMMIT');
Database1.Params.Add('SCHEMA CACHE TIME=-1');
Database1.Params.Add('MAX ROWS=-1');
Database1.Params.Add('BATCH COUNT=200');
Database1.Params.Add('ENABLE SCHEMA CACHE=FALSE');
Database1.Params.Add('SCHEMA CACHE DIR=');
Database1.Params.Add('ENABLE BCD=FALSE');
Database1.Params.Add('ENABLE INTEGERS=FALSE');
Database1.Params.Add('LIST SYNONYMS=NONE');
Database1.Params.Add('ROWSET SIZE=20');
Database1.Params.Add('BLOBS TO CACHE=64');
Database1.Params.Add('BLOB SIZE=32');
Database1.Params.Add('OBJECT MODE=TRUE');
Database1.Params.Add('PASSWORD=kecsel'); // pwd
try
Database1.Connected := True; // 지점 DB connect
qry_Local_test.Close;
qry_Local_test.SQL.Clear;
qry_Local_test.SQL.Add(' select * from test ');
qry_Local_test.Open;
qry_Local_test.First;
while not qry_Local_test.eof do
begin
....
qry_Local_test.Next;
end;
Database1.Connected := False; // 지점 DB disconnect
except
...
Database1.Connected := False; // 지점 DB disconnect
end;
end;
초보 wrote:
> TDataBase 를 보면 Alias를 선택하고 DataBaseName을 설정한 후
> 'Defaults' 버튼 을 누르면 파라메타들이 생성되는것을 볼 수 있습니다.
> 저는 'Defaults' 버튼을 누르는것과 동일한 행위를 실행시에
> 동적으로 하고 싶은데 헬프를 봐도 관련메소드가 없는것 같더군요
>
> 요약하자면 디폴트 파라메타값은 BDE에 설정된 DB마다 다르게 만들어지더군요
> DB가 오라클이건 사이베이스건 관계없이 Default parameter 값을 동적으로 생성해서
> 비밀번호만 부여해서 어느 DB와도 연결이 가능하게끔 하고 싶습니다.
>
> 혹시 제가 엉뚱하게 헤메고 있다면 지적해 주시고
> 초보를 위해 친절한 답변 부탁드립니다.
> 좋은 하루되세요...
>
>