web-dev-qa-db-ja.com

[Microsoft] [ODBC Driver Manager]データソース名が見つからず、デフォルトのドライバーが指定されていません

PostgreSQL 9を使用するWindows XP Proで初めてプログラムを開こうとしています。エラーメッセージが表示されます。

本番データベースへのログインまたは作成中に問題が発生しました。詳細:[Microsoft] [ODBC Driver Manager]データソース名が見つからず、デフォルトのドライバーが指定されていません

ODBCマネージャーには、ユーザーDSNとシステムDSNのリストがあります。 postgres odbcドライバーをインストールして、それが役立つかどうかを確認しましたが、うまくいきませんでした。

プログラムファイルには、「OLE DBプロバイダー= MSDASQL」という行を含むconnect.datファイルがあります。このエントリを変更すると、「プロバイダーが見つかりません。正しくインストールされていない可能性があります」というエラーメッセージが変更されます。

これを適切に機能させるために、どのプロバイダー名を挿入すればよいかわかりません。私はこのエラーについて広範な研究を行いませんでした。どんな提案も大歓迎です。

49
user2437443
  1. エラーに関して:[Microsoft] [ODBC Driver Manager]データソース名が見つからず、デフォルトのドライバーが指定されていません。

    このエラーは、接続構成で指定しているデータソース名(DSN)がWindowsレジストリで見つからないことを意味します。

    • ODBCドライバーの実行可能ファイルおよびリンク形式(ELF)がアプリケーションと同じであることが重要です。つまり、32ビットアプリケーションの場合は32ビットドライバーが、64ビットアプリケーションの場合は64ビットドライバーが必要です。

      これらが一致しない場合、32ビットドライバーのDSNを構成でき、64ビットアプリケーションでそのDSNを使用しようとすると、レジストリが異なる場所にDSN情報を保持しているため、DSNが見つかりませんELFに応じて(32ビットと64ビット)。

      正しいODBC Administratorツールを使用していることを確認してください。 32ビットおよび64ビットWindowsでは、デフォルトのODBC Administratorツールはc:\Windows\System32\odbcad32.exeにあります。ただし、64ビットWindowsマシンでは、デフォルトは64ビットバージョンです。 64ビットWindowsシステムで32ビットODBC Administratorツールを使用する必要がある場合は、C:\Windows\SysWOW64\odbcad32.exeにあるツールを実行する必要があります。

      ユーザーをつまずかせるのは、ユーザーがデフォルトの64ビットODBC Administratorを使用してDSNを構成するときです。 32ビットDSN用だと思います。次に、32ビットアプリケーションがそのDSNを使用して接続しようとすると、「データソースが見つかりません...」が発生します。

    • また、DSNのスペルが、ODBC Administratorで構成されたDSNのスペルと一致することを確認することも重要です。 DSNが不一致になるのに必要なのは、1文字間違っているだけです。

      追加の詳細を提供する記事があります

      ただし、お持ちの製品ブランドとは異なる場合があります。これは、ODBCデータソース名を使用するときに発生する一般的な問題です。

  2. 質問のOLE DBプロバイダーの部分を参照すると、アプリケーションが指定されたプロバイダーの構成を見つけることができないという同様のタイプの問題のようです。

47
PRGSTony

システムDSNではなくユーザーDSNにデータソース名があったため、このエラーが発生しました enter image description here

31
Nick

問題は、たとえばDRIVER={MySQL ODBC 5.3 Driver}の代わりにドライバー名にある可能性がありますDRIVER={MySQL ODBC 5.3 Unicode Driver}を試してください管理ツールからドライバーの名前を確認できます

6
Meysam

私はこれを使用したデータ駆動テストでこれを得ました:

Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)

問題は、上記のドライバーが32ビットのみであることです。 64ビットのみのアプリケーションをテストするために、Visual Studioのテスト設定ファイルを64ビットに切り替えました。

テスト設定ファイルの32ビットに戻すと、問題が修正されました。

テスト設定ファイルを使用

3
N-ate

上記を試してみましたが、私の問題はDSNの名前(複数のODBCコネクターがあります-各DBに1つ-データを収集しないようにするため)

|を交換しました(パイプ)に_を付けて、すべて正常に動作するようになりました。

AlteryxからSQL Serverを呼び出そうとしていました。

0
calep

ここの指示に従って http://help.loftware.com/pages/viewpage.action?pageId=27099554Microsoft Access Database Engine 2010 Redistributable 。Perlから使用したいDSNレス接続を使用するためにExcelドライバーをインストールする前。

0
Matthew Lock

iISを使用している場合は、試してみてください
"アプリケーションプール"-> "DefaultAppPool"-> "アプリケーションプールのデフォルト値"-> "32-Bit-application-activ"-> set false

0
leslie