ODBC 드라이버 설치 확인

요약

이 문서에서는 Windows 컴퓨터에 ODBC(Open Database Connectivity) 드라이버가 설치, 등록 및 올바르게 구성되어 있는지 확인하는 방법을 보여 줍니다. 애플리케이션이 데이터베이스에 연결할 수 없거나, ODBC 드라이버가 ODBC 데이터 원본 관리자에 표시되지 않거나 오류가 발생할 Data source name not found and no default driver specified 때 사용합니다(SQLSTATE IM002). 확인 단계에서는 ODBC 데이터 원본 관리자의 32비트 및 64비트 복사본, Windows 레지스트리의 DSN(데이터 원본 이름) 및 드라이버 항목 및 애플리케이션이 ODBC 드라이버 관리자에 전달하는 연결 문자열 다룹니다.

어떤 ODBC 데이터 원본 관리자 복사본을 열어야 하나요?

64비트 버전의 Windows ODBC 데이터 원본 관리자에는 두 개의 복사본이 있으며 각 복사본은 해당 비트와 일치하는 드라이버 및 시스템 DSN을 관리합니다.

  • 64비트 애플리케이션의 경우 Windows+을 선택하고 ODBCAD32.EXE 또는 C:\WINDOWS\SYSTEM32\ODBCAD32.EXE 입력합니다.

  • 32비트 애플리케이션의 경우 Windows+을 선택하고 C:\WINDOWS\SYSWOW64\ODBCAD32.EXE 입력합니다.

두 실행 파일 모두 odbcad32.exe이름이 지정되므로 폴더 경로에 따라 여는 실행 파일이 결정됩니다. 항상 도구의 비트 버전을 연결을 수행하는 애플리케이션의 비트 버전에 맞추세요. 32비트 애플리케이션은 64비트 ODBC 드라이버를 로드할 수 없으며 64비트 애플리케이션은 32비트 ODBC 드라이버를 로드할 수 없습니다.

ODBC 연결 문자열 예

ODBC 드라이버를 호출하는 애플리케이션은 DSN(데이터 원본 이름) 또는 DSN이 없는 연결 문자열을 사용할 수 있습니다. 예제는 다음과 같습니다.

  • driver={ODBC Driver 18 for SQL Server};server=sqlprod01;database=AdventureWorks;trusted_connection=yes
  • dsn=userdsn1
  • dsn=test;uid=<user name>;pwd=<password>

첫 번째 연결 문자열 드라이버 이름, 서버 이름, 데이터베이스 이름 및 통합 보안(trusted_connection)을 사용할지 여부를 명시적으로 지정합니다. DSN이 없는 연결입니다.

두 번째 및 세 번째 연결 문자열 레지스트리에 저장된 이러한 항목의 캡슐화인 DSN을 사용합니다. 사용자 이름과 암호는 DSN에 저장할 수 없으며 명시적으로 지정해야 합니다. DSN 특성에 대한 자세한 내용은 DSN 연결 문자열 특성을 참조하세요.

DSN은 애플리케이션이 드라이버를 로드할 수 있도록 하는 바로 가기 역할을 하며, 한 단계의 간접성을 제공합니다. DSN을 사용하면 애플리케이션을 변경하지 않고도 애플리케이션이 연결하는 데이터베이스 유형과 서버, 데이터베이스를 변경할 수 있습니다.

연결 문자열의 드라이버 이름은 컴퓨터에 등록된 드라이버 이름과 일치해야 합니다. 드라이버 및 DSN 이름은 대/소문자를 구분하지 않지만 맞춤법 및 문장 부호는 정확히 일치해야 합니다. 등록된 드라이버가 일치하지 않는 경우 ODBC 드라이버 관리자는 드라이버를 로드할 수 없습니다.

참고

SQL Server Windows 함께 제공되는 드라이버(sqlsrv32.dll)와 SQL Server Native Client 드라이버()는SQL Server Native Client 11.0 새 개발에 권장되지 않습니다. SQL Server Native Client는 SQL Server 2022(16.x) 이상 버전 또는 SQL Server Management Studio 19 이상 버전과 함께 제공되지 않습니다. 새 연결의 경우 Windows, Linux 및 macOS용으로 다운로드할 수 있는 SQL Server Microsoft ODBC Driver를 사용합니다.

드라이버 및 DSN이 ODBC 데이터 원본 관리자에 표시되는지 확인합니다.

ODBC 데이터 원본 관리자를 사용하여 ODBC 드라이버 및 DSN이 있는지 확인합니다. 애플리케이션의 비트와 일치하는 복사본을 연 다음 드라이버 탭을 확인하여 드라이버가 나열되는지 확인합니다. 다음 스크린샷은 64비트 및 32비트 드라이버를 보여줍니다.

스크린샷은 64비트 드라이버를 보여줍니다.

스크린샷은 32비트 드라이버를 보여줍니다.

드라이버가 나열된 경우 시스템 DSN 또는 사용자 DSN 탭에서 테스트 DSN 을 만들고 연결 테스트를 실행합니다. 테스트에 성공하면 드라이버가 로드되고 서버에 연결할 수 있는지 확인합니다. 드라이버가 나열되지 않은 경우 드라이버를 다시 설치한 다음 다음 섹션에 설명된 대로 레지스트리 키를 확인합니다.

레지스트리의 ODBC 드라이버 및 DSN 정보

드라이버 및 DSN 정보는 레지스트리에 저장됩니다.

스크린샷은 레지스트리의 드라이버 및 DSN 정보를 보여줍니다.

