Q&A

  • ADO 프로그램으로 구현시 접속 방법..
ADO 프로그램으로 MS SQL을 연결했습니다..
현재는 원격지 DB server로 접속을 해서...
ini 스크립트파일에 DB서버 IP, DB name, id, password정보를 가지고..
ConnectionString 을 완성하게 됩니다.

------- server.ini --------
server_ip = 61.33.000.00
db_name   = apems
id        = apemsdba
pass      = apemsdba
-------------------------


Test하는 PC에는 ODBC 설정을 하지 않았는데 실행 잘 됩니다..

그러나 다른 컴퓨터에 프로그램을 복사하고 실행하면 DB연결이 안됩니다..
물론 ini 파일두 같이 넣어줬는데 안됩니다.
그래서 ODBC설정을 해주었는데 실행이 되더군요..

이상한점은 또 다른 PC (노트북)에다가 프로그램을 설치했을땐 실행이 됬다는겁니다.. ODBC설정 없이... 이상하지 않나요??

ADO 컴포로 프로그램 개발시 배포할때는 ODBC설정이 따로 필요한건가요??
알려주세요 고수님... ^^
2  COMMENTS
  • Profile
    고니 2003.03.25 20:10
    저두 잘 모르지만.. ^^
    server.ini 데신 Server.udl 화일을 하나 만드세요 그리구 화일을 더블클릭하면 Data Link Properties 란 창이 나옵니다. 거시서 Provider Tab 에서 "Microsoft OLE DB Provider fo SQL Server" 을 선택하시고 Connection Tab에서 SQL Server, User, Password 입력하시고 Allow saving password를 체크해주세요 그리구 Select the database on the server 에서 사용할 DB를 선택한 다음 Test Connection 버튼을 클릭해서 연결이 정상적으로 되는지 확인 하신 다음  확인을 클릭해서 창을 닫아주세요.

    그리고 프로그램에서는
    ADOConnection1.ConnectionString := 'FILE NAME='+GetCurrentDir+'Server.udl';
    이렇게 써주시면 됩니다.
    Database 정보가 변경될 경우  Server.udl을 더블클릭해서 변경해주시면 되겠죠..

    udl  화일은 텍스트 문서를 만들어서 그냥 확장자만 udl 로 변경해주시면 됩니다.


  • Profile
    진돌 2003.03.26 03:06
    고니님 답변 감사합니다..
    아주 좋은 팁이네여 ^^

    근데 문제가 있습니다....
    최초에 Server.udl 파일이 없을 시에는 DB Connect Error가 뜨죠..
    그래서 연결하기 전에 파일 있는지 여부를 체크하여 파일을 생성하고
    그 파일을 실행하는 프로그램을 했는데..
    쉽게 안됩니다......
    혹시 방법을 아시는지.... 소스 첨부합니다..


    ---------------------------------------------------------------------
      if not (FileExists(GetCurrentDir+'Server.udl')) then
      begin
        ShowMessage('file not found');
        AssignFile(F, 'server.udl');
        ReWrite(F);
        WinExec('server.udl',SW_SHOWNORMAL);
      end ;

      with EMS_Connection do
      begin
        ConnectionString := 'FILE NAME='+GetCurrentDir+'Server.udl';
        ConnectionTimeout := 15;
        KeepConnection := True;
        LoginPrompt := False;
        Mode := cmShareDenyNone;
        Provider := 'SQLOLEDB.1';

        try
          Connected := True;
        except
          on E: Exception do
          begin
            Application.MessageBox(' DB connection error. ','DB',MB_ICONERROR);
          end;
        end;  // try
      end;  // with
    ---------------------------------------------------------------------






    • 차영덕
    • 2003.03.25 20:39
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      2003.03.25 23:26
      // 안녕하세요  김영대( http://www.howto.pe.kr ) 입니다 대부분의 서버를 디자인하는 사람...
    • 진돌
    • 2003.03.25 19:41
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 고니
      2003.03.25 20:10
      저두 잘 모르지만.. ^^ server.ini 데신 Server.udl 화일을 하나 만드세요 그리구 화일을 더블클릭하면 Da...
    • 진돌
      2003.03.26 03:06
      고니님 답변 감사합니다.. 아주 좋은 팁이네여 ^^ 근데 문제가 있습니다.... 최초에 Server.udl 파일...
    • 박종철
    • 2003.03.25 13:36
    • 0 COMMENTS
    • /
    • 0 LIKES
    • KDDG_Check
      2003.03.25 12:07
      안녕하세요...여유로움입니다. 인수를 배열을 넘기시면 될거 같네요. function hap(ar : array of inte...
    • 최용일
      2003.03.25 12:12
      안녕하세요. 최용일입니다. 경규님 아직두 안주무시네... 날세나봐요... 저두 날새는데... 바빠죽겠어요...
    • KDDG_Check
      2003.03.25 12:21
      헐...막 고치구 있었는데...답글이 올라오네요...ㅋㅋ 우짜다가 밤을 새요...쯧쯧 측은 지심입니다. 전 ...
    • 김영대
      2003.03.25 11:37
      // 안녕하세요  김영대( http://www.howto.pe.kr ) 입니다 Variant 타입을 써보세요
    • 이충효
      2003.03.25 20:34
      Variant 구체적으로 예를 들어주시면 감사하겠는데요!
    • 나옹이
      2003.03.25 08:49
      'inputbox' 라고 검색함 해보세용.... 지금 검색해보니깐... 원하시는 답이 있는거 같네요.... ^^*
    • 델초보
      2003.03.25 10:32
      ..
    • 차정섭
    • 2003.03.25 07:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.03.25 10:05
      안녕하세요. 최용일입니다. 제가 방금 설명서대로 설치해봤는데 잘 되는데요... 1. Unpack the archi...
    • 장경석
    • 2003.03.25 06:10
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.03.25 07:42
      안녕하세요. 최용일입니다. 예전에 구창민님이 알려준건데... 아래 코드로 해보세요... uses OLEAu...
    • 장경석
      2003.03.25 21:03
      용일님... 감사합니다. 그런데......... uses OLEAuto 를 첨부하였더니 새로운 에러가 발생하네요......
    • 최용일
      2003.03.25 21:20
      안녕하세요.. 최용일입니다. 그러면 OleAuto대신에 ActiveX유닛을 추가해보세요... 둘 다 별 차이는 ...
    • 장경석
      2003.03.25 23:16
      감사합니다. 처리는 잘 되었읍니다. 다만 Activex 유닛을 넣어도 컴파일러 에러가 나네요.... 그러다 h...
    • 장경석
      2003.04.23 21:17
    • 김희곤
    • 2003.03.25 04:01
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.03.25 05:45
      안녕하세요. 최용일입니다. WinExec나 ShellExecute함수를 이용하세요... 사용법은 델파이 도움말이...
    • 김희곤
      2003.03.26 08:15
      안녕하세요. 최용일입니다. WinExec나 ShellExecute함수를 이용하세요... ===> 님 우선 답변 ...
    • 최용일
      2003.03.25 05:46
      안녕하세요. 최용일입니다. #13#10넣으시면 될겁니다. 델파이 6이상이던가는 속성창에서도 가능할겁니다...
    • 강만섭
      2003.03.25 09:18
      정말 감사합니다. 열심히 배우겟습니다. 앞으로도 잘 부탁 드립니다. 그럼 좋은시간 되십시요. ...
    • Yellena
    • 2003.03.25 03:11
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.03.25 05:49
      안녕하세요. 최용일입니다. TDataBase컴포넌트에 아이디와 패스워드는 넣으셨는지요... 컴포넌트 더...
    • Yellena
      2003.03.25 07:18
      답변 감사드립니다. 당연하게도 아이디와 패스워드는 넣었죠...^^;; database 커넥트는 정상적으로 되고...
    • 최용일
      2003.03.25 07:33
      안녕하세요. 최용일입니다. Query컴포넌트로 작업한 뒤에 컴포넌트를 초기화 한다고 하셨는데 이부분에...
    • Yellena
      2003.03.25 20:12
      답변 감사드립니다. 자꾸 질문드려서 죄송한데여...^^;; 제 소스 입니다. 확인좀 해주시겠어여? unit ...
    • 최용일
      2003.03.25 21:29
      안녕하세요. 최용일입니다. FormCreate할때 패스워드를 공백으로 넣어주시네요...    ...
    • Yellena
      2003.03.25 21:27
      아이고 부끄로와라... 저의 실수였습니다. DatabaseName 을 설정을 잘못하는 바람에...흣... 암튼 답변 ...
    • 김영대
      2003.03.25 08:14
      // 안녕하세요  김영대(http://www.howto.pe.kr) 입니다 FTP 클라이언트를 개발중에 질문하시...
    • Runo
      2003.03.25 18:13
      저도 잘 모르지만 답변이 없어서 올려드립니다. 일단 ms-sql이랑 query는 잘 연결하신듯한 느낌이 들구요....
    • blackjewel
    • 2003.03.25 01:45
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 임옥섭
      2003.03.26 07:15
      혹시나 하여 몇자 적습니다. 저도 예전에 데이타가 좀많은 시스템을 담당했었는데 이런 문제가 발생하면...
    • 아폴론
      2003.03.25 03:20
      이런일이 있었습니다. 정수를 0으로 나눌 소지가 있을경우 Try    Except end; 이렇게 ...
    • 강미경
    • 2003.03.25 01:27
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 임옥섭
      2003.03.26 06:43
      인터베이스는 모르지만. 날짜형에서.. 특정월을 찾고자 한다면 제가 생각하기엔 TO_CHAR에 LIKE문을 사...
    • 장태원
      2003.04.01 19:08
      이렇게 하셈.. select * from abc where '2003-03-01' >= ddd     and '2003...
    • 박문규
    • 2003.03.25 00:09
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 신연근
      2003.03.25 08:19
      아주간단한 방법이 있습니다. 그냥 showmessage(text); 이렇게 추가하시면 쿼리문이 showmessage로...
    • KDDG_ZZOM
      2003.03.25 00:12
      Query1.Sql.Text라는 걸 가지고 메모박스같은데 입력해도 되고요 Query1.SQL.SaveToFile('c:temptest.sql'...
    • 노명환
    • 2003.03.24 23:32
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.03.25 07:49
      안녕하세요. 최용일입니다. 폼의 CreateParam함수를 아래처럼 코딩해주세요... type   &n...
    • 김민아
    • 2003.03.24 23:12
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.03.25 07:51
      안녕하세요. 최용일입니다. DLL과 MDI프로그램의 TApplication, TScreen객체의 싱크를 맞춰보세요... ...
    • 조경모
    • 2003.03.24 20:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이해원
      2003.03.24 21:03
      다이알로그에서 컴포넌트에 확장자 마시킹하는것이 있을것입니다. var     dest :...
    • 최진욱
    • 2003.03.24 20:09
    • 3 COMMENTS
    • /
    • 0 LIKES
    • KDDG_Drop
      2003.03.24 22:58
      안녕하세요. 주삼식입니다. 아마도 윈도우2000이나 XP에서 그렇죠? 왜냐하면 이것들은 모든 파일(디렉...
    • 최진욱
      2003.03.24 23:27
      주삼식님 답변에 감사 드립니다. 그렇군요.. 허 이것 프로그램은 할 수록 모르는게 많아 지는거 같으니.. ...
    • KDDG_Drop
      2003.03.25 03:41
      안녕하세요. 주삼식입니다. ㅎㅎ. 제가 정확하게 기억이 나지 않습니다. 하지만 SHFileOperation은 확실...