2010-11-08 34 views
0

Je gère une page ASP héritée qui crée un objet de flux ADODB comme celui-ci, puis tente de définir son type avec un énumérateur ADODB.VB6 ne reconnaît pas les énumérateurs ADODB via COM

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

Chaque fois que je lance ce que je reçois l'erreur suivante:

Variable is undefined: 'adTypeBinary' 

Cependant, si je nomme explicitement mon recenseur, comme ça, ça marche

BinaryStream.Type = ADODB.StreamTypeEnum.adTypeBinary 

C'est en cours d'exécution sur plusieurs instances de serveurs, qui sont en théorie tous synchronisés en termes de configuration et de fichiers et autres. Cela fonctionne sur tous les serveurs sauf un, et je ne suis pas sûr de ce que nous avons fait pour que cela commence. Je peux confirmer que cela arrive à au moins une autre bibliothèque que nous utilisons. Qu'est-ce qui se passe ici? Merci!

+1

Je ne l'ai pas utilisé VB6 ou ASP depuis longtemps. Mais je présume que vous avez adovbs.inc quelque part sur vos serveurs. Vérifiez si cela a changé ou a été retiré sur celui qui a des problèmes. – pitx3

+0

J'ai vérifié et ce fichier est à 4 endroits, (Program Files \ Common FIles \ System \ ado et winsxs \ quelques trucs). Les versions 64 et 32 ​​bits de ces deux. Comment puis-je m'assurer qu'ils sont chargés avec succès/sans succès? – Dlongnecker

Répondre

0

AFAIK en dehors d'un externe comprennent qui définit ces valeurs, la seule façon que vous pouvez utiliser les membres non qualifiés comme c'est de définir une référence typelib dans votre global.asa:

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

Ceci est correct sur toutes les machines:/ – Dlongnecker

+0

Sauf si je cherche dans la mauvaise application D: – Dlongnecker