Odbc 接続が失敗しました windows10

Issue:

64 ビット版 Windows オペレーティング システム上で 64 ビット版の AutoCAD Map 3D (または Civil 3D) を実行していると、以下のエラーが表示されます。

Show

  「外部コンポーネントが例外をスローしました」
「接続に失敗しました」
「データ ソース ファイルの作成に失敗しました: XXXXX」
「エラーのため接続テストに失敗しました」

これらは、ODBC 用 FDO Provider 経由で、または [マップ エクスプ ローラー] から [データ ソース] を介して Excel または Access ファイルに接続しようとしたときに発生します。

Causes:

64 ビット版の AutoCAD Map 3D (または Civil 3D) からExcel またはAccessファイル接続することのできる、64 ビットデータベース ドライバーをシステムインストールするが必要です

Solution:

Microsoft Office がインストールされている場合
この問題が発生している場合、64 ビット版のシステムに 32 ビット版の Microsoft Office 製品がインストールされている可能性があります。
Word、Excel、Outlook  等の製品を起動し、32 ビット版と 64 ビット版どちらの Microsoft Office 製品がインストールされているか確認してください。
ヘルプ等から以下の情報を確認することができます。

 

Odbc 接続が失敗しました windows10

 32 ビット版の Micosoft Office がインストールされていた場合
1. Windows の [コントロール パネル] の [プログラムと機能] から Microsoft Office をアンインストールします
2. MicrosoftProjectProfessional インストールされている場合これアンインストールします
3. 64 ビット版の Micosoft Office を取得し、インストールします
※64 ビット版の ODBC ドライバは、64 ビット版の Microsoft Office と同時にインストールされます。

  Microsoft Office がインストールされていない場合
Microsoft Office が PC にインストールされていない場合、もしくは将来インストールする計画を持っていない場合は、Microsoft から 64 ビット データベース ドライバーをダウンロードしてインストールしていただくことができます。

 Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント
http://www.microsoft.com/ja-JP/download/details.aspx?id=13255

See Also:

今日はOSのビット数によって本来コントロールパネルに表示されるはずの設定画面が表示されない、という動作についてご報告します。
簡単に言えばODBCの設定画面です。

64ビットOSでのODBCプロパティ

例えばWindows7の64ビットエディションがあるとします。
でそのWindowsには32ビット版のOfficeがインストールされています。
よくある64ビットOSに32ビットOfficeを利用する構成になっています。

この構成にmysql-connector-odbcなんかをインストールしてODBCセットアップをしなきゃいけない、としたときの話です。

通常は…

普通はコントロールパネルを開いて「管理ツール」を開く、その中に、「データソース(ODBC)」とあるショートカットをダブルクリックして起動します。
図:コントロールパネル「管理ツール」

Odbc 接続が失敗しました windows10

この「データソース(ODBC)」を起動するわけです。
そうするとこんな画面が開きます。
図:ODBCデータソースアドミニストレータ画面

Odbc 接続が失敗しました windows10

例えば、ここの「MS Access Database」をダブルクリックしてプロパティ画面を起動するのですが、64ビットOSの32ビットOfficeを使っている環境だと、こんな画面になってしまいます。
図:エラー画面

Odbc 接続が失敗しました windows10

----------------------------------------------
---------------------------
Microsoft ODBC アドミニストレーター
---------------------------
システム エラー コード 126: 指定されたモジュールが見つかりません。 (C:\PROGRA~1\COMMON~1\MICROS~1\OFFICE14\ACEODBC.DLL) のために、Microsoft Access Driver (*.mdb, *.accdb) ODBC ドライバーのセットアップ プログラムを読み込むことができません。
---------------------------
OK
---------------------------
----------------------------------------------
続いてこんな画面が表示されます。
図:エラー画面2

Odbc 接続が失敗しました windows10

----------------------------------------------
---------------------------
ドライバーの ConfigDSN、ConfigDriver、または ConfigTranslator が失敗しました。
---------------------------
検出されたエラー:

システム エラー コード 126: 指定されたモジュールが見つかりません。 (C:\PROGRA~1\COMMON~1\MICROS~1\OFFICE14\ACEODBC.DLL) のために、Microsoft Access Driver (*.mdb, *.accdb) ODBC ドライバーのセットアップ プログラムを読み込むことができません。
---------------------------
OK
---------------------------
----------------------------------------------

「ODBC ドライバーのセットアップ プログラムを読み込むことができません。」
とメッセージがあるのですが、確かにODBCドライバはセットアップ済みなので起動できないというのはおかしいのです。

このときはどうするのか

結論から言うと、64ビットOSのODBCデータソースはもう一つの起動ファイルから起動します。
そのファイルの格納先が
「C:\Windows\SysWOW64\odbcad32.exe」
です。
図:SysWOW64フォルダ内のファイル

Odbc 接続が失敗しました windows10

このodbcad32.exeを起動すると、コントロールパネルの管理ツールから起動したODBCプロパティ画面と同じ画面が開きます。

図:ODBCデータソースアドミニストレータ画面2

Odbc 接続が失敗しました windows10

全く同じ画面に見えますが、こっちから起動するとエラーは表示されず正常に動作します。
試しに「MS Access Database」をダブルクリックすると…
図:ODBC Microsoft Accessセットアップ画面

Odbc 接続が失敗しました windows10

エラーメッセージは表示されずセットアップ画面が表示されます。これでセットアップ・設定を実施することができます。

つまり?

おそらく、ですが。
64ビットOSにおいてはSysWoW64によってエミュレーションしている32ビットアプリケーションたるodbcad32.exeを起動する必要がある、ということです。つまりコントロールパネルに表示されているのはそのOSのデータソース(ODBC)をセットアップする画面(UI)が表示されるのであってOfficeは32ビットだとかそれに伴ってmysql-connector-odbcもx86側をインストールしているとかいうのはOSにとってはあずかり知らぬこと、ということですね。おそらく。

なので64ビットOSにmysql-connector-odbc-x86.exeをインストールした場合には、コントロールパネルにある「データソース(ODBC)」を起動するのではなく、「C:\Windows\SysWOW64\odbcad32.exe」を起動して設定を実行します。

忘れっぽい未来の自分向けに覚えておくようにします。

Ora

エラーコード: ORA-01406 詳細: フェッチされた列の値は切り捨てられました原因: フェッチされた列の値が切り捨てられました。 アクション: 適切なデータ型を使用して切捨てを回避してください。

ODBC 何の略?

Open Database Connectivity (ODBC)は、1つのアプリケーションが多くの異なるデータソースにアクセスできるようにする標準インタフェースを提供します。 アプリケーションのソース・コードをデータソースごとにコンパイルしなおす必要はありません。

Ora