64비트 컴퓨터에서 레지스트리 리디렉션은 드라이버 및 시스템 DSN에 대한 32비트 및 64비트 정보를 구분합니다. 레지스트리 항목에는 Wow6432Node 32비트 드라이버 및 시스템 DSN 정보가 저장됩니다. 사용자 DSN은 리디렉션되지 않으므로 32비트 및 64비트 도구 모두 모든 사용자 DSN을 표시합니다. 관련 키는 다음과 같습니다.

  • HKEY_LOCAL_MACHINE\SOFTWARE\ODBC (64비트 드라이버 및 시스템 DSN)
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC (32비트 드라이버 및 시스템 DSN)
  • HKEY_CURRENT_USER\Software\ODBC (현재 사용자의 사용자 DSN)

하위 키에는 ODBC.INI 각 DSN에 대한 모든 DSN 및 하위 키 목록이 포함됩니다. 하위 키는 ODBCINST.INI 모든 드라이버를 나열합니다.

스크린샷은 ODBC.INI 및 ODBCINST.INI 하위 키를 보여줍니다.

DSN을 통해 드라이버를 로드하는 데 문제가 있는 경우 하위 키를 확인 ODBC.INI 하여 DSN에서 사용 중인 드라이버를 확인합니다.

스크린샷은 DSN에서 사용 중인 드라이버를 찾는 방법을 보여 줍니다.

또한 아래에 나열된 ODBCINST.INI 드라이버 경로가 디스크에 있는 DLL 파일을 가리키는지 확인합니다. 누락되거나 이동된 DLL을 참조하는 레지스트리 항목은 제거, 업그레이드 또는 수동 파일 정리 후 로드 실패의 일반적인 원인입니다. Microsoft ODBC Driver for SQL Server 설치하는 파일 이름 및 위치는 시스템 요구 사항, 설치 및 드라이버 파일을 참조하세요.

참고

LastUser 항목은 연결 문자열 영향을 주지 않습니다. ODBC 데이터 원본 관리자에서 DSN을 테스트할 때만 사용됩니다.

오류 IM002 문제 해결: 데이터 원본 이름을 찾을 수 없고 기본 드라이버가 지정되지 않았습니다.

서버 이름, 데이터베이스 이름 및 드라이버가 설치되어 있는지 여부를 확인합니다. 드라이버를 로드할 수 없는 경우 다음 오류 메시지가 표시됩니다.

오류 [IM002] [Microsoft][ODBC 드라이버 관리자] 데이터 원본 이름을 찾을 수 없고 기본 드라이버가 지정되지 않았습니다.

이 오류는 ODBC 드라이버 관리자가 연결 문자열 DSN 또는 드라이버 이름을 확인할 수 없다는 것을 의미합니다. 다음 항목을 순서대로 확인합니다.

  1. 연결 문자열 DSN 이름은 ODBC 데이터 원본 관리자에 나열된 DSN과 일치합니다.
  2. 비트 수가 일치하는 드라이버가 설치되어 있습니다. 사용자 DSN은 32비트 및 64비트 도구 모두에 표시되지만, 해당 DSN이 가리키는 드라이버가 애플리케이션의 비트수에 맞게 설치되어 있지 않으면 연결에 실패합니다. 자세한 내용은 32비트 및 64비트 사용자 DSN을 모두 표시하는 ODBC 관리자 도구를 참조하세요.
  3. 시스템 DSN은 애플리케이션의 비트 수에 맞는 도구에서 생성되었습니다. 시스템 DSN은 레지스트리로 리디렉션되므로 64비트 도구에서 만든 시스템 DSN은 32비트 애플리케이션에서 사용할 수 없습니다.
  4. DSN 범위는 애플리케이션을 실행하는 계정과 일치합니다. 아래 HKEY_CURRENT_USER 의 사용자 DSN은 다른 계정으로 실행되는 서비스에 표시되지 않습니다. 서비스 및 웹 애플리케이션에 시스템 DSN을 사용합니다.
  5. DSN 없는 연결 문자열의 드라이버 이름은 ODBCINST.INI 하위 키 아래에 나열된 드라이버와 일치합니다.

DSN의 드라이버 경로가 올바르지 않더라도 드라이버 관리자는 ODBC 데이터 원본 레지스트리 키에 ODBCINST.INI 나열된 드라이버 이름에서 하위 키에서 해당 경로를 찾을 수 있습니다.

드라이버가 로드되지만 연결이 여전히 실패하는 경우 일반적으로 설치 문제가 아닌 네트워크, 인증 또는 암호화 관련 문제가 발생합니다. 이러한 증상은 SQL Server 연결 문제 해결을 참조하세요.

비 Microsoft ODBC 드라이버 지원

비 Microsoft ODBC 드라이버의 경우 Microsoft 지원은 다음 작업으로 제한됩니다.

  • 드라이버 레지스트리 키가 있는지 확인합니다. 그렇지 않은 경우 드라이버를 다시 설치하거나 공급업체에 문의하세요.
  • 경로가 존재하는 DLL 파일을 가리키는지 확인합니다. 그렇지 않은 경우 드라이버를 다시 설치하거나 공급업체에 문의하세요.
  • 테스트 DSN을 만들고 연결 테스트를 수행합니다.
  • 공급업체에서 분석할 수 있는 프로세스 모니터(Procmon) 추적을 캡처하는 데 도움이 됩니다.

드라이버 동작, 드라이버 결함 및 드라이버 설치 논리는 드라이버를 생성한 공급업체의 책임입니다.

타사 정보 고지 사항

이 문서에서 설명하는 타사 제품은 Microsoft와 독립적인 회사에서 제조합니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.