2008-12-17 10 views
2

Comment puis-je exposer la fonctionnalité trouvée dans Advantage.Data.Provider.dll à travers un wrapper.envelopper un fournisseur de données Advantage 32 bits dans un COM +

Mon but est d'installer/déployer COM + dans un serveur 64 bits. Le fichier Advantage.Data.Provider.dll est un pilote 32 bits. Vous ne voulez pas passer à Advantage Database Server 9 qui prend en charge 64 bits. J'ai créé un composant .NET desservi en C#, pas de problème pour le configurer. Ce que je ne sais pas, c'est ce qu'il faut mettre dedans. Comment puis-je exposer la fonctionnalité trouvée dans la DLL au code client? Je vais clarifier si vous me le demandez. Merci, Chesterton

Répondre

1

Si je vous comprends bien, vous voulez appeler le Advantage.Data.Provider.dll à partir d'un objet COM + sur un serveur 64 bits. Le fichier Advantage.Data.Provider.dll appelle ads32.dll, qui est une DLL 32 bits (version 9.1 et antérieure). Le fichier ace32.dll ne peut pas être appelé à partir d'un processus 64 bits. Uniquement si votre objet COM + s'exécute dans un processus 32 bits, il peut appeler ace32.dll avec succès.

Une application C# qui appelle Advantage.Data.Provider.dll (et par conséquent, ace32.dll) doit être ciblée pour x86 (32 bits).