oct*_*bus 6 sql-server iis 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]
Run Code Online (Sandbox Code Playgroud)
任何有关下一步尝试的建议将不胜感激。
编辑 1/6/2020
我需要补充一点,我使用 .Net ODBC 对象的 C# 客户端应用程序成功访问了基于 Web 的 Perl DBI 代码失败的同一个数据库。客户端应用程序的用户名和密码与 Perl CGI 中使用的用户名和密码相同。
此应用程序的 IIS 用户以域管理员身份运行,但在创建 DBI 连接时使用相同的用户名和密码。数据库是为 SQL 用户名和密码设置的,并且如前所述,没有安全设置,至少我可以说。
这并不能回答问题,而是一种解决方法。我认为以下是一种解决方法,因为我仍然想知道为什么特定用户的 DBI 调用失败。
我将 IIS 基本用户设置连接从特定用户(域管理员)切换到应用程序用户(直通身份验证)。
进行此更改并重新启动 IIS 后,Perl DBI 连接可以正常工作,但为什么呢?
| 归档时间: |
|
| 查看次数: |
245 次 |
| 最近记录: |