[Microsoft] [ODBC 드라이버 관리자] 데이터 원본 이름이없고 기본 드라이버가 지정되지 않았습니다.
PostgreSQL 9를 사용하는 Windows XP Pro에서 처음으로 프로그램을 열려고합니다. 다음과 같은 오류 메시지가 나타납니다.
프로덕션 데이터베이스에 로그인하거나 작성하는 중에 문제가 발생했습니다. 세부 정보 : [Microsoft] [ODBC 드라이버 관리자] 데이터 원본 이름을 찾을 수없고 기본 드라이버가 지정되지 않았습니다.
내 ODBC 관리자에 사용자 DSN 및 시스템 DSN 목록이 있습니다. 나는 그것이 도움이되는지 확인하기 위해 postgres odbc 드라이버를 설치하려고 시도했지만 그렇지 않았습니다.
프로그램 파일에 "OLE DB Provider = MSDASQL"이라는 줄이있는 connect.dat 파일이 있습니다. 이 항목을 변경하면 "공급자를 찾을 수 없습니다. 제대로 설치되지 않았을 수 있습니다"라는 오류 메시지가 변경됩니다.
제대로 작동하도록하려면 어떤 공급자 이름을 삽입해야하는지 모르겠습니다. 이 오류에 대한 광범위한 연구를 수행했지만 아무 소용이 없습니다. 어떤 제안이라도 대단히 감사하겠습니다.
오류 참조 : [Microsoft] [ODBC 드라이버 관리자] 데이터 원본 이름을 찾을 수없고 기본 드라이버가 지정되지 않았습니다.
이 오류는 연결 구성에서 지정하는 DSN (데이터 소스 이름)이 Windows 레지스트리에서 찾을 수 없음을 의미합니다.
ODBC 드라이버의 실행 및 연결 형식 (ELF)이 응용 프로그램과 동일해야합니다. 즉, 32 비트 응용 프로그램 용 32 비트 드라이버 또는 64 비트 응용 프로그램 용 64 비트 드라이버가 필요합니다.
일치하지 않는 경우 32 비트 드라이버에 대해 DSN을 구성 할 수 있으며 64 비트 응용 프로그램에서 해당 DSN을 사용하려고하면 레지스트리가 다른 위치에 DSN 정보를 보유하기 때문에 DSN을 찾을 수 없습니다. ELF에 따라 다릅니다 (32 비트 대 64 비트).
올바른 ODBC 관리자 도구를 사용하고 있는지 확인하십시오. 32 비트 및 64 비트 Windows에서 기본 ODBC 관리자 도구는
c:\Windows\System32\odbcad32.exe
. 그러나 64 비트 Windows 시스템에서 기본값은 64 비트 버전입니다. 64 비트 Windows 시스템에서 32 비트 ODBC 관리자 도구를 사용해야하는 경우 여기에있는 도구를 실행해야합니다.C:\Windows\SysWOW64\odbcad32.exe
사용자가 기본 64 비트 ODBC 관리자를 사용하여 DSN을 구성 할 때 이러한 문제가 발생하는 것을 볼 수 있습니다. 32 비트 DSN 용이라고 생각합니다. 그런 다음 32 비트 응용 프로그램이 해당 DSN을 사용하여 연결을 시도하면 "데이터 원본을 찾을 수 없습니다 ..."가 발생합니다.
DSN의 철자가 ODBC 관리자에서 구성된 DSN의 철자와 일치하는지 확인하는 것도 중요합니다. 하나의 문자가 잘못되면 DSN이 일치하지 않을 수 있습니다.
다음은 몇 가지 추가 세부 정보를 제공 할 수있는 기사입니다.
그러나 귀하가 보유한 제품 브랜드와 동일하지 않을 수 있습니다. ODBC 데이터 소스 이름을 사용할 때 발생하는 일반적인 문제입니다.
질문의 OLE DB 공급자 부분과 관련하여 응용 프로그램이 지정된 공급자에 대한 구성을 찾을 수없는 유사한 유형의 문제인 것 같습니다.
시스템 DSN 대신 사용자 DSN에 데이터 원본 이름이 있기 때문에이 오류가 발생했습니다.
문제는 대신, 예를 들어 드라이버 이름에서 수 있습니다 DRIVER={MySQL ODBC 5.3 Driver}
하려고 DRIVER={MySQL ODBC 5.3 Unicode Driver}
관리 도구에서 드라이버의 이름을 볼 수 있습니다 당신을
다음을 사용하여 데이터 기반 테스트로 이것을 얻었습니다.
Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)
문제는 위의 드라이버 만 32 비트라는 것입니다. Visual Studio testsettings 파일을 64 비트 전용 응용 프로그램을 테스트하기 위해 64 비트로 전환했습니다.
testsettings 파일에서 32 비트로 다시 전환하면 문제가 해결되었습니다.
위의 방법을 시도했지만 내 문제는 | DSN의 이름으로 (데이터를 오지 않도록 각 DB에 하나씩 여러 ODBC 커넥터가 있습니다)
나는 대체 | (파이프) _와 함께 이제 모두 잘 작동합니다.
Alteryx에서 SQL Server를 호출하려고했습니다.
여기의 지시에 따라 http://help.loftware.com/pages/viewpage.action?pageId=27099554을 내가 설치했다 마이크로 소프트 액세스 데이터베이스 엔진 2010 재배포를 내가 엑셀 드라이버가 내가 원하는 DSN없는 연결을 사용하기 위해 설치했다 전에 Perl에서 사용합니다.
IIS를 사용하는 경우 "application pools"-> "DefaultAppPool"-> "application pools default value"-> "32-Bit-application-activ"-> set false를 시도해야합니다.
'IT이야기' 카테고리의 다른 글
set_time_limit ()와 ini_set ( 'max_execution_time',…)의 차이점 (0) | 2021.04.30 |
---|---|
Rust에서 HTTP 요청 (0) | 2021.04.29 |
Visual Studio가 빌드 중에 계속 중단되었을때 (0) | 2021.04.29 |
Windows 8.1에서 빌드되지 않는 노드 패키지-Microsoft.Cpp.Default.props 누락 (0) | 2021.04.29 |
Angular 지시문 요소에 속성을 추가하는 방법 (0) | 2021.04.29 |