10

構成ファイルのパラメーターに基づいて DSN を構築する従来の VB6 アプリがあります。パラメーターは ODBC 接続であり、接続にはサーバー (DBSERVER) をドライバー ("SQL Server Native Client") にマップする名前 (DSN-NAME) があります。

通常、次のような DSN を構築します。

DSN=DSN-NAME;ユーザー=foo;パスワード=bar

ファイルでホスト名を指定すると、次のような接続文字列が作成されます

DSN=DBSERVER;ユーザー=foo;パスワード=bar

報告されたエラー メッセージは次のとおりです。

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

これは、おそらくデフォルトのドライバーを指定する方法があることを示唆しています。これは、構成ファイルでサーバー名だけを指定でき、ODBC 接続を作成する必要がないことを意味します。

(これらは自動的に作成できることは承知しています。これは単純にインストールするためであり、私の好奇心を満たすためです)。

デフォルトのドライバーはどのように指定しますか? 既定のドライバーを SQL Server Native Client に設定できる場合、DSN=DBSERVER と指定して接続できますか?

編集:ポイントは、接続文字列を変更せずにこれを試してみることでした。すべての調査は、これが実際には不可能であることを示唆していましたが、ダイアログの言葉遣いは可能性があることを示唆していました。

4

4 に答える 4

4

私は同じ問題を抱えており、機能しない64ビットDSNのみを作成する管理ツールの64ビット管理者ではなく、32ビットODBC管理者を使用して32ビットDSNを作成することで修正しました。

32 ビットの ODBC マネージャーは次の場所にあります。C:\Windows\SysWOW64\odbcad32.exe

Corey Gilmore のブログの記事「データ ソース名が見つからず、既定のドライバーが指定されていません」を参照してください。

于 2012-11-19T12:53:04.600 に答える
1

既定のドライバーを指定するには、接続文字列で DRIVER= を使用します。

DRIVER=driver name here;DATABASE=mydb;USER=foo;PASSWORD=bar

ドライバー名は、各ドライバーのコントロール パネルの ODBC 構成ツールに表示される名前です。通常は DSN から取得される情報 (この場合はデータベース名) を提供する必要があることに注意してください。

于 2009-05-11T20:22:09.793 に答える
1

接続文字列に「;SERVER=dbserver」を追加することで、目的を達成できます。

DSN には既にサーバーが指定されていますが、接続文字列の SERVER キーワードがそれをオーバーライドします。

http://msdn.microsoft.com/en-us/library/ms715433(VS.85).aspx

于 2009-05-22T19:17:33.030 に答える
0

DSN を使用しない接続文字列を使用してください...目的に合わせて「オンザフライ」で作成できます...必要な dsn を制御/構成するために odbcad32.cpl または reg/ini ファイルをいじる必要はありません。

http://support.microsoft.com/kb/147875を参照してください

詳細については

于 2009-07-12T15:13:09.230 に答える