
시스템 DSN 유형의 특정 ODBC를 삭제할 수 없습니다. 동일한 서버에서 다른 ODBC 연결을 만들고 제거할 수 있지만 특정 ODBC(이름 = 기본값)는 제거할 수 없습니다. 이름을 "Default"가 아닌 다른 이름으로 바꾸려고 하면 설명 및 서버 FQDN과 같은 동일한 메타데이터를 포함하는 원래 이름 "Default"를 사용하여 새 시스템 DSN이 생성됩니다.
환경 정보:
- OS = Windows Server 2012 Standard 64비트
- ODBC =
- 이름 = 기본값
- 플랫폼 = 32비트
- 드라이버 = SQL Server Native Client 10.0
- 유형 = 시스템 DSN
- 데이터베이스 = SQL Server 2008 R2 SP2(다른 서버에 있음)
지금까지 내가 시도/배운 것:
- "ODBC 데이터 원본 32비트"를 사용하여 이 ODBC를 제거하려고 했습니다(경로 =%windir%\syswow64\odbcad32.exe). 제거하려고 시도한 후에 오류 메시지가 나타나지 않지만 ODBC는 그대로 남아 있습니다. "ODBC 데이터 원본 64비트"를 사용하여 이 ODBC를 볼 수도 없습니다(경로 =%windir%\system32\odbcad32.exe), 하지만 이 64비트 도구를 사용하여 다른 32비트 ODBC를 볼 수는 있지만 수정할 수는 없습니다.
- 이 "기본" ODBC를 구성하기 위한 도구 내에서 "테스트 데이터 소스..."를 수행하면 "TESTS COMPLETED SUCCESSFULLY!"라는 메시지와 함께 성공합니다.
- 이 ODBC는 Microsoft Dynamics GP 2010과 함께 사용하기 위해 만들어졌습니다. 이 "기본" ODBC에 연결을 시도하기 위해 GP 2010을 실행하면 서버의 다른 모든 ODBC는 연결 옵션으로 사용할 수 있지만 연결 옵션으로 사용할 수 없습니다.
- 레지스트리 내에서 이 "기본" ODBC 또는 시스템 DSN 유형의 다른 ODBC에 대한 참조를 찾을 수 없습니다. 나는 속을 들여다보았다HKEY_LOCAL_MACHINE >> 소프트웨어 >> ODBC >> ODBC.INI, 존재하는 모든 것은 기본 레지스트리 키(문자열 리터럴 "Default"가 아닌 이름 = (Default))입니다. 또한 내 연구에서 이 레지스트리 경로에 나타나야 하는 "ODBC 데이터 소스" 키에 대한 언급을 본 적이 있지만 키가 없습니다.
답변1
레지스트리 값을 다시 생성하여 삭제할 수 있습니다. 그런 다음 다음을 사용하여 전체 ODBC를 삭제했습니다.%windir%\SysWOW64\odbcad32.exeGUI 클라이언트.
레지스트리 값을 다시 생성하려면 어디로 가야 하는지 알아야 했습니다. 이 경우 레지스트리 경로는 다음과 같습니다.HKEY_LOCAL_MACHINE >> 소프트웨어 >> Wow6432Node >> ODBC >> ODBC.INI >> ODBC 데이터 소스값이 누락되었습니다. 내가 수동으로 생성한 값에는 다음 정보가 포함되어 있습니다.
- 이름 = 기본값
- 유형 = REG_SZ
- 데이터 = SQL Server 네이티브 클라이언트 10.0
이 값이 생성된 후 "Default"라는 이름으로 32비트 ODBC GUI 클라이언트 내에 두 개의 항목이 표시되었습니다. 하나의 "기본" ODBC를 삭제한 후 둘 다 사라졌습니다!
내 의심은 삭제 전에 본 것 같아서 ODBCINST.INI 내에 "기본값"에 대한 키가 있다는 것입니다. 지금은 한 사람도 없습니다. 이전에 있었다면 위에서 설명한 프로세스에서 GUI 도구를 사용하여 삭제되었습니다.