ODBC가 사용되는 곳이라면 ADO로 대체가 가능합니다.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString mSQL = "select * from Employees";
ADOQuery1->Active = false;
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->ConnectionString = "Provider=SQLOLEDB.1;Password=12345;Persist Security Info=True;User ID=sa;Initial Catalog=Northwind;Data Source=192.168.1.1";
ADOQuery1->SQL->Text = mSQL;
ADOQuery1->Open();
ADOQuery1->Active = true;
}
위의 예제에서 보시면 'ConnectionString'이라는 곳에 DB Driver의 제공자를 바꾸시면 대부분의 DB를 지원할 수 있습니다. 아래의 사이트에 각 DB Provider에 대한 리스트가 있습니다.
http://www.connectionstrings.com/
또한, 연결스트링에 user id와 password를 넣으시면 다시 물어보는 일은 없습니다.
그럼,
오늘도 건승을 빕니다.
이성희 님이 쓰신 글 :
: 신경써서 답변 해주신거 너무 너무 감사드립니다.
: 그런데 제가 디비가 상황에 따라서 변할수가 있어서 ODBC를 사용해야할것 같은데요
: 해결 방법이 없을까요?
:
: 소리바람.OJ 님이 쓰신 글 :
: : MS-SQL를 사용하실 경우에는 ADO나 OLEDB를 사용하시는 것이 편하고 이점도 많습니다.
: :
: : C++Builder와 Delphi에서도 ADO를 제공하고 있습니다. 강좌 게시판을 검색해 보시면 아래와 같이 사용에 관한 정보가 있습니다. 참고하시기 바랍니다.
: :
: :
http://cbuilder.borlandforum.com/impboard/impsearch.dll?action=simple&db=bcb_tutorial&keyword=ado&x=0&y=0&insubject=1&incontent=1
: :
: :
: : 그럼,
: : 오늘도 건승을 빕니다.
: :
: :
: : 이성희 님이 쓰신 글 :
: : : 안녕하세요 개발자 초보입니다.
: : : 데이타베이스 연결이 않되는 것 같으데 확인이 않됩니다
: : : 연결은 ODBC를 이용해서 연결하고 있습니다.
: : : 서버는 2000서버,SQL2000을 사용하고 있습니다.
: : : Database1->Connected = false;
: : : Database1->DriverName = "MS-SQL";
: : :
: : : Database1->Params->Clear();
: : : Database1->DatabaseName = DBName;
: : : Database1->AliasName= AliasName;
: : : Database1->Params->Add("USER NAME="+UserN+"");
: : : Database1->Params->Add("PASSWORD="+PassN+"");
: : : Database1->Params->Add("BLOBS TO CACHE=65535");
: : : try
: : : {
: : : Database1->Connected = true;
: : : }
: : : catch(...)
: : : {
: : : flag=false;
: : : ShowMessage("공통정보 서버를 찾을수 없습니다.");
: : : }
: : : Database1은 연결이 잘 이루어 지고 이상이 없습니다.
: : : 그런데 Database2를 사용하는 Query를 사용하면 서버 연결하라는 메세지 차이 나타납니다.
: : : 그리고 서버 로그인을 다시 한번 하게 됩니다. 그 이후로는 사용이 잘 됩니다.
: : : Database1,Database2 메인폼이 실행되면서 연결 설정 되어있습니다.
: : : 그런데 프로그램 사용중에 다시한번 로그인하게 되는데 도무지 해결방법이 떠오르지 않네요
: : :
: : : Database2->Connected = false;
: : : Database2->DriverName = "MS-SQL";
: : :
: : : Database2->Params->Clear();
: : : Database2->DatabaseName = DBName2;
: : : Database2->AliasName= AliasName2;
: : : Database2->Params->Add("USER NAME="+UserN2+"");
: : : Database2->Params->Add("PASSWORD="+PassN2+"");
: : : Database2->Params->Add("BLOBS TO CACHE=65535");
: : :
: : : try
: : : {
: : : Database2->Connected = true;
: : : }
: : : catch(...)
: : : {
: : : flag=false;
: : : ShowMessage("서버를 찾을수 없습니다.");
: : : }
: : :
: : : 연결상태 체크해봤는데 연결중인지 여길 거치지 않네요
: : : 정말 답답합니다 ㅜ,.ㅡ
: : : if(Database2->Connected == false)
: : : {
: : : ShowMessage("업무일지 서버를 연결 할 수 없습니다.");
: : : Database2->Connected = true;
: : : }
: : :
: : : 여러 고수님들의 조언 부탁드립니다.
: : : 그럼 수고하시고 좋은하루 되세요 ^^*