【问题标题】:Connecting to Microsoft SQL Server from Visual Basic从 Visual Basic 连接到 Microsoft SQL Server
【发布时间】:2020-02-21 22:29:04
【问题描述】:

我正在尝试从 Microsoft Visual Studio 2010 中连接到 Microsoft SQL Server 2008 R2。我的连接字符串如下:

connection = New SqlConnection("Server=localhost;Database=greenapplication;User ID=WindowsID;Password=WindowsPassword")

我不断收到此异常:System.Data.SqlClient.SqlException:

Login failed for user 'WindowsID'.

我做错了什么?我必须设置某些权限吗?

【问题讨论】:

  • WindowsID 指的是 Windows 域帐户吗?如果是这样,您正在尝试使用集成安全性(错误地)。
  • 不,WindowsID 是指与 Visual Studio 和 Microsoft SQL Server 位于同一台计算机上的本地帐户。
  • 您不能为此使用本地计算机帐户(具有域等效项的“特殊”内置帐户除外),您需要使用域帐户(或其他合适的帐户,例如NETWORK SERVICE)具有集成安全性,或 SQL Server 帐户。

标签: vb.net visual-studio-2010


【解决方案1】:

如果您尝试使用集成安全,您的连接字符串应该是:

"Server=localhost;Database=greenapplication;Trusted_Connection=True"

然后您可以通过角色和 Windows 组来管理权限。 (您可以授予个别用户权限,但这不是管理数据库访问的推荐方式。

更新:您在原始问题中忽略了这是一个网络应用程序。处理这个问题的常用方法是创建一个应用程序。池以已知身份(例如 NETWORK SERVICE)运行,然后授予该身份对数据库的必要权限。

这是一个例子:

-- Create a SQL Server login for the Network Service account
sp_grantlogin 'NT AUTHORITY\Network Service'

-- Grant the login access to database
USE MyDB
GO
sp_grantdbaccess 'NT AUTHORITY\Network Service', 'Network Service'

-- Add user to read only database role
USE MyDB
GO
sp_addrolemember 'db_datareader', 'Network Service'

如果您坚持使用在连接字符串中传递用户名和密码的不太安全的方法,请使用 SQL Server 登录:

【讨论】:

  • 我现在收到此错误:System.Data.SqlClient.SqlException: Login failed for user 'IIS APPPOOL\DefaultAppPool'。
  • 抱歉疏忽了,但这仍然没有任何作用。
【解决方案2】:

既然你说“WindowsPassword”,我想你可能应该使用这个连接字符串:

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

我还建议您访问此网站:

http://www.connectionstrings.com

【讨论】:

  • 我现在收到此错误:System.Data.SqlClient.SqlException: Login failed for user 'IIS APPPOOL\DefaultAppPool'
  • 您需要确保此用户已在 SQL 企业管理器中配置,并且它有权登录到数据库。当您使用它时,您还需要授予它访问您打算使用的表的权限。
【解决方案3】:

你可以试试这个。

"Provider=SQLOLEDB;Data Source=" & SQLSERVER NAME & "; Initial Catalog=" & Dbname & ";Network=DBMSSOCN;" & _
            "User Id=" & UID & ";" & _
            "Password=" & Pwd & ";"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多