Windows 上で ODBC 経由でデータベースに接続するプログラムを作成しようとすると、次のエラーが発生します:
[Microsoft][ODBC Driver Manager] データ ソース名が見つからず、デフォルトのドライバーが指定されていません。
私のコードは正しいと確信しています。別のコンピュータでも実行できます。
このエラーが発生するのはなぜですか?どうすれば修正できますか?
P粉1470452742023-10-19 13:15:54
デザインモードでは、値がプロパティに設定されています
TFDConnection.ConnectionDefName
空にする必要があります。
P粉2210464252023-10-19 12:51:59
簡単に言うと、このエラー メッセージは、ODBC ドライバー マネージャーが接続文字列または DSN で指定したドライバーを見つけられないことを示しています。
これには 3 つの一般的な理由が考えられます:
ODBC データ ソース アドミニストレーターにアクセスすると、システムにインストールされているドライバーを確認できます。これを開くには、⊞ Win R を押して、odbcad32.exe
と入力します。次に、タブ ドライバー でインストールされているドライバーを確認します。 Name 列は、接続文字列または DSN で使用する必要がある正確な名前を示します。
64 ビット Windows を使用している場合は、64 ビット Windows にインストールされているファイルのみが必要です。
あなたのシステム。どの 32 ビット ドライバーがインストールされているかを確認するには、⊞ Win R を押して、C:\Windows\SysWOW64\odbcad32.exe code> と入力し、もう一度実行します。 「ドライバー」タブに移動します。
その場合、プログラムの実行ビット数を調整するか、異なるビット数のドライバーをインストールするかの 2 つのオプションがあります。
Windows にデフォルトでインストールされる一部のドライバーには、32 ビット版しかありません。これらは 64 ビット プログラムでは使用できません。
通常、プログラムが実行されているビット数はタスク マネージャーで確認できます。 Windows 10 では、すべての 32 ビット プログラムの名前に (32 ビット) が追加されます。そこにない場合は、おそらく 64 ビット プログラムを実行していると考えられます。最新のプログラミング言語と環境のほとんどはデフォルトで 64 ビットで実行されますが、32 ビットに切り替えることができます。ただし、さまざまなプログラミング言語の具体的な詳細については、この質問の範囲を超えています。
ODBC 接続文字列は次のようになります:
リーリードライバー名の部分に特殊文字が含まれる可能性がある場合は、中括弧で区切る必要があり、スペースや誤字も含めて、インストールされているドライバー名 (ODBC データ ソース アドミニストレーターに表示されるように) と正確に一致する必要がありますが、大文字は除外します。 。
デプロイされたコードの場合、コードを実行するコンピューター/サーバー上にドライバー が存在する必要があることに注意してください。
ドライバーがないか、ビットが間違っています。正しいドライバーはどこで入手できますか?一般的なドライバーとダウンロード場所のリスト (すべての 32 ビットと 64 ビットが同じ URL):
使用したいドライバーがリストにない場合は、通常、Google を使用して簡単に場所を見つけることができます。