我坚持使用.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")
{
}
问题仍然存在:为什么没有连接字符串呢?
答案 0 :(得分:0)
使用显式连接字符串我能够在没有任何“魔法”的情况下获得“真正的”连接,这对我有用:
public DBContext()
: base("name=DataBaseFirstDBEntities")
{
}
我仍然感到困惑,为什么没有任何设置的连接有效,但我倾向于认为这与SQL Server的Windows身份验证有关:因为Web服务器进程与SQL服务器具有相同的用户凭据(在我的身上)本地开发者机器)这似乎是一个合理的解释。