DataSetProvider의 이름이 없어서 발생하는 에러입니다.
DataSetProvider의 이름을 정해주면 됩니다. 델마당에도 답변 올렸습니다.
꼴찌DB 님이 쓰신 글 :
: 안녕하세요? 꼴찌입니다.
:
: 델마당에 올렸던 질문인데 주인을 만나지 못한 질문입니다.
: 길잃은 질문에 주인을 찾아주시면 감사하겠습니다.
: -------------------------------------------------------
:
: TSQLConnection 객체는 정상적으로 세팅된게 있다고 가정하고요..
: 일단 폼에 TSQLQuery, TDataSetProvider, TClientDataSet을 떨어트린 후
: 각각의 속성값 잡아주고 연결하면 너무 잘됩니다.
:
: 그런데 아래처럼 코드상으로 객체를 생성하고
: 연결을 시도하면 에러가 납니다. ㅠㅠ;
: 별스럽게 다 해봐도 결과가 똑같은데...
: 현재로선 동적생성후 연결이 원래 안되는거 같은데...
: 혹시 동적으로 객체 생성 후 DBExpress 연결 성공해 보신분 있으신지요?
:
: var
: SQLQuery1: TSQLQuery;
: DataSetProvider1: TDataSetProvider;
: ClientDataSet1: TClientDataSet;
: begin
:
: SQLQuery1 := TSQLQuery.Create(self);
: DataSetProvider1 := TDataSetProvider.Create(self);
: ClientDataSet1 := TClientDataSet.Create(self);
:
: try
: SQLQuery1.SQLConnection := SQLConnection1;
: // 이미 만들어진 정상작인 Connection 객체 연결 ... 이상없슴.
:
: DataSetProvider1.DataSet := SQLQuery1;
:
: DataSetProvider1.Options = [poAllowCommandText, poRetainServerOrder, poUseQuoteChar];
:
: ClientDataSet1.ProviderName := DataSetProvider1.Name;
:
: ClientDataSet1.CommandText := 'select * from test.fdb';
:
: ClientDataSet1.Open; // 에러발생 ---> ClientDataSet1: Missing data provider or data packet
:
: finally
: SQLQuery.Free;
: DataSetProvider1.Free;
: ClientDataSet1.Free;
:
: end;
:
: end;
|