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

델파이 FAQ
Delphi Programming FAQ
[8] [DB][ADO]ADO 와 연결스트링에 대해서...
에보니.^ㅅ^ [mortalpain] 22972 읽음    2001-09-03 12:15
ADO 컴포넌트를 사용할때 데이타베이스에 연결하기 위해 연결 스트링을 사용합니다.
ADO 컴포넌트탭에 있는 모든 컴포넌트에 ConnectionString 프로퍼티가 있고요.
여기에다 연결 스트링을 작성하시면 됩니다.

주로 데이타베이스 컴포넌트 역할을 하는 ADOConnection 컴포넌트에다 작성하여 다른 ADO 관련 컴포넌트에
연결을 시키는 방식으로 사용됩니다. 물론 데이타베이스 컴포넌트 없이 그냥 Data Access 컴포넌트 탭의 테이블이나 쿼리를 하나씩 사용할 수 있듯이 ADO 관련 탭의 ADOTable 이나 ADOQuery 에도 연결 스트링을 작성하고 그냥 사용 하셔도 됩니다. 그러나 트랜잭션 까지 고려해야 한다면 ADOConnection 을 사용해서 연결을 사용하시기를 권장드립니다.

자 그럼 관련 질문을 정리해 보죠....

공부중님 : 왜 ADO 를 사용하나요? 특히 MDB 나 SQL 을 사용할때여... 그리고 BDE 랑 차이점은여?

해당화님 : 기존의 TTabel나 TQuery같은것은 BDE를 기본으로 사용합니다.

           따라서 간단한 DB프로그래밍을 해도 BDE가 기본적으로 따라가야 하죠... 근데 이넘이

           무지 무겁거덩여.. 그리고 MSSQLServer이나 MDB쪽으로 연결하는것은 BDE를 쓰는 것보다

           ADO를 쓰는 것이 훨씬더 빠릅니다. 오라클쪽은 잘모르겠네요.. 오라클쪽은 BDE만 사용해봤거덩

           여.. (요게 궁합은 최고로 잘맞는데.. ㅋㅋㅋ)  <--- 정말 그렇습니다. =ㅅ=;;

           ADO를 쓰시면 BDE가 따라가질 않으니까 배포시 플그램이 가벼워 질겁니다. M$쪽을 사용하시면

           속도도 많이 올라갈꺼고요   써보니. 쓰기에도 조금씩 편한점이 있더군요...

최보현님 : 별반 차이는 없습니다.  구냥 ADO 라는 기술이 있기에 사용 한다구 생각 하시면 됩니다 ...

           저같은 경우 ... ODBC 보다 ADO 를 더 선호하는 편인데요 <---  탁월한 선택임다. =ㅅ=;;

           ADO 를 쓰게 되면 일단 ODBC 셋팅을 않해줘도 되잖아요 ...

           그리구 또 한가지 ODBC 보다는 ADO 가 훨씬 확장성이 있다는 야그~

           물론 ODBC 가 범용적인 면이 있지만 ...

           1. 여러가지 거의 모든 데이타베이스를 지원한다.
           2. 아직까지 데이타베이스를 연결 하는 기법으론 산업 표준이라 할수 있다.
              ( 따라서 산업 표준이기 때문에 지원 못 하는 경우가 많이 있다는게 단점 )

           SQL 서버나 MDB 를 쓰시는 경우라면은 ADO 가 ODBC보다는 좀 더 많은 함수들과 기법들을 이용할

           수 있습니다  <---- 그뿐만 아니라 디비 레이어를 하나 덜 거치기 땜시 훨 빠름다. =ㅅ=;;

***************************************************************************************************

박천일님 : "ADO를 사용하면 특별히 ODBC를 사용하지 않아도 된다"라고 하는데 어떤식으로 그렇게 되죠?

           참고로 제같은 경우에는 ADO Connection과 ADO Query등을 사용해서 프로그램을 짜고 있는데..
         
           ODBC를 설정하지 않으니 에러가 나더라구요 (SQL 서버를 쓰고 있는데 서버와 연결할 수 없다는

           에러가 나더군요) 그래서 ODBC를 설정을 해서(이거 상당히 귀찮습니다) 사용을 하고 있는데

           ODBC 쓰지 않는 방법이 없나하고 찾고 있습니다. ODBC를 잡지 않고 바로 연결할 수 있는 방법

           을 알려주시겠습니까?

최보현님 : 음 ... 당연히 ADO 를 사용 하면 ODBC 설정을 하지 않아도 됩니다 . 일단 ADOConnection 을 두

           고 그것에 연결 설정을 SQL Server 로 하십시요~ 그리고 데이타 베이스 설정하구 ID 하구 암호

           잡아주면 바로 되는되여~ 음 혹시 나 해서 하는 질문인데여 혹시 ADO 커넥션의 드라이버를 무엇

           으로 잡으셨나요~ 공급자 설정에서 OLE DB Microsoft OLE DB Provider for SQL Server 로 설정

           하셨는지요 그렇게만 하면 되는데여~ 그리고 나서 다음 버튼을 누르면 한참후에 ... SQL 서버

           를 선택 하는 탭으러 넘어가지요 거기서 서버 잡아주고 ID 하고 암호 하구 넣고 기본 데이타 베

           이스 설정 하면 끝납니다.

