繁体   English   中英

IIS 连接 IIS 基本用户设置特定用户无法使用 Perl DBI 连接到 SQL Server

[英]IIS Connection IIS Basic User Settings Specific User Cannot Connect to SQL Server using Perl DBI

当 Perl DBI 尝试连接到我的 MS SQL Server 数据库版本 11.0.7001(这是 SQL Server 管理器中列出的)时,我的 Perl IIS Web 应用程序收到 SSL 错误。 Perl 应用程序在 IIS 下运行,我的 IIS 基本用户设置连接设置为特定用户(域管理员)。

SQL Sever 数据库与 IIS 驻留在同一系统上。 Perl 的发行版是 Strawberry Perl; IIS 的版本是 8.5.9600.16384。

我可以使用服务器本地的 SQL Server 管理器连接到数据库,也可以从我的工作站远程连接到数据库。 连接类型是 SQL 用户名和密码。 IIS 应用程序侦听端口 8085。IIS 权限不受限制,并且没有 SQL 服务器连接字符串作为 IIS 的一部分。

应用程序的第一页加载,但第一页不会尝试连接到 SQL Server 数据库。

我一直在寻找岗位#1 -这样的一个-一会儿,并尝试一些喜欢做一个系统DSN(其中正确测试)的建议,而不是在Perl DSN字符串。

这些建议都没有帮助,许多但不是所有的帖子都在处理安全和证书,而不是防火墙后面的应用程序。 换句话说,我没有打开安全性。

据我所知,此应用程序没有开启安全功能,并且命名管道和 TCP/IP已经开启,正如我在其中一篇文章中所建议的那样。

这是错误:

[Microsoft][ODBC SQL Server Driver][DBMSLPCN]ConnectionOpen (SECCreateCredentials()). (SQL-01000) at ../../include/DbArgs.pm line 266.
DBI connect('driver={SQL Server};server=arlsql\arlsql;database=BuildingPermit;uid=user;pwd=pwd','',...) failed: [Microsoft][ODBC SQL Server Driver][DBMSLPCN]SSL Security error (SQL-08001) [state was 08001 now 01000]

任何有关下一步尝试的建议将不胜感激。

编辑 1/6/2020

我需要补充一点,我使用 .Net ODBC 对象的 C# 客户端应用程序成功访问了基于 Web 的 Perl DBI 代码失败的同一个数据库。 客户端应用程序的用户名和密码与 Perl CGI 中使用的用户名和密码相同。

此应用程序的 IIS 用户以域管理员身份运行,但在创建 DBI 连接时使用相同的用户名和密码。 数据库是为 SQL 用户名和密码设置的,并且如前所述,没有安全设置,至少我可以说。

这不能回答问题,而是一种解决方法。 我认为以下是一种解决方法,因为我仍然想知道为什么特定用户的 DBI 调用失败。

我将我的 IIS 基本用户设置连接从特定用户(域管理员)切换到应用程序用户(直通身份验证)

进行此更改并重新启动 IIS 后,Perl DBI 连接工作正常,但为什么呢?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM