【发布时间】:2016-11-19 09:53:05
【问题描述】:
我首先使用带有 EF 6 代码的 Oracle DB。 并对连接字符串进行了自定义加密。 连接字符串存储在单独的配置文件“connstring.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>
web.config 文件中的数据源。
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。
我该如何解决这个问题?
【问题讨论】:
-
调试您的应用程序:您的连接字符串是否被正确解密? connectino 字符串本身是否有效?对错误消息进行网络搜索。
-
是的,解密工作正常。我试图直接在 base 中输入连接字符串,同样的事情
-
result 返回正确的连接字符串。调用 DbContext 时出现错误
标签: asp.net-mvc entity-framework connection-string