9

接続文字列を使用してアクセスできるようにしたいデータベースを使用する ASP.NET Web サイトがあります。この DB に接続するための DSN を正常にセットアップしましたが、接続文字列を使用するための正しい魔法を見つけることができないようです。

DSN の値を接続文字列に変換する簡単な方法はありますか? UI からは、これに対する明確な答えがないことはわかっています...各データベース ベンダーは、必要なものに基づいて DSN を作成するための異なる UI を提供しています。ただし、UI の下で、接続文字列を舞台裏で作成するようなことを行っている可能性があり、それを見て何が間違っているかを確認できることを望んでいました。これの希望はありますか?もしそうなら、必要な情報を取得する方法についての指針はありますか?

(接続文字列が正しい形式であることを確認するためにconnectionstrings.comにアクセスしましたが、何も機能していないようです...これが、この奇妙なtranslate-from-dsnタクトを試している理由です。)

編集: DSN エントリを持ちたくないということを明確にしておかなければなりませんでした。1 つ作成し、当分の間それを使用しましたが、それを取り除き、dsnなしで接続文字列を使用できるようにしたいと考えています。

4

4 に答える 4

8

OLEDB を使用できる場合は、UDL ファイルを作成できます。新しいテキスト ドキュメントを作成し、test.udlダブルクリックするだけです。ダイアログに入力してから、メモ帳で開き直します。出来上がり - 接続文字列があります。

ODBC は少し難しいです。ODBC アドミニストレーターからファイル DSN を作成するかHKLM\Software\ODBC\ODBC.INI\<DSN Name>、システム DSN のレジストリを探し回ることができます。いくつかの名前と値のペアができあがります。それらを接続文字列に変換できるはずです。は実際の\\DriverDLL を一覧表示するため、からプロバイダー名を取得する必要がありますHKLM\Software\ODBC\ODBC Data Sources\\<DSN Name>

ODBC 用の OLEDB プロバイダーを使用できる場合は、UDL トリックを使用して、ODBC ファイルの DSN から接続文字列を作成することもできます。ODBC 接続文字列は、UDL の拡張プロパティにあります。

于 2009-06-17T18:18:08.320 に答える
3

レジストリに関する Mark Brackett の回答を拡張するには、64 ビット Windows 上の 32 ビット ODBC の場合、レジストリ パスは HKLM\Software\Wow6432Node\ODBC\ODBC.INI\ です。

于 2013-11-22T19:04:32.470 に答える