无法通过VS 2010/2012连接到本地数据库

时间:2012-10-17 20:39:54

标签: c# .net sql visual-studio-2010

我的问题如下。我有一个我正在创建的网站,并希望在其上使用表单身份验证。一切都很好和完美,除了我已经添加了将用户保存到数据库的可能性。我已将数据库添加到visual studio上的AppData文件夹(创建一个)。但每次用户尝试创建一个新帐户(在我的网站上)时,我都会收到一个看起来像这样的错误(在调试中):

  

用户'DOMAIN \ username'

的登录失败

我的连接字符串如下:

<connectionStrings>
    <add name="SecurityConnectionString" 
         connectionString="Data Source=(computername)\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Security.mdf;Integrated Security=True;User Instance=true" 
         providerName="System.Data.SqlClient" />
</connectionStrings>

奇怪的是,我可以连接到SQL Management Studio,我的Windows登录没有问题。我已经尝试创建一个新用户(在SQL中)并使用这些凭据但仍然没有运气(即使我已经为用户提供了db_owner权限,也会因为用户无法创建新数据库而获得错误)。任何见解将不胜感激。提前谢谢。

具体来说,这是我得到的错误

[SqlException (0x80131904): Login failed for user 'DOMAIN\username'.]

更新

我发现了一些东西。每当我在SQL Server Management Studio上将“Windows身份验证”更改为“SQL Server身份验证”时,即使使用正确的密码和用户名,我也无法登录。这可能(很可能)是我认为的问题的根源。

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。只需创建一个新用户(在SQL Server身份验证下),然后通过SQL使用我的Windows身份验证凭据向该用户添加管理员权限,这意味着,我创建了一个用户,然后授予该用户管理员权限。这看起来很简单,我遇到的问题如下:

据我了解,如果您可以访问SQL数据库(无论您使用何种身份验证模式)并且您拥有该数据库的管理员权限,那么您可以执行任何操作。但是,似乎情况并非如此,因为我的“DOMAIN \ username”凭据在使用SQL Server身份验证时未经过身份验证,这意味着我没有管理员权限。

无论如何,在创建新用户并修改连接字符串之后,我设法能够向数据库写入/读取/任何内容。

我感谢大家对这个问题的帮助。谢谢。

答案 1 :(得分:0)

在连接字符串(computername)中应该是localhost或您的计算机名称。除非您目前使用(computername)作为此帖子的占位符。