
システム DSN タイプの特定の ODBC を削除できません。同じサーバー上の他の ODBC 接続を作成および削除することはできますが、特定の ODBC (名前 = Default) は削除できません。「Default」以外の名前に変更しようとすると、元の名前「Default」で新しいシステム DSN が作成され、説明やサーバー FQDN などのメタデータも同じになります。
環境情報:
- OS = Windows Server 2012 Standard 64ビット
- ODBC =
- 名前 = デフォルト
- プラットフォーム = 32 ビット
- ドライバー = SQL Server ネイティブ クライアント 10.0
- タイプ = システム DSN
- データベース = SQL Server 2008 R2 SP2 (別のサーバー上に配置)
これまでに試したこと/学んだこと:
- 「ODBCデータソース32ビット」(パス=%windir%\syswow64\odbcad32.exe) 削除しようとしてもエラー メッセージは表示されませんが、ODBC はそのまま残ります。この ODBC は、「ODBC データ ソース 64 ビット」(パス =%windir%\system32\odbcad32.exe) ですが、この 64 ビット ツールを使用して他の 32 ビット ODBC を表示することはできます (ただし、変更することはできません)。
- この「デフォルト」ODBC を構成するためのツール内で「データ ソースのテスト...」を実行すると、「テストが正常に完了しました!」というメッセージが表示されて成功します。
- この ODBC は、Microsoft Dynamics GP 2010 で使用するために作成されました。GP 2010 を起動してこの「既定の」ODBC に接続しようとすると、サーバー上の他のすべての ODBC は接続オプションとして使用できますが、この ODBC は使用できません。
- レジストリ内でこの「デフォルト」ODBCまたはシステムDSNタイプの他のODBCへの参照を見つけることができませんでした。HKEY_LOCAL_MACHINE >> ソフトウェア >> ODBC >> ODBC.INI、そこに存在するのはデフォルトのレジストリ キー (名前 = (Default)、文字列リテラル "Default" ではありません) だけです。また、私自身の調査では、このレジストリ パスに表示されるはずの "ODBC データ ソース" キーについて言及されているのを見ましたが、私にはそれがありませんでした。
答え1
レジストリ値を再作成することで削除できました。その後、ODBC全体を削除しました。%windir%\SysWOW64\odbcad32.exeGUI クライアント。
レジストリ値を再作成するには、どこに行けばよいかを知る必要がありました。この場合、レジストリパスは次のようになります。HKEY_LOCAL_MACHINE >> SOFTWARE >> Wow6432Node >> ODBC >> ODBC.INI >> ODBC データ ソース値がありませんでした。手動で作成した値には次の情報が含まれていました。
- 名前 = デフォルト
- タイプ = REG_SZ
- データ = SQL Server ネイティブ クライアント 10.0
この値が作成された後、32 ビット ODBC GUI クライアント内に「Default」という名前のエントリが 2 つ表示されました。1 つの「Default」ODBC を削除すると、両方とも消えてしまいました。
削除前に ODBCINST.INI 内に「Default」のキーがあったのではないかと思います。現在は存在しません。以前あった場合は、上記のプロセスで GUI ツールを使用して削除されました。