LinqToSQL を使用してデータベースにクエリを実行するプロジェクトがありますが、コンパイル後に編集できるファイルから接続文字列を取得する方法がわかりません。これを行う正しい方法は何ですか?
MSLinqToSQLGenerator によって構築された CleansingData というファイルがあり、次のようになっています。
<?xml version="1.0" encoding="utf-8"?><Database Name="MyDBApp" Class="DataClasses1DataContext" xmlns="http://schemas.microsoft.com/linqtosql/dbml/2007">
<Connection Mode="AppSettings" ConnectionString="Data Source=MyServer\MyDB;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=MyUser" SettingsObjectName="CleansingDataReference.Properties.Settings" SettingsPropertyName="NetVisConnectionString" Provider="System.Data.SqlClient" />
<Table Name="dbo.CleansedData" Member="CleansedDatas">
<Type Name="CleansedData">
<Column Name="CleansedDataID" Type="System.Guid" DbType="UniqueIdentifier NOT NULL" IsPrimaryKey="true" CanBeNull="false" />
<Column Name="CleansedOperationID" Type="System.Guid" DbType="UniqueIdentifier" CanBeNull="true" />
値を持つ ConnectionString 設定を含む設定ファイルもあります
Data Source=MyServer\MyDB;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=MyUser;Password=MyAdmin
そして app.config は次のようになります:
<?xml version="1.0"?>
<configuration>
<configSections>
</configSections>
<connectionStrings>
<add name="CleansingDataReference.Properties.Settings.NetVisConnectionString"
connectionString="Data Source=MyServer\MyDB;Initial Catalog=MyCatalog;Persist Security Info=True;User ID=MyUser;Password=MyPassword"
providerName="System.Data.SqlClient" />
</connectionStrings>
<startup><supportedRuntime version="v2.0.50727"/></startup></configuration>
だから私は場所で接続文字列になってしまいました! コンパイル後に接続文字列を変更できる唯一の場所は app.config ですが、実際にはアプリケーションで使用されません。アプリケーションを別のデータベース サーバーに向ける唯一の方法は、設定ファイルの接続文字列を変更して再コンパイルすることです。これは明らかに正しくありません。
では、コンパイル後に接続文字列を編集できるように、このプロジェクトを変更するにはどうすればよいでしょうか。また、パスワードが平文で表示されないようにするにはどうすればよいですか?
初歩的な質問ですみません!
--- アリステア。