Il y a quelques années, j'ai écrit un programme C# .NET qui utilisait Microsoft ACE et JET OLEDB pour convertir des feuilles de calcul Excel en fichiers CSV. Récemment, nous avons mis à niveau vers un serveur Windows Server 2008 x64. Étant donné que JET était obsolète, cette méthode ne fonctionnait plus. À l'origine, les fichiers .xls d'Excel 2003 étaient traités avec JET et les fichiers .xlsx Excel 2007 étaient traités avec ACE. J'ai changé les chaînes de connexion pour utiliser ACE pour les deux.Invite de commande MDAC OLEDB Problème 32 bits
Nous pouvons maintenant exécuter le programme avec succès via une invite de commande. Cependant, lorsque nous utilisons notre logiciel d'automatisation (qui exécute apparemment le programme de manière similaire à la méthode Start-> Run), nous recevons une erreur indiquant que les composants Microsoft Data Access ne sont pas installés. En les recherchant, il semble qu'ils ne fonctionnent que sur des systèmes 32 bits et ne supportent rien au-dessus de Windows Server 2000.
Des idées? Nous avons installé les derniers pilotes beta x64 ACE OLEDB. Le programme fonctionne bien manuellement. J'ai également essayé de compiler le programme avec une plate-forme cible de x86. Nous avons également exécuté le programme manuellement avec succès en utilisant le compte Windows que le logiciel d'automatisation utilise.
Merci pour l'aide. Nous avons essayé de changer la plate-forme cible et cela a définitivement changé la façon dont les pilotes oledb fonctionnaient. Cependant, notre programme d'automatisation semble toujours lancer des erreurs MDAC, peu importe ce qu'il exécute. Cela ne semble pas donner le contrôle du programme. –
Si c'est maintenant lancer des erreurs différentes, que vous avez progressé en quelque sorte, et maintenant c'est un problème différent. –
Correct. Il semble que notre logiciel d'automatisation essaie d'utiliser MDAC pour une raison folle. MDAC ne prend même pas en charge les serveurs x64. –