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
[10060] Re:[재질문] ODBC설정없이 ADO쓰기...
에보니.^0^ [mortalpain] 1882 읽음    2001-08-20 11:57
박천일 님이 쓰신 글 :
: 안녕하십니까?
:
: 저~~ 아래에 ODBC설정없이 ADO쓰는 방법에 대해서 최보현님께 질문을 드렸던 사람입니다.
:
: 최보현님께서 답변하신데로
:
: TADOConnection 의 ConnectionString프로퍼티에 들어가서
:
: 공급자를  Microsoft OLE DB Provider for SQL Server로 한 후
:
: 연결 탭에서
:
: 서버이름 : 서버의 IP로 주었습니다.
: ID, PASS : 정확하게 넣었습니다.
:
: 그런 후 연결테스트를 하면 "연결되었습니다"로 나와서 개발을 하고 있는 컴퓨터에서는
: 연결이 잘 됩니다.
:
: 그런 후 다른컴퓨터에서 테스트를 할려고 2대의 컴퓨터에 깔아서 테스트를 해보니
: 에러가 나면서 연결이 안됩니다.
:
: 에러의 내용은 [DBNMPNTW] ConnectionOpne (CreateFile())
: 이라고 나더군요
:
: 왜 개발을 하고 있는 컴퓨터에서는 ODBC없이 연결이 잘 되는데 테스트용 컴퓨터(OS가 Win2000 한대(SQL서버 안깔려있습니다), WinNT4.0한대(SQL 서버 깔려있습니다)입니다)에서는 에러가 나면서 연결이 안될까요?
:
: 경험이 있으시거나 뭔가 느낌이 온다고 생각하시는분 답변좀 주십시요
:
: 그럼...

안녕하세요 에보니입니다.

원래 이 내용은 제가 팁으로 올릴려고 햇는데 제가 요즘 게을러져서 (낼이 휴가입니다) 못 올릴고 있었네요

간단히 예를 들자면 저 같은 경우 일일이 IDE 에서 셋팅을 안하고 걍 코딩 상으로 커넥 스트링을 데이타모

듈이나 웹 모듈이 생성될때나 테이타 커넥이 발생할때 동적으로 처리하는데 보세요.

ADO 도 비디이처럼 두가지 방법정도로 테이타 코넥을 할 수 있는데 오디비시랑 오엘이디비라는 애들을 사용

합니다. 오디비시는 왠만한 초보 데이타베이수 프로그래머라믄 그 설정 방법은 아실거구요.

근데 배포하는 입장에선 일일이 잡아주거나 아니믄 코딩으로 막노가다해서 설치시에 함께 잡아주는게 있는

데 물론 windows api 를 써야 되지만여. 저같은 경우 초보에서 좀 하자 빌더로 직접 코딩하여 디엘엘 형태

로 오디비시를 설치시나 프로그램 초기화 할때 잡아준 적이 있었는데 빌더 쓰다가 갑자기 api 를 할려고 하

자 그 무자비한 코딩량에 놀라자빠졌습니다 뭐 함수는 고작 6개 정도 밖에 안됬는데요. 나중에 기회가 되

면 팁에서 공개를 하겠슴다 저처럼 객기로 미친짓을 하실분들이 많다면.... -_-;;

그러나 에이디오의 경우 뭐 구지 이런 막노가다를 안해도 되는 방법이 있슴다.

간단하게 연결스트링에 한줄 추가로 오디비시가 동적으로 생성이 됩니다. 특히 액세스의 경우가 그런데...

자 보세요.

**** 액세스를 사용할때 오디비시 동적 생성을 위한 커넥션 스트링 ******

액세수 데이타베이스 파일이 배포하는 실행화일 밑의 Data 디렉토리의 mortalpain.mdb 일때 ^0^넘은 커넥션

^0^->ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" + ExtractFileDir

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

짜잔 해버리면 DSN 을 안잡아도 됩니다.

헐, 단 하위버젼의 윈도우즈 일 경우 Mdac 을 설치하시는 건 당연하죠.

**** 액세스를 사용할때 오엘이 디비를 통한 직접 연결을 위한 커넥션 스트링 *****

^0^->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;ID=^0^;PWD=에보니;Data Source=" +

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

이건 걍 덤임니다. 코딩으로 함 해본거구여. IDE에서 해버리면 되어여.

그럼 님이 물으신 답변입니다. 님의 경우 그런 현상은 당연한 것입니다. 서버가 어디에 있는지 몰르니까 못

