강경수 6월 21일에 포스트됨 공유하기 6월 21일에 포스트됨 (edited) Delphi 초짜입니다. 앞으로 Delphi로 개발해야 되어서 DB 컨넥해서 query를 실행하는 것을 코팅해보고 있습니다. 버튼클릭 시 DB 컨넥은 성공 했지만 Query를 실행하면 "insufficent information to connect to the data source"에러가 납니다. DB는 sybase ASE를 사용하고 있습니다. Edited 6월 21일 by 강경수 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 Miniuser 6월 22일에 포스트됨 공유하기 6월 22일에 포스트됨 해당 이슈는 "CONOPTS="를 사용하는 Greenplum 에서 발생한다고 하는데.. 아래 사이트를 한번 참고해보시면 좋을 것 같습니다. 참고 사이트 : http://support.sas.com/kb/64/126.html 참고 사이트 : https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Connect_to_Sybase_SQL_Anywhere_(FireDAC) 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 c2design 6월 22일에 포스트됨 공유하기 6월 22일에 포스트됨 TFDConnection 사용 하였으면 Params 항목에 Database 이름이 DB에서 지정한 이름과 같은지 확인 해보세요. File DB 면 DatabaseFile 항목을 확인해 보세요. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
0 강경수 6월 22일에 포스트됨 Author 공유하기 6월 22일에 포스트됨 (edited) Source는 다음과 같습니다. 연결설정을 수정하고 실행했는데 Object does not exist in this database 에러가 발생합니다. user DB에 해당 Userid로 로그인했습니다. 시스템 stored Procedure(sp_who)는 오류 없이 실행이 되지만 User Table을 select할 때 위의 오류가 발생합니다. from dbo.usertable로 하면 오류가 나지 않지만 from usertable하면 오류가 납니다. FDConnection Editor에서 값을 입력해 주고 sql script실행 시 에는 'dbo.'가 없어도 결과 조회가 됩니다. unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.VCLUI.Wait, FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt, Data.DB, Vcl.Grids, Vcl.DBGrids, FireDAC.Comp.DataSet, FireDAC.Comp.Client, Vcl.StdCtrls, FireDAC.Phys.ODBCDef, FireDAC.Phys.ODBCBase, FireDAC.Phys.ODBC; type TForm1 = class(TForm) FDConnection1: TFDConnection; Button1: TButton; FDQuery1: TFDQuery; DataSource1: TDataSource; DBGrid1: TDBGrid; Edit1: TEdit; Edit2: TEdit; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin // Create the database query. FDQuery1 := TFDQuery.Create(nil); FDQuery1.SQL.Text := Edit1.Text; EDIT2.Text := FDConnection1.ConnectionString; // Try to connect to the database. try FDConnection1.Open; ShowMessage('Connection successful'); except ShowMessage('Connection Fail'); end; // Set the query's Connect property to the connection object FDQuery1.Connection := FDConnection1; // Set the data source for the grid. DataSource1.DataSet := FDQuery1; // Assign the data source to the grid. DBGrid1.DataSource := DataSource1; // Try to execute the query try FDQuery1.Open; ShowMessage('Query successful'); // except // ShowMessage(FDQuery1.Error.Message); finally end; // Free the query object FDQuery1.Free; // Refresh the grid. DBGrid1.Refresh; // Close the connection. FDConnection1.Free; end; procedure TForm1.FormCreate(Sender: TObject); begin // Create a new connection object. FDConnection1 := TFDConnection.Create(nil); // Set the connection properties. FDConnection1.DriverName := 'ODBC'; FDConnection1.Params.Clear; FDConnection1.Params.Add('DriverID=ODBC'); FDConnection1.Params.Add('Database=USER_DB'); FDConnection1.Params.Add('User_Name=userid'); FDConnection1.Params.Add('Password=password'); FDConnection1.Params.Add('ODBCAdvanced=ODBCAdvanced=server=192.168.X.XX,4100;NA=192.168.X.XX,4100'); FDConnection1.Params.Add('ODBCDriver=Sybase ASE ODBC Driver'); FDConnection1.Params.Add('DataSource=sybaseODBC'); end; end. Edited 6월 22일 by 강경수 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
질문
강경수
Delphi 초짜입니다.
앞으로 Delphi로 개발해야 되어서 DB 컨넥해서 query를 실행하는 것을 코팅해보고 있습니다.
버튼클릭 시 DB 컨넥은 성공 했지만 Query를 실행하면 "insufficent information to connect to the data source"에러가 납니다.
DB는 sybase ASE를 사용하고 있습니다.
Edited by 강경수이 댓글 링크
다른 사이트에 공유하기
3 answers to this question
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.