C# 使用Visual Studio 2010对数据库进行写访问

C# 使用Visual Studio 2010对数据库进行写访问,c#,sql,database,visual-studio-2010,C#,Sql,Database,Visual Studio 2010,如果我对我的问题有些含糊,请原谅。我正在关注一个在线网站,它向您展示了如何创建自己的用户、权限等(在VS中使用SQL)。当VisualStudio尝试写入数据库文件时,我遇到了一个问题。我已经成功地创建了数据库并使用Visual Studio连接到它,但是当我运行代码时,我收到以下错误: SqlException(0x80131904):用户登录失败用户“域\用户名”登录失败 现在,我已经在SQL上检查并检查了我的凭据,我可以成功地创建新的dbs、修改等。我真的不知道问题的根源是什么,我尝试使用

如果我对我的问题有些含糊,请原谅。我正在关注一个在线网站,它向您展示了如何创建自己的用户、权限等(在VS中使用SQL)。当VisualStudio尝试写入数据库文件时,我遇到了一个问题。我已经成功地创建了数据库并使用Visual Studio连接到它,但是当我运行代码时,我收到以下错误:

SqlException(0x80131904):用户登录失败用户“域\用户名”登录失败


现在,我已经在SQL上检查并检查了我的凭据,我可以成功地创建新的dbs、修改等。我真的不知道问题的根源是什么,我尝试使用不同的凭据,但没有任何效果!我是否必须在VS中检查设置,以授予其对数据库的管理权限?我尝试了很多不同的方法来解决这个问题,但没有发现我忽略了什么或做错了什么。任何帮助都将不胜感激。谢谢你

这里发生了两件事:

  • 网站所需的成员资格用户,以及
  • 访问SQL Server数据库
  • 您需要向数据库提供一个连接字符串,
    成员资格提供程序将在其中存储用户数据。此用户名/密码不是您的
    会员资格
    数据存储中的用户。根据您发布的错误,您的连接字符串似乎正在使用集成安全性,因此它看起来类似于:

    数据源=myserver地址;初始目录=myDataBase;综合安全=SSPI

    您最可能要做的是设置一个
    SQL Server登录名
    ,将其放入连接字符串中。好的参考:

    创建登录名后,可以更改连接字符串以使用创建登录名时使用的用户名和密码。大概是这样的:

    数据源=myserver地址;初始目录=myDataBase;用户Id=我的用户名;
    
    密码=我的密码

    代码是什么?您尝试过什么?此帐户是windows帐户还是sql帐户?我尝试使用的帐户是windows身份验证帐户。我尝试过在我的项目中更改ConnectionString以使用不同的用户,但什么都没有。我已检查SQL是否接受远程连接。我已经尝试通过VS工具>选项>数据库工具>数据连接等连接到数据库。VS 2010中是否有一个设置可以用来测试与DB的连接?这听起来像是我没有尝试过的。我现在就试试,然后再给你回复结果。非常感谢。您还可以将登录名映射到Windows帐户。大多数情况下,人们在他们的域上会有一个服务帐户来访问SQL资源,并且会有他们的应用程序在模拟该帐户下运行的ApplicationPool标识。然后您将数据库访问权限授予该用户。因此,我创建了一个新登录名,修改了您写下的行,顺便说一句,对我来说更像是:“connectionString=“Data Source=。\SQLEXPRESS;AttachDbFilename=| DataDirectory | \SecurityTutorials.mdf;Integrated Security=True;user Instance=True;”并且不起作用。尽管我像您建议的那样更改了用户ID和密码,但域\用户名仍然存在获取和身份验证错误。此外,如果我尝试将SQL Server数据库添加到我的项目(在App_数据文件夹中),则会出现相同的错误:用户“域\用户名”登录失败