찾아간거에염. 단지 데이타베이스 어플리케이션이 붙어라 붙어라 한다고 해서 데이타베이스에서 기 붙는게

아니에염. 당근 개발하고 있는 로컬 컴에서는 잘 기 붙죠. 그럼 자 보세요.

****  SQL 을 사용할때 오엘이 디비를 통한 직접 연결을 위한 커넥션 스트링 *****

^0^->ConnectionString = "Provider=SQLOLEDB;Server=에보니;Database=MORTALPAIN;UID=icon;PWD=data"

뭐 빌더에서 여러가지 복잡하게 연결 스트링을 만드는데 이렇게만 써 줘도 다 됨다. 사실 웹에서 사용하는

방법이죠. 여기서 주의하게 봐야 될것은 Server=에보니 라는 대목입니다.

Database=MORTALPAIN;UID=icon;PWD=data 이부분은 MORTALPAIN 데이타베이스에 icon 이라는 사용자와 data

라는 패스워드로 붙겟다는 뜻입니다. 사용자와 패스워드 기본 데이타베이스의 정보는 당연하고 핵심적인 사

항이죠. 자 그럼 Server=에보니 는 무슨 뜻일 까요?  이건 말 그대로 어디 서버를 찾아가겠다는 뜻입니다.

로컬컴에서는 에스큐엘을 깔면 컴의 넷바이오스이름이 기본적으로 서버의 서비스네임이 설정되게 되어 있슴

다. 그러니까 당연히 로컬 컴에서는 잘 기 붙을 수 밖에 없죠. 그러믄 다른 컴이나 리모트 컴에서는 어케

기붙나요? 질문이 떠오르죠. 사실 제가 팁코너에서 비디이로 직접 RDBMS 를 붙는 방법을 써 놓은 것을 보

신 분이라면 퍼뜩 떠올릴 겁니다. 그렇죠? 바로 클라이언트 네트웍 유틸리티의 앨리어스 네임을 써 주시면

됩니다. 그러니까 리모트 컴에선 이 서버가 어디에 있는지 몰르니까 클라이언트 네트웍 유틸리티를 해당

리모트 컴에 설치하시고 앨리어스를 잡아주시고 그 앨리어스 네임을 위의 코딩한 부분과 같이 설정해 주시

면 됩니다.

그러니까 설치후 클라이언트 네트웍 유틸(이것만 까세요 --- 서버까지 통째로 기 깔면 안되죠? 사용자정의

로 설치하셔야죠?)에서 서버 앨리어스 네임을 에보니로 잡고 서버 네임에다 해당 데이타베이스의 아이피 주

소를 잡아주시면 됩니다.

분명히 될껍니다. 이런 글이 넘 길어졌네요. 오라클도 이 연결 스트링으로 붙을 수 있습니다만 그건 또 다

음을 기약하겟슴니다.

사실 에보니(빌더)로 디비 프로그래밍은 조금만 맛 보고 바짝 조으면 누구나 왠만한 조작은 할 수 있게 됩

니다. 그러나 몇번만 하면 노가다가 되기 쉽고 쉽게 질리게 되죠 따져야 되는 것도 되게 많구요.

(저 같은 경우 오브젝 레포지터리에 기본 템플릿을 두고 꺼내 쓰는 식으로 이 문제를 해결하고 있는데

시간이 지나면 그것도 질리게 됩니다 뭐 빌더의 막강함에 기생하는 것도 좋습니다. 사실 RAD 는 이런게

강점이죠)

그러나 이왕 하실때 많은 병아리 초보 개발자분들에게 아키텍쳐 위주로 폭 넓게 공부를 하실 것을 권해 드

립니다. 그리고 대부분의 큰 프로젝일 경우 디비는 필 수 입니다. 너무 얕게 공부하시면 코더밖에 되지 않

습니다. 자신의 실력도 실력이거니와 PM 급으로 성장 하실려면 넓고 깊게 공부하셔야 됩니다.

그럼 즐 프 하세용~ ^0^n

+ -

관련 글 리스트
10052 [재질문] ODBC설정없이 ADO쓰기... 박천일 1285 2001/08/20
10060     Re:[재질문] ODBC설정없이 ADO쓰기... 에보니.^0^ 1882 2001/08/20
10066         Re:Re:[재질문] ODBC설정없이 ADO쓰기... 박천일 1102 2001/08/20
10079             Re:Re:Re:[재질문] ODBC설정없이 ADO쓰기... 에보니.^0^ 1330 2001/08/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.