まず、EF 6コード付きのOracle DBを使用しています。 接続文字列にカスタム暗号化を行いました。別の設定ファイル「connstring.config」で 接続文字列を格納:暗号化web.configファイル内エンティティフレームワークとカスタム文字列による接続文字列
<?xml version="1.0" encoding="utf-8" ?>
<connectionStrings>
<add name="MyConnString" connectionString="Data Source=MySource;User ID=UserID;Password=Password;PERSIST SECURITY INFO=True;"
providerName="Oracle.ManagedDataAccess.Client" />
</connectionStrings>
データソースのないクリアな接続文字列があります。
MyDbcontext:
public static string GetConnectionString()
{
string encodedConnStr = ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString.ToString();
string result = Crypto.Decrypt(encodedConnStr);
return result;
}
public MyDbContext() : base(GetConnectionString()){}
そして私は、アプリケーションを実行すると、私はサーバーエラーを取得しています:操作を完了はできません。指定されたSqlConnectionは、初期カタログまたはAttachDBFileNameを指定しません。
どうすればこの問題を解決できますか?
デバッグにアプリをdefaultConnectionFactoryを設定することで解決した:あなたの接続文字列が正しく復号化されていますか? connectino文字列自体は機能しますか?エラーメッセージでWeb検索を実行します。 – Igor
はい、復号化が正しく機能します。私はベースに直接接続文字列を入力しようとしたが、同じこと – Drake
結果が正しい接続文字列を返します。 DbContextを呼び出すとエラーが表示されます – Drake