【问题标题】:Entity Framework, and connection strings实体框架和连接字符串
【发布时间】:2016-08-22 08:07:29
【问题描述】:

我正在尝试将我的 .net 网站部署到共享托管服务器。实体框架尝试连接数据库时出现以下错误:

“/”应用程序中的服务器错误。

用户“PHX3\Iusr_9086819”登录失败。描述:一个未处理的 执行当前 Web 请求期间发生异常。 请查看堆栈跟踪以获取有关错误的更多信息和 它起源于代码的地方。

异常详细信息:System.Data.SqlClient.SqlException:登录失败 对于用户 'PHX3\Iusr_9086819'。

来源错误:

在执行过程中产生了一个未处理的异常 当前的网络请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。

堆栈跟踪:

[SqlException (0x80131904): 用户登录失败 'PHX3\Iusr_9086819'。]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔型 breakConnection) +5061898
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234

这是我的连接字符串,已删除敏感数据:

<add name="CoreEntities" 
         connectionString="
            metadata=res://*/CoreModel.csdl|res://*/CoreModel.ssdl|res://*/CoreModel.msl;
            provider=System.Data.SqlClient;
            provider connection string='
                Data Source=*****.db.*****.hostedresource.com; 
                Initial Catalog=kshoultz;       
                integrated security=True;
                multipleactiveresultsets=True;
                App=EntityFramework; 
                User ID=*****;
                Password=*****; 
                Database=*****;
         '" 
         providerName="System.Data.EntityClient" />

【问题讨论】:

    标签: entity-framework connection-string


    【解决方案1】:

    我认为集成安全性应该是错误的——这意味着不使用用户 ID 和密码。初始目录是数据库的名称 - 他们是否告诉您数据库名为 kshoultz? (可能是,我不知道有什么不同,但是如果您创建了一个数据库并选择了一个名称,那就是您要使用的名称)。密码中是否有任何不是字母/数字的字符?你必须对它们进行编码,例如你的密码是 Love&Peace 你必须说 Love&Peace

    您是否向 GoDaddy 寻求支持?

    【讨论】:

    • 谢谢。将集成安全设置为 false 解决了问题。
    • 这行得通。您能解释一下为什么必须关闭集成安全性吗?
    • @Ratan 集成安全意味着运行进程的人被sql server识别为windows用户。在共享环境中,您不希望任何 Web 服务器实例访问您的数据库,或者机器上的任何其他用户都可以附加到您的数据库 - “用户”是与 Web 服务器关联的某个系统帐户本身。因此,它必须传入密码。简短的回答:“集成安全性”意味着您不需要密码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-11
    • 2014-02-03
    相关资源
    最近更新 更多