VB6无法通过COM识别ADODB枚举数

VB6无法通过COM识别ADODB枚举数,com,vb6,enumerator,Com,Vb6,Enumerator,我支持一个传统的ASP页面,它创建一个类似这样的ADODB流对象,然后尝试使用ADODB枚举器设置它的类型 Set BinaryStream = Server.CreateObject("ADODB.Stream") BinaryStream.Type = adTypeBinary 无论何时运行此操作,都会出现以下错误: Variable is undefined: 'adTypeBinary' 但是,如果我像这样显式地命名我的枚举器,它是有效的 BinaryStream.Type = A

我支持一个传统的ASP页面,它创建一个类似这样的ADODB流对象,然后尝试使用ADODB枚举器设置它的类型

Set BinaryStream = Server.CreateObject("ADODB.Stream")
BinaryStream.Type = adTypeBinary
无论何时运行此操作,都会出现以下错误:

Variable is undefined: 'adTypeBinary'
但是,如果我像这样显式地命名我的枚举器,它是有效的

 BinaryStream.Type = ADODB.StreamTypeEnum.adTypeBinary

这在多个服务器实例上运行,理论上,这些实例在配置和文件等方面都是同步的。除了一台服务器之外,这在所有服务器上都起作用,我不确定我们做了什么使这一切开始发生。我可以确认我们使用的至少一个其他库也发生了这种情况。这是怎么回事?谢谢

AFAIK在定义这些值的外部include之外,使用非限定成员的唯一方法是在global.asa中定义typelib引用:

<!--METADATA TYPE="typelib" 
NAME="Microsoft ActiveX Data Objects 2.8 Library" 
UUID="{2A75196C-D9EB-4129-B803-931327F72D5C}" 
VERSION="2.8"-->


我很久没有使用VB6或ASP了。但我想你的服务器上有adovbs.inc。检查有问题的文件是否已更改或删除。我检查了文件,该文件位于4个位置(Program Files\Common Files\System\ado和winsxs\some stuff)。这两个版本的64位和32位版本。我如何确保加载成功/未成功?