【问题标题】:IIS Connection IIS Basic User Settings Specific User Cannot Connect to SQL Server using Perl DBIIIS 连接 IIS 基本用户设置 特定用户无法使用 Perl DBI 连接到 SQL Server
【发布时间】:2020-04-22 04:44:40
【问题描述】:

当 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 数据库。

我一直在看 Stackoverflow 的帖子——比如one——有一段时间,并尝试了一些建议,比如制作系统 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]

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

2020 年 1 月 6 日编辑

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

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

【问题讨论】:

    标签: sql-server perl iis dbi


    【解决方案1】:

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

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

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

    【讨论】:

    • 这更多的是关于 IIS/MS SQL 安全模型(我对此一无所知)而不是 perl DBI 的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-29
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    相关资源
    最近更新 更多