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

10

这应该是非常简单的,但我无法为使用Windows身份验证的SQL Server 2008本地副本创建工作连接字符串。 我尝试使用Data Link Properties工具创建连接字符串,并且它没有连接问题,但是当我将生成的字符串复制粘贴到我的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 服务组件(0x80040E21)多步 OLE DB 操作生成错误。如果可用,请检查每个 OLE DB 状态值。未执行任何工作。

我尝试了各种类似的连接字符串,但找不到适用于 Windows 身份验证的连接字符串。有谁能指点一下我该怎么做吗?

谢谢!

4个回答

35

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

  1. 在桌面上右键点击空白处,选择“新建”、“文本文档”

  2. 将它保存为.udl后缀,并在提示是否确定时选择是

  3. 双击刚创建的UDL文件,打开对话框,切换到“提供程序”选项卡,选择适当的提供程序

  4. 切换到“连接”选项卡,填写服务器名称和数据库名称,并选择NT身份验证(或使用特定的用户名和密码,即SQL身份验证)。现在点击“测试连接”。如果成功了,你就可以点击“确定”并进入最后一步。如果失败,你需要解决权限问题,或者检查是否打错了什么字符。

  5. 现在,在桌面上右键点击文件并在记事本中打开,它会显示可复制粘贴到需要的地方的连接字符串。


2
我认为这可能是我见过的最有用的帖子。 - Chris Hawkes
太棒了!然后我不得不手动将我的密码添加到生成的连接字符串中(使用Password=xxxxx)。 - Nanki

11

我假设您已经安装了2008本机客户端?另外,我注意到您在开头缺少“provider”标签 - 您尝试使用以下代码是否更成功:

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

1

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


是的,我在那里花了一些时间尝试各种建议的连接字符串,但似乎没有一个能正常工作。 - Nathan Taylor
1
不过,我很高兴你找到了答案。 - Paul Hanbury

0

完全正常工作:

"Provider=SQLNCLI;Server=xxxxxxxx;uid=sa;pwd=xxxxxx;database=xxxxxx;"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接