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

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[705] TService에서 TQuery 또는 TADOConnection사용시 주의할 사항.
KB [skywind] 7473 읽음    2007-08-30 18:23
보통의 DB Application을 TService 안에서 CreateProcess 또는 Winexec로 실행하면,

DB연결이 정상적으로 되지 않는 경우가 있습니다.  그냥 윈도우화면에서 실행하면 정상적으로 작동하는데 서비스안에서 실행하면 DB 연결하는 부분에서 exception이 발행합니다. 이것 막상 당해보면 정신놓게 됩니다.

이문제는 대부분 ODBC설정과 관련되어 있습니다. 저는 c++builder 6 사용합니다.

제가 겪은 시나리오 입니다.

DB는 SQL서버이고 ADOConnection을 통해서 연결해서 잘 사용하고 있었는데,  컴퓨터가 시작되면 자동으로 시작되로록 service에서 실행하니까 문제가 발생했습니다.

결국 원인은 ADOConnection 공급자에서 Microsoft OLE DB Provider for ODBC drivers를 사용했는데,
이것을 Microsoft OLE DB Provider for SQL Server로 변경하니까 정상적으로 작동합니다.

BDE에서도 ODBC Alias를 사용하면 같은 현상이 발생하므로 연결시에 MSSQL로 사용해야 합니다.
(*BDE Administrator에서 icon이 BCDEMOS와 같도록 하면됩니다.)
KB [skywind]   2007-08-30 18:34 X
TService에서 작업할때도 마찬가지입니다.
디자인타임에서 Microsoft OLE DB Provider for ODBC drivers로 연결했을때 connect되다가, Runtime에서는 연결이 안되는 경우가 발생합니다.

+ -

관련 글 리스트
705 TService에서 TQuery 또는 TADOConnection사용시 주의할 사항. KB 7473 2007/08/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.