0

私のアプリケーションは xml 構成ファイルを使用して、次の接続文字列をプログラムで使用されるデータベースに保存します (括弧内の情報はこの投稿用に変更されています)。

<add name="VetDAR.My.MySettings.VDARSQLDBASEConnectionString" connectionString="Data Source=[DATASOURCE];Initial Catalog=[INITIAL CATALOG];User ID=[UID];Password=[PASSWORD]" providerName="System.Data.SqlClient" />

私のプログラムは、大量の情報とプログラム設定にレジストリ キーも使用します。xml ファイル内のこの接続文字列のレジストリ キーに格納されているデータベース接続情報を利用することは可能ですか? つまり、データソース キーの値がある場合、上記の接続文字列の [DATASOURCE] をレジストリ値に置き換えることはできますか?

アプリケーション内の通常の vb.net フォームでこれを行う方法は知っていますが、xml ファイル内からレジストリ値を呼び出す方法 (または可能かどうか) はわかりません。または、Visual Studio の既定の動作をオーバーライドして、レジストリ値を呼び出すことができるハードコードされた接続文字列をデータセットに強制的に使用させることはできますか?

4

1 に答える 1

0

構成ファイルから connectionString を取得し、それをデータベース接続オブジェクトに渡すのはどうですか。

ただし、データベースに渡す前に、置換が必要な値を置換します。したがって、接続文字列は次のようになります。

Data Source=[DATASOURCE];Initial Catalog=[INITIAL CATALOG];User ID=[UID];Password=[PASSWORD]

次に、データベースに渡します。

Dim connString As String = GetConnectionStringFromXML()
MyDatabase.ConnectionString = connString.Replace("[UID]", GetRegistryValue("UID").Replace("[INITIAL CATALOG]",GetRegistryValue("DatabaseName"))

... ... ...

于 2012-09-26T04:40:47.817 に答える