반응형
[유료]UniDAC ( Universal Data Access Components ) 델파이 오라클 접근 접속 방법
UniDAC ( Universal Data Access Components )란
Community Edition 및 Windows, Linux, macOS, iOS 및 Android의 Lazarus (및 Free Pascal )를 포함하여 Delphi 및 C ++ Builder의 여러 데이터베이스에 직접 액세스 할 수있는 구성 요소 라이브러리입니다.
Delphi 10.3 오라클 DB 접속
- 델파이 소스
UniConnection1.ProviderName := 'Oracle';
UniConnection1.Server := '127.0.0.1:1521:TESTDB';
UniConnection1.Username := 'ID';
UniConnection1.Password := '패스워드';
UniConnection1.LoginPrompt := True;
UniConnection1.SpecificOptions.Add('Direct=True');
UniConnection1.Connected := True;
ShowMessage(DataBase Connection Success!);
Delphi 10.3 오라클 DB Execute Query
if UniConnection1.Connected then //오라클 접속 여부 파악
begin
sSQL :='INSERT INTO 테이블명 (필드1, 필드2) VALUES (''값1'', ''값2'',) ';
UniQuery1.Close;
UniQuery1.SQL.Text := sSQL;
UniQuery1.ExecSQL;
end;
Delphi 10.3 오라클 DB 프로시저 호출
OraStoredProc1 := TUniStoredProc.Create(nil);
OraStoredProc1.Connection := Dm.UniConnection1;
OraStoredProc1.SpecificOptions.Values['FetchAll'] := 'True'; //DB 레코드 전체
with OraStoredProc1 do
begin
Close;
StoredProcName := '오라클 프로시저명';
Params.Clear;
Params.CreateParam(ftString, '프로시저 입력변수명1', ptInput).AsString := '입력변수1';
Params.CreateParam(ftString, '프로시저 입력변수명2', ptInput).AsString := '입력변수2';
Params.CreateParam(ftString, '프로시저 입력변수명3', ptInput).AsString := '입력변수3';
Params.CreateParam(ftFloat, 'out변수명', ptOutput).Value; //프로시저 성공 =1 ,실패 -> 0
Params.CreateParam(ftCursor, '출력_DATA', ptOutput).Value;
Params.CreateParam(ftString, 'out_VALUE', ptOutput).Value;
Execute;
if Params.ParamByName('out변수명').Value = 1 then
begin
First;
for i := 0 to RecordCount - 1 do
begin
str1 := Fields[0].AsString;
str2 := Fields[1].AsString;
Next;
end;
end;
end;
<
마무리
UniDAC은 Databases(Oracle, SQL Server, MySQL, MongoDB, Firebird 등등) 연결 가능 및 별도의 DB Client 설치 없이 Direct로 접속이 가능하기 때문에 편리하게 컴포넌트 이용할 수 있습니다.
반응형
'Developers > Delphi[델파이]' 카테고리의 다른 글
[Delphi] String -> TStringList 전환하기 (0) | 2019.10.08 |
---|---|
[Delphi] DelphiSpeedUp 3.1 IDE AddIn (0) | 2019.09.24 |
[delphi] 프로그램 중복 실행 방지 (0) | 2019.09.24 |