经典 ASP - 使用 Windows 身份验证的 SQL Server 2008 连接字符串

Posted

技术标签:

【中文标题】经典 ASP - 使用 Windows 身份验证的 SQL Server 2008 连接字符串【英文标题】:Classic ASP - SQL Server 2008 Connection String using Windows Authentication 【发布时间】:2010-11-24 11:31:01 【问题描述】:

这应该非常简单,但我无法为使用 Windows 身份验证的 SQL Server 2008 的本地副本提供有效的连接字符串。我尝试使用数据链接属性工具创建连接字符串,并且连接没有问题,但是当我将生成的字符串复制粘贴到我的 ADODB.Connection 对象的 ConnectionString 属性中时,我得到了各种有趣和不同的错误。

Set conn = Server.CreateObject("ADODB.Connection")
conn.ConnectionString = "SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=climb4acure;Data Source=(local);"

Microsoft OLE DB Service Components (0x80040E21) Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.

我尝试了多种类似的连接字符串,但我找不到可以与 Windows 身份验证一起使用的连接字符串。有人能指出我正确的方向吗?

谢谢!

【问题讨论】:

【参考方案1】:

这是一种生成有效连接字符串的简单方法。

    右键单击桌面上的空白处,然后从上下文菜单中选择新建、文本文档

    使用 .udl 扩展名保存,并在询问您确定时单击是。

    双击刚刚创建的新 udl 文件。它将打开一个对话。转到提供程序选项卡,然后选择适当的提供程序。

    进入Connection选项卡,填写服务器名和数据库名,选择NT认证(或者使用特定的用户名和密码,即SQL认证)。现在单击测试连接。如果可行,您就可以单击“确定”并继续进行最后一步。如果不需要,您需要解决权限问题,或者您输入了错误的内容。

    现在右键单击桌面上的文件并在记事本中打开它。它将显示连接字符串,您可以将其复制并粘贴到您需要的任何位置。

【讨论】:

我认为这可能是我见过的最有帮助的帖子。 太棒了!然后我不得不手动将我的密码添加到生成的连接字符串中(使用 Password=xxxxx)。【参考方案2】:

我假设您安装了 2008 Native Client?另外,我注意到您在开头缺少“提供者”标签 - 您是否还有运气:

Provider=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=climb4acure;Data Source=(local);

【讨论】:

【参考方案3】:

你看过connectionstrings.com吗?它们是一个很好的参考(但根据我的经验,它们在 Google Chrome 浏览器中效果不佳)。

【讨论】:

是的,我在那里花了一些时间尝试各种建议的连接字符串,但它们似乎都不能正常工作。 不过,我很高兴你找到了答案。【参考方案4】:

工作得很好:

“提供者=SQLNCLI;服务器=xxxxxxxx;uid=sa;pwd=xxxxxx;数据库=xxxxxx;”

【讨论】:

以上是关于经典 ASP - 使用 Windows 身份验证的 SQL Server 2008 连接字符串的主要内容,如果未能解决你的问题,请参考以下文章

经典 ASP - 文件移动 IIS 的权限被拒绝

向经典 ASP.NET Web 窗体应用和 Web API 应用添加共享身份验证

java模拟使用windows身份验证连接到sql server

ASP.NET Windows 和窗体身份验证

使用 Windows 身份验证禁用对 ASP.NET 应用程序的子文件夹的身份验证

Windows 身份验证 Asp.net 知道如何