Windows 7 64 비트에서 SQL Toolkit 또는 Database Connectivity Toolkit을 사용시 Error -2147467259 발생

업데이트 됨 Dec 22, 2023

해당 제품

소프트웨어

  • LabVIEW
  • LabVIEW Database Connectivity Toolkit
  • LabWindows/CVI
  • LabWindows/CVI SQL Toolkit

운영 체제

  • Windows

문의사항

Windows 7 64 비트에서 32 비트 LabVIEW 또는 LabWindows / CVI를 사용하고 있으며 DB Tools Open Connection VI에서 다음과 같은 오류가 발생합니다 :

Error -2147467259 (0x80004005)
ADO Error: Exception occurred in Microsoft OLE DB Provider for ODBC driver. 
Microsoft ODBC Driver manager: The specified DSN contains an architecture mismatch between the driver and application in NI-Database-API.lvlib


이 오류가 발생하는 이유는 무엇이며 어떻게 해결합니까?

해결책

해당 오류는 64bit 버전의 odbcad32.exe 때문에 발생합니다. ODBC 데이터 소스 관리자 프로그램은, 데이터베이스테 데이터 소스 이름(DSN) 을 구성하는 데 사용됩니다. 그리고 ODBC 소스 관리자 프로그램은 32bit 버전이 사용해야 합니다.

Windows 7 x64에는 odbcad32.exe 라는 두 개의 다른 파일이 있습니다. 두 버전 모두 odbcad32.exe 로 명명 되더라도 하나는 64 비트이고 다른 하나는 32 비트입니다. 디렉토리 위치에 따라 64 비트와 32 비트를 구분할 수 있습니다.
  • 64 비트 버전은 <Windows>/System32에 있습니다.
  • 32 비트 버전은 <Windows>/SysWOW64에 있습니다.

에러를 해결할 수있는 두 가지 옵션이 있습니다.
  1. ODBC 설정을 수정하십시오. 이를 수행하려면 odbcad32.exe 의 64 비트 버전을 열고 데이터베이스 구성을 삭제 한 다음 관리자 계정으로 32 비트 버전을 열고 데이터베이스를 구성하십시오.
  2. 정확한 연결 문자열로 UDL을 사용하도록 LabVIEW 또는 LabWindows / CVI 코드를 변경하십시오. How Do I Set Up a Microsoft Data Link File (UDL) Through LabVIEW?에서 더 자세히 알 수 있습니다.

추가 정보

32 비트 LabVIEW 또는 LabWindows / CVI 어플리케이션이 64 비트 odbcad32.exe로 생성 된 DSN을 사용하여 데이터베이스에 연결하려고 시도하고 있으니, 이는 구조적으로 가능하지 않습니다. 이것은 오류 메시지에서 언급 한 아키텍처 불일치입니다. 32 비트 LabVIEW 또는 LabWindows / CVI 어플리케이션은 odbcad32.exe의 32 비트 버전으로 생성 된 DSN 만 사용할 수 있습니다. 이 문제는 Microsoft 개발자 네트워크의 기사 Managing Data Sources 에서 설명합니다.