자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi Android Target에서 외부 database 2티어 접속
2018.03.15 17:15
Windows환경에서 FireDac을 이용하여 외부 Database에 접속, 쿼리 조회까지 성공했는데
Platform을 Android로 바꾸었을 때는 아래와 같은 에러가 나타나네요.
" F2613 Unit 'FireDAC.Phy.PG' not found. "
제 환경 설정이 잘못된 것인가요?
아니면 Android의 경우에 반드시 3티어를 사용해야 하나요?
(REST Server-Client or DatasnapSet)
개발환경은 Rad Studio 10.2 Tokyo이며,
외부 데이터베이스는 PostgreSQL 입니다.
--- 소스는 아래와 같습니다 -----
begin
Query := TFDQuery.Create(nil);
Connection := TFDConnection.Create(nil);
Connection.Params.DriverID := 'PG';
Connection.Params.Database := 'DBName';
Connection.Params.UserName := 'DBUser';
Connection.Params.Password := 'DBPW';
Connection.Params.Values['Server'] := 'localhost';
Connection.Params.Values['Port'] := '5432';
try
Connection.Connected := True;
except
ShowMessage('Cannot');
end;
Query.Connection := Connection;
Query.SQL.Text := 'select * from pg_tables';
if Query.OpenOrExecute then
ShowMessage(Query.RecordCount.ToString);
Query.Close;
Query.Free;
end;
Delphi Android Target에서 외부 database 2티어 접속
2018.03.15 17:15
Windows환경에서 FireDac을 이용하여 외부 Database에 접속, 쿼리 조회까지 성공했는데
Platform을 Android로 바꾸었을 때는 아래와 같은 에러가 나타나네요.
" F2613 Unit 'FireDAC.Phy.PG' not found. "
제 환경 설정이 잘못된 것인가요?
아니면 Android의 경우에 반드시 3티어를 사용해야 하나요?
(REST Server-Client or DatasnapSet)
개발환경은 Rad Studio 10.2 Tokyo이며,
외부 데이터베이스는 PostgreSQL 입니다.
--- 소스는 아래와 같습니다 -----
begin
Query := TFDQuery.Create(nil);
Connection := TFDConnection.Create(nil);
Connection.Params.DriverID := 'PG';
Connection.Params.Database := 'DBName';
Connection.Params.UserName := 'DBUser';
Connection.Params.Password := 'DBPW';
Connection.Params.Values['Server'] := 'localhost';
Connection.Params.Values['Port'] := '5432';
try
Connection.Connected := True;
except
ShowMessage('Cannot');
end;
Query.Connection := Connection;
Query.SQL.Text := 'select * from pg_tables';
if Query.OpenOrExecute then
ShowMessage(Query.RecordCount.ToString);
Query.Close;
Query.Free;
end;
FireDAC은 안드로이드 환경에서 직접 DB에 접속을 지원하지 않습니다.
데이터스냅 또는 RAD 서버 등과 같은 멀티티어 기술을 이용해 접속하도록 구현하시기 바랍니다.
(모바일 특성상 접속이 끊어지고 붙어야하는 경우가 많습니다. 이 경우 다이렉트 연결는 예외가 많아 적절하지 않은 구조입니다.)
만약, 사업장과 같이 무선연결이 끊어지지 않는 환경이라면, ODAC, SDAC과 같은 써드파티 컴포넌트가 모바일 환경에서 직접 접속을 지원하니 참고하시기 바랍니다.