Q&A

  • ODBC연결시 에러
안녕하세요. 델파이로 MS-SQL 2000 연결해서 개발하려고 합니다.
일단, 제 피씨에는window xp, 델파이 6, ms-sql 2000 client 이렇게 있구요.
ms-sql 2000서버가  window2003에 깔려있습니다.

ODBC연결하려고 하는데 'SQL server에 새로운 데이터 만들기'에서 windows NT인증 사용을 선택해도 그렇고, SQL Server 인증 사용을 선택해도 그렇습니다.
일단 ms-sql 2000서버에서 서비스 관리자 상태를 보면 실행중으로 되어있구요..

에러메세지는
<연결실패:
  SQL상태 : '01000'
  SQL서버오류 : 10061
  [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]ConnectionOpen(Connect()).
  연결실패:
  SQL상태 : '08001'
  SQL서버오류 : 17
  [Microsoft][ODBC SQL Server Driver][TCP/IP Sockets]SQL Server가 없거나 액세스할 수 없습니다.>

일단 SQL 서버는 실행중인데 연결을 할 수가 없다니.. 뭐가 잘못된 건지 모르겠습니다.
확인해볼 사항이 뭐뭐가 있는지 고수님들의 친절한 답변 부탁드려요~~



질문 하나 더.
제가 데이터베이스 하나 생성하고, 테이블도 생성했습니다.
그리고 제 컴에서 delphi에서 database컴포넌트로 DatabaseName을 새로만든 데이터베이스로 설정하고query컴포넌트에서 Active를 true로 바꾸면 Database Login하는 팝업창이 나오는데..
거기의 username이랑 password에 어떤걸 적어야하는지 모르겠습니다.
데이터베이스 생성시에 username이랑 적는게 없었던거 같은데요..
그리고 BDE Administrator에서  Databases에서 New로 제가 만든 데이터베이스 만들고 SERVERNAME이랑(SERVERNAME이 혹시 서비스관리자 실행시 서버에 나오는 이름이 맞는지요?) USER NAME적는 항목도 있는데 거기에도 어떤거를 적어야하는지 모르겠습니다..
너무 답답합니다..

다시한번 친절한 답변 부탁드릴께요~



  
1  COMMENTS
  • Profile
    Crazy™ 2008.03.03 19:50
    1. 'SQL server에 새로운 데이터 만들기'
    => 1번 질문은 제가 잘 이해를 못하겠는데, 현재 개발중인 PC의 MS-SQL 해당 드라이버가 없다는 메시지인데
           드라이버가 설치되었는지 확인해 보시구요,
            odbc 연결설정은 먼저 하신건지요?
            또는 SQL Server 2000이니  Client Network Utiluty 에서 설정은 하신건지요?
            그리고 BDE에서 NTWDBLIB.DLL 을 사용하게 하셧는지요?

    2. 기의 username이랑 password에 어떤걸 적어야하는지 모르겠습니다.
    => MS-SQL Server의 데이타베이스 로그인할수 있는 권한입니다.
          EM (Enterprise Manager)을 열어서 보안을 보시면 생성된 유저들이 있고, 그 유저들이 접근할 수 있는
          데이타베이스가 체크 되어있을겁니다.
          도저히 못찾으시겠다면 설치하실때 sa 계정주셧죠? 그걸 주셔도 됩니다.
          참고로 Database 컴퍼넌트의 프로퍼티중 LoginPrompt를 False 하면 팝업창은 안뜹니다.
          단 파라미터에 미리 넣어놓으셔야 하겠죵..  

    3. SERVERNAME이랑
    => MS-SQL Server가 설치된 Ip 또는 해당 컴퓨터명을 입력하시면 됩니다.
          당연히 컴퓨터명이나 공인ip가 아니라면 내부 네트웍에 한해서겠죠.
          UserName은 명칭 그대로 2번에 적힌 SQL Server 해당 데티아베이스의 로그인할때 계정ID입니다.
      
    p.s) 질문으로 보아 DB => ODBC => BDE => 프로그램 이렇게 연결하시려는 거 같은데
    BDE 자체가 ODBC( 데이타 공급자 역할)을 해줍니다.
    그리고 Client Network Utility가 서버와 클라이언트간의 연결을 잡아주기도 하지요
    허나 지금 하시려는 방법은 중간에 빠져도 될 부분까지 하시는 것 같네요..

    2번 3번 사항들은 BDE에서 굳이 설정을 안하셔도 프로그램상에서 Database 컴퍼넌트 안에 파라미터나, 코딩으로 처리하시는게 더 낳은 방법입니다.
    bde에서 값을 입력 후 컨넥트가 정상적으로 되었는지 용도로만 쓰죠
    여기에 좀 더 추가를 하신다면 BDE Alias 를 체크해서 없으면 직접 생성하는것부터 하시면 더욱 좋겠지요..