2010-11-08 93 views
0

我正在支持一个传统ASP页面,它创建一个ADODB流对象,然后尝试使用ADODB枚举器设置它的类型。VB6无法通过COM识别ADODB枚举器

Set BinaryStream = Server.CreateObject("ADODB.Stream") 
BinaryStream.Type = adTypeBinary 

每当我运行此我得到以下错误:

Variable is undefined: 'adTypeBinary' 

但是,如果我明确命名我的枚举,这样,它的工作原理

BinaryStream.Type = ADODB.StreamTypeEnum.adTypeBinary 

这几个运行服务器实例,理论上它们在配置和文件等方面都是同步的。这适用于除一个之外的所有服务器,并且我不确定我们做了什么来开始发生。我可以确认至少有一个其他图书馆正在发生这种情况。这里发生了什么?谢谢!外部的外

+1

我没有用VB6或ASP在很长一段时间。但我认为你的服务器上有adovbs.inc文件。检查是否更改或删除有问题的那个。 – pitx3 2010-11-08 04:03:39

+0

我检查了这个文件在4个地方,(Program Files \ Common FIles \ System \ ado和winsxs \ some stuff)。这两者的64位和32位版本。我如何确保他们正在成功/未成功加载? – Dlongnecker 2010-11-08 17:23:51

回答

0

AFAIK包括定义这些值,你可以使用不合格的成员一样,是定义你的global.asa类型库引用的唯一途径:

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

这在所有机器上都是正确的:/ – Dlongnecker 2010-11-08 17:22:18

+0

除非我查看错误的应用程序D: – Dlongnecker 2010-11-15 14:43:47