您正在查看: 标签 应用程序 下的文章

ADO 错误代码

ADO 错误代码

除了在 Error 对象和 Errors 集合中说明的提供者错误之外,ADO 本身也将错误返回到运行时环境的异常处理机制之中。使用编程语言的错误捕获机制(如 Microsoft® Visual Basic® 中的 On Error 语句)可捕获及处理下列错误。下表将同时显示十进制和十六进制错误代码值。

常量名称 编号 说明
AdErrInvalidArgument 3001

0x800A0BB9

应用程序使用的参数类型错误、超出可接受的范围或者与其他参数冲突。
AdErrNoCurrentRecord 3021

0x800A0BCD

BOF 或 EOF 为 True,或者当前记录已经删除。应用程序请求的操作需要当前记录。
adErrIllegalOperation 3219

0x800A0C93

应用程序请求的操作不允许出现在该上下文中。
adErrInTransaction 3246

0x800A0CAE

在事务中应用程序无法显式关闭 Connection 对象。
adErrFeatureNotAvailable 3251

0x800A0CB3

提供者不支持应用程序请求的操作。
adErrItemNotFound 3265

0x800A0CC1

ADO 无法在对应于应用程序请求的名称或顺序引用的集合中找到对象。
adErrObjectInCollection 3367

0x800A0D27

无法追加,对象已经在集合中。
adErrObjectNotSet 3420

0x800A0D5C

应用程序引用的对象不再指向有效的对象。
adErrDataConversion 3421

0x800A0D5D

应用程序对当前操作使用了错误的值类型。
adErrObjectClosed 3704

0x800A0E78

如果对象关闭,则不允许应用程序请求的操作。
adErrObjectOpen 3705

0x800A0E79

如果对象打开,则不允许应用程序请求的操作。
adErrProviderNotFound 3706

0x800A0E7A

ADO 找不到指定的提供者。
adErrBoundToCommand 3707

0x800A0E7B

应用程序无法用 Command 对象将 Recordset 对象的 ActiveConnection 属性更改为它的来源数据。
adErrInvalidParamInfo 3708

0x800A0E7C

应用程序错误地定义了 Parameter 对象。
adErrInvalidConnection 3709

0x800A0E7D

应用程序通过引用关闭或无效的 Connection 对象来请求对对象的操作。

安全性和 Web 服务器

安全性和 Web 服务器

如果在 Internet Web 服务器上使用 RDSServer.DataFactory,请记住这会引起潜在的安全性问题。获得有效数据源名称 (DSN)、用户标识符和密码信息的外部用户可以编写将任何查询发送到该数据源的页面。如果希望对数据源有更多的限制访问,一种选择是取消注册并删除 RDSServer.DataFactory 对象 (msadcf.dll),并且使用带硬代码查询的自定义业务对象替代。下一节将说明怎么做。

客户模拟和安全性

如果 IIS Web 服务器的“密码验证”属性设置为“Windows NT Challenge/Response”,那么业务对象将在客户的安全性上下文中被调用。这是 RDS 1.5 中的新功能,允许通过 HTTP 进行客户模拟。在这种模式下工作时,对 Web 服务器 (IIS) 的登录不是匿名的,而是使用客户计算机运行时使用的用户 ID 和密码。如果 ODBC DSN 设置为使用“委托的连接”,那么对诸如 SQL Server 的数据库的访问也发生在客户的安全性上下文中。但只有在数据库与 IIS 在相同的计算机上时才可行。不能将客户身份证转移到其他计算机。

例如,客户 John Doe 要登录到客户计算机,他的用户标识符=“JohnD”,密码=“secret”。他运行基于浏览器的应用程序,该应用程序需要访问 RDSServer.DataFactory 对象并通过在运行 IIS 的“MyServer”计算机上执行 SQL 查询来创建 ADOR.Recordset。MyServer 设置为使用“Windows NT Challenge/Response”用户密码验证,它的 ODBC DSN 已经选定了“使用委托的连接”,同时服务器包含 SQL Server 数据源。当在 Web 服务器上接收到请求时,它要求客户输入用户 ID 和密码。因此登录到 MyServer 上的请求来自“JohnD”/“Secret”而不是 IUSER_MyServer(“匿名密码验证”打开时的默认情况)。类似地,当登录到 SQL Server 时将使用“JohnD”/“Secret”。

因此,在没有显式提示用户输入登录到数据库所需的用户 ID 和密码信息的情况下,IIS NT 请求/响应验证模式允许创建 html 页面。如果使用“IIS 基本验证”,也要求使用该模式。

密码验证

RDS 可以与在任何下列三种密码验证模式下运行的 IIS Web 服务器通讯:匿名、基本或 NT Challenge/Response。这些设置定义 Web 服务器如何通过它控制访问,例如请求客户计算机在 NT Web 服务器上有显式的访问特权。

Active Server Pages

Active Server Pages

