连接到远程 SQL Server 数据库的经典 ASP 问题

Classic ASP problem connecting to remote SQL Server database(连接到远程 SQL Server 数据库的经典 ASP 问题)
本文介绍了连接到远程 SQL Server 数据库的经典 ASP 问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个经典的 ASP 应用程序,我正在尝试连接到不同服务器上的 SQL Server 2008 数据库.ASP 应用程序是由 Windows Server 2008 上的 IIS7 提供的.

我已将网站的应用程序池更改为在特定 Windows 帐户下运行,我已验证可以访问远程服务器上的数据库.

但是,当我在浏览器中运行应用程序时,我收到此错误:

<上一页>应用程序错误编号:-2147217843 (0x80040E4D)来源:Microsoft OLE DB Provider for SQL Server说明:用户NT AUTHORITYANONYMOUS LOGON"登录失败.

为什么要尝试使用 NT AUTHORITYANONYMOUS LOGON 进行连接?应用程序池标识是否不适用于经典 ASP 代码?如何以特定用户的身份进行此连接?

编辑

这是我正在使用的连接字符串:

<块引用>

Provider=SQLOLEDB.1;Data Source=myDbServer;Initial Catalog=myDatabase;Integrated Security=SSPI

解决方案

对于使用经典 ASP 应用程序池标识的站点,您需要更改用于匿名身份验证的凭据.默认情况下,该站点将设置为使用特定用户,即 IUSR.

从站点的 IIS 区域中选择 Authentication,然后选择 Anonymous Authentication,然后选择 Edit.从特定用户更改为应用程序池身份.

建议使用 Windows 身份验证(集成安全性)而不是 SQL 身份验证,这样您的配置文件中就没有凭据,这样即使这些文件遭到破坏,您也不会失去对凭据的控制.

I have a classic ASP app that I am trying to connect to a SQL Server 2008 database on a different server. The ASP app is being served from IIS7 on Windows Server 2008.

I have changed the web site's application pool to run under a specific windows account, that I have verified has access to the database on the remote server.

However, when I run the app in the browser, I get this error:

Application Error 
Number: -2147217843 (0x80040E4D)
Source: Microsoft OLE DB Provider for SQL Server
Description: Login failed for user 'NT AUTHORITYANONYMOUS LOGON'. 

Why is it trying to connect using NT AUTHORITYANONYMOUS LOGON? Does the App pool identity not apply to classic ASP code? How can I make this connect as a specific user?

EDIT

Here is the connection string I am using:

Provider=SQLOLEDB.1;Data Source=myDbServer;Initial Catalog=myDatabase;Integrated Security=SSPI

解决方案

For a site to use the application pool identity for classic ASP, you need to change the credentials used for Anonymous Authentication. By default, the site will be set to use a specific user, namely IUSR.

Select Authentication from the IIS area of your site, then select Anonymous Authentication followed by Edit. Change from Specific user to Application pool identity.

It's advisable to use Windows authentication (integrated security) over SQL authentication so that you don't have credentials in your config files so that if those files are compromised, you don't lose control of the credentials.

这篇关于连接到远程 SQL Server 数据库的经典 ASP 问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Execute complex raw SQL query in EF6(在EF6中执行复杂的原始SQL查询)
SSIS: Model design issue causing duplications - can two fact tables be connected?(SSIS:模型设计问题导致重复-两个事实表可以连接吗?)
SQL Server Graph Database - shortest path using multiple edge types(SQL Server图形数据库-使用多种边类型的最短路径)
Invalid column name when using EF Core filtered includes(使用EF核心过滤包括时无效的列名)
How should make faster SQL Server filtering procedure with many parameters(如何让多参数的SQL Server过滤程序更快)
How can I generate an entity–relationship (ER) diagram of a database using Microsoft SQL Server Management Studio?(如何使用Microsoft SQL Server Management Studio生成数据库的实体关系(ER)图?)