VB6 не распознает перечисленные перечисленные ADODB через COM

StackOverflow https://stackoverflow.com/questions/4120857

  •  29-09-2019
  •  | 
  •  

Вопрос

Я поддерживаю устаревшую страницу ASP, которая создает объект потока ADODB, подобный этому, а затем пытается установить его тип с помощью adodb enumerator.

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

Всякий раз, когда я запускаю это, я получаю следующую ошибку:

Variable is undefined: 'adTypeBinary'

Однако, если я явно называю мой перечислетель, как это работает

 BinaryStream.Type = ADODB.StreamTypeEnum.adTypeBinary

Это работает на нескольких случаях серверов, которые теоретически все в синхронизации с точки зрения конфигурации и файлов и таких. Это работает на всех серверах, кроме одного, и я не уверен, что мы сделали, чтобы это начало происходит. Я могу подтвердить, что это происходит как минимум с одной другой библиотекой, которую мы используем. Что здесь происходит? Спасибо!

Это было полезно?

Решение

AFAIK за пределами внешнего включения, который определяет эти значения, единственным способом, которым вы можете использовать неквалифицированные члены, подобные тому, чтобы определить ссылку Typelib в вашей Global.ASA:

<!--METADATA TYPE="typelib" 
NAME="Microsoft ActiveX Data Objects 2.8 Library" 
UUID="{2A75196C-D9EB-4129-B803-931327F72D5C}" 
VERSION="2.8"-->
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top