Web.config连接字符串与伪值一起使用 - 但为什么?

时间:2014-01-09 13:47:52

标签: asp.net sql-server visual-studio-2012

我坚持使用.net连接到SQL Server 2012.在阅读了几十个教程和问题后,我找不到任何线索。对我来说,SQL Server似乎太过神奇了。 我正在使用Visual Studio Express 2012 for Web,SQL Server 2012,.net 4.5

其他人抱怨与正确的连接刺痛无关。但是我有一个带有WRONG连接字符串的数据库连接。但我对它并不满意; - )

这是我的连接字符串,仅包含虚假值:

<connectionStrings>
    <add name="ConnectionStringName" providerName="System.Data.SqlClient" connectionString="Server=localhost;Database=ThisDoesNotExist;User Id=ThisIsNoUser;Password=ThisCanNotPossiblyWork;" />
</connectionStrings>

当我在PC上本地运行页面时,它工作正常,使用SQL Server Management Studio,我可以看到数据库已创建并正确填充。真实连接的隐藏设置在哪里 - 为什么会起作用?

这个问题领域的第二个问题:

是否有一个简单的教程,用于设置SQL Server 2012 WITH user + password和WITH设置.net的连接字符串? (不使用SQL Server Management Studio:在我的服务器上安装了SQL Server 2012,但没有安装Management Studio)几周前我在另一台PC上完成了此过程,并且无法正确设置SQL Server。我喜欢显式连接字符串,但无法理解如何在SQL Server 2012中执行此操作。

我很感激所有提示都朝着正确的方向发展。

编辑:我使用实体框架。这是我的数据库上下文的代码。

public class DBContext : DbContext
{
    public DBContext()
    {
    }

    public DbSet<Speaker> Speakers { get; set; }
    //...
}

我尝试了编辑DBContext构造函数,并添加了对提供connectionStingName的基类构造函数的调用。现在数据库无法正常工作 - 因为连接字符串&#34; DataBaseFirstDBEntities&#34;从未定义过:-)。我会尝试用明确的设置从这里开始。

public DBContext()
: base("name=DataBaseFirstDBEntities")
{
}

问题仍然存在:为什么没有连接字符串呢?

1 个答案:

答案 0 :(得分:0)

使用显式连接字符串我能够在没有任何“魔法”的情况下获得“真正的”连接,这对我有用:

public DBContext()
: base("name=DataBaseFirstDBEntities")
{
}

我仍然感到困惑,为什么没有任何设置的连接有效,但我倾向于认为这与SQL Server的Windows身份验证有关:因为Web服务器进程与SQL服务器具有相同的用户凭据(在我的身上)本地开发者机器)这似乎是一个合理的解释。