***************************************************************************************************

^0^n 님 :  ADO 의 연결 스트링에 대해서 좀 더 자세하게 설명해 주세요.

           그밖에 연결 스트링이나 ODBC 설정도 동적으로 생성시키는 방법도 있다고 하는데...

           가르쳐 주세요..

=ㅅ= 님 :  네네... 에보니의 경우 이렇게 사용하고 있습니다.

           연결 스트링을 코딩 상으로 생성한답니다.  웹에서 주로 사용하는 방법이에염.

           OLE DB를 사용해서 연결 스트링을 생성한답니다. 자 보세여. 앞의 여러 답변과 같이 주로

           mdb 나 SQL Server 를 사용하실때 쓰는 방법입니다.

           **** MS-Access 를 사용할때 OLE DB를 통한 직접 연결을 위한 커넥션 스트링 *****

           Provider=Microsoft.Jet.OLEDB.4.0;ID=Ebony;PWD=000;Data Source=" + ExtractFileDir       

           (Application->ExeName) + "\\Data\\Ebony.mdb";

           Microsoft.Jet.OLEDB.4.0 는 액세스 2000 을 사용하실때 입니다. 97은 뒤의 숫자가 3.51 임

           Ebony 란 사용자가 000 이란 페스워드로 어플 바로 밑의 Data 디렉토리에 Ebony.mdb 를 디비로

           사용할 때의 연결 스트링입니다.

           **** SQL Server를 사용할때 OLE DB를 통한 직접 연결을 위한 커넥션 스트링 *****

           "Provider=SQLOLEDB;Server=Ebony;Database=BCBDN;UID=ebony;PWD=000"

           Ebony 라는 Server 의 BCBDN 데이타베이스를 아이디 ebony 비밀번호 000 으로 접속하겠다는 뜻.

           여기서 중요한 것이 Server=Ebony 인데 이때 서버가 로컬머신에 있다면 서버이름이 Ebony 겠죠?

           원격에 있으면 Client Network Utility로 Ebony 라는 앨리어스를 잡아주세요..

           물론 해당 서버에 BCBDN 이라는 데이타베이스와 패스워드 000인 ebony라는 사용자와 그에맞는

           권한이 있어야 됩니다.

           자 그럼 다음은 연결스트링으로 ODBC 동적생성을 시키는 방법 입니다.

           이것은 흡사 OLE DB 의 연결 스트링처럼 보이지만 실제론 ODBC 설정에 관련된 것입니다.

           OLE DB 가 범용적인 ODBC 를 수용했기 때문에 이런 것이 가능합니다. 그러나 Native OLE DB

           보다 DB Layer 층을 한단계를 더 거치기 때문에 조금 느리겠죠? 그래도 ODBC 설정을 일일이

           안해줘도 디비에 붙을 수 있어여. 디비가 물린 간단한 웹페이지나 배포를 염두에 둔 간단한 액

           세스를 사용한 어플에 사용합니다.

           **** MS-Access 를 사용할때 ODBC 동적 생성을 위한 커넥션 스트링 ******

           "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" + ExtractFileDir(Application->ExeName)

           + "\\Data\\Ebony.mdb";

           어플 바로 밑의 Data 디렉토리에 Ebony.mdb 를 디비로 사용할 때의 연결 스트링입니다.

           MS-Access 말고도 SQL Server 도 있습니다.

           **** SQL Server 를 사용할때 ODBC 동적 생성을 위한 커넥션 스트링 ******

           "DRIVER={SQL Server};Server=Ebony;Database=BCBDN;UID=ebony;PWD=000";

           역시 Server 부분이 중요한데 연결 스트링과 그 내용은 같습니다. 네트웍이 잘 정리된 도메인

           내에서나 인트라넷 정도에서 사용합니다.

           흔치않은 경운데 배포를 생각한다면 Ebony 라는 앨리어스 대신에 서버 아이피를 직접 써주고

           설치본에서 필요한 네트웍 라이브러리를 추가 시켜 주세요.

***************************************************************************************************

자 이 FAQ 는 내용이 갱신이 됩니다. 앞으로 더욱 기대해 주세요. =ㅅ=;;          

+ -

관련 글 리스트
8 [DB][ADO]ADO 와 연결스트링에 대해서... 에보니.^ㅅ^ 22972 2001-09-03
(링크)     C++Builder FAQ > [DB][ADO]ADO 와 연결스트링에 대해서...
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.