C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[41898] Re:Re:Re:[질문]Database 연결상태 확인방법
소리바람.OJ [phonon] 1417 읽음    2005-09-12 14:21
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;
: : :     }
: : :
: : : 여러 고수님들의 조언 부탁드립니다.
: : : 그럼 수고하시고 좋은하루 되세요 ^^*

+ -

관련 글 리스트
41894 [질문]Database 연결상태 확인방법 이성희 1591 2005/09/12
41895     Re:[질문]Database 연결상태 확인방법 소리바람.OJ 2025 2005/09/12
41896         Re:Re:[질문]Database 연결상태 확인방법 이성희 1279 2005/09/12
41898             Re:Re:Re:[질문]Database 연결상태 확인방법 소리바람.OJ 1417 2005/09/12
41904                 Re:Re:Re:Re:[질문]Database 연결상태 확인방법 오전&오후 1498 2005/09/12
41905                     Re:Re:Re:Re:Re:[질문]Database 연결상태 확인방법 소리바람.OJ 1347 2005/09/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.