【发布时间】:2012-04-10 16:35:20
【问题描述】:
我有一个在 Windows 身份验证模式下运行的 sql server 2008R2 express。我基于 Windows 帐户在 sql server 中为数据库创建了登录名和用户。我可以通过(以用户身份运行)SSMS 连接到 sql server 数据库并浏览我的数据库就好了。
现在我正在尝试通过第 3 方 asp 应用程序进行连接
set loginDB = Server.CreateObject("ADODB.Connection")
'For Windows Server 2008 / SQL 2008 users, please use the following line for the DB connection
loginDB.Open "Provider=SQLNCLI10; Server=(local)\SQLServerName; Database=dbname;Uid="myuser" Pwd="pwd""
我收到一条错误消息,提示用户 myuser 登录失败
该网站也在一个应用程序池上运行,我已将其设置为以 Windows 用户 myuser 身份运行。
我哪里错了???
谢谢。
【问题讨论】:
-
您在 uid 和 pwd 部分之间缺少分号。
-
很确定 IIS 将传递访问该网站的用户的 Windows 凭据(一旦您按照 Tony 的建议将其更改为 SSPI)。在大多数情况下,除非您特别尝试审核各个 Windows 用户的操作,否则使用 SQL 身份验证从经典 ASP 访问通用数据库就足够了。
-
再次检查您的数据库名称是否正确。使用不正确的 DBName 时 SQL Server 的错误消息通常看起来很像无效的用户名/密码错误消息。
标签: sql-server-2008 asp-classic