Active Server Pages (ASP) 是服务器端的脚本编写环境,您可用它来创建动态 Web 页或生成功能强大的 Web 应用程序。ASP 页是包括 html 标记、文本和脚本命令的文件。ASP 页可调用 ActiveX 组件来执行任务,例如连接到数据库或进行商务计算。通过 ASP,可为您的 Web 页添加交互内容或用 html 页构成整个 Web 应用程序,这些应用程序使用 HTML 页作为您的客户的界面

本节的主题是介绍 Active Server Pages,解释 Active Server Pages 脚本的基本概念,并讨论诸如如何维持状态之类的更复杂的应用程序问题。

本节包括:

  • 介绍 Active Server Pages:介绍 ASP 并描述该版本中的新特征。
  • 使用脚本语言:提供编写脚本所需的基本信息,包括语言的语法信息。
  • 编写简单脚本:提供编写执行基本任务的脚本的信息,例如从 HTML 表格获取信息。
  • ASP 应用:提供编写脚本所需的更复杂的信息,例如管理会话状态。

本节包括以下信息:

  • 更高级的主题信息,例如使用会话状态。请参阅 ASP 应用程序
  • 内建 ASP 对象的参考页。
  • 有关 ASP 组件的参考页。
  • 构建您自己的 ASP 组件。
  • VBScript 参考页。
  • JScript 参考页。
  • SDK 提供的示例脚本。

ASP 的新功能

ASP 的新功能

Active Server Pages 在功能方面有所增强,更易于开发应用程序。

  • Microsoft 脚本调试程序。 您可以使用脚本调试程序调试 .asp 文件。请参阅调试 ASP 脚本。
  • 事务性脚本。 ASP 页和页中使用的对象可以运行于事务环境之下。在页上的全部工作只有两种结果:提交或终止。事务可以保护应用程序免于因失败而导致数据丢失。请参阅创建事务性脚本。
  • 管理工具。 许多应用程序设置可在 Internet 服务管理器上进行,这是 Internet Information Server 和 Personal Web Server(在 Windows NT Workstation 上)的管理工具。
  • 隔离 ASP 应用程序。 您可以隔离 ASP 应用程序以便它们能在 Web 服务器上独立的内存空间内运行。万一某个应用程序失败时,可以保护其他应用程序和 Web 服务器。它也使您可以在不停止 Web 服务器的情况下,停止一个应用程序或从内存中卸载其组件。
  • 文件上载。 浏览器可以通过 Posting Acceptor 应用程序将文件上载到 Web 服务器。可以编写 ASP 脚本来发送带有从 Posting Acceptor 传来的信息的 email,如每一个上载文件的位置和名称。请参阅 Posting Accepter 文档(在 Microsoft Site Server Express 的目录表中)。
  • 新的 ASP 组件。 ASP 提供了新的基础组件。
  • 应用程序根目录的改变。 ASP 应用程序的根目录在您的 Web 站点上可以是物理目录。以前,根目录必须映射为虚拟目录。现在可以用 Internet 服务管理器指示 ASP 应用程序的根目录。必须将 .asp 文件置于应用程序树中,Web 服务器才能检测文件的改变并且自动重装它们。
  • 支持 Internet Explorer 4.0 通道和 Web 预测。 当 ASP 要发送包含通道定义命令的文件时,它会自动告诉 Internet Explorer 4.0。使用 ASP 很容易就能生成通道定义 (.cdf) 文件。
  • 支持 HTTP 1.1 协议。 Internet Information Server 和 Personal Web Server 支持 HTTP 1.1 协议。在响应支持 HTTP 1.1 的浏览器(例如 Internet Explorer 4.0)时,这一支持可使 ASP 利用新协议的高效率。例如,当向浏览器返回页的时候,ASP 使用大块转换编码以提高网络效率。

ASP 内建对象

ASP 内建对象

Active Server Pages 提供内建对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息(如用户首选项)。本文简要说明每一个对象。

Application 对象

可以使用 Application 对象使给定应用程序的所有用户共享信息。

Request 对象

可以使用 Request 对象访问任何用 HTTP 请求传递的信息,包括从 html 表格用 POST 方法或 GET 方法传递的参数、cookie 和用户认证。Request 对象使您能够访问发送给服务器的二进制数据,如上载的文件。

Response 对象

可以使用 Response 对象控制发送给用户的信息。包括直接发送信息给浏览器、重定向浏览器到另一个 URL 或设置 cookie 的值。

Server 对象

Server 对象提供对服务器上的方法和属性进行的访问。最常用的方法是创建 ActiveX 组件的实例 (Server.CreateObject)。其他方法用于将 URL 或 html 编码成字符串,将虚拟路径映射到物理路径以及设置脚本的超时期限。

Session 对象

可以使用 Session 对象存储特定的用户会话所需的信息。当用户在应用程序的页之间跳转时,存储在 Session 对象中的变量不会清除;而用户在应用程序中访问页时,这些变量始终存在。也可以使用 Session 方法显式地结束一个会话和设置空闲会话的超时期限。

ObjectContext 对象

可以使用 ObjectContext 对象提交或撤消由 ASP 脚本初始化的事务。