Pourquoi le fournisseur VFP .NET OLEdb ne fonctionne-t-il pas sous Windows 64 bits?

J'ai écrit un service Windows à l'aide de VB qui lit certaines données héritées de Visual Foxpro Databases à insérer dans SQL 2005. Le problème est que cette utilisation s'exécute correctement dans Windows Server 2003 32 bits, mais le client a récemment migré vers Windows 2003 64 bits et maintenant le service ne fonctionnera pas. Je reçois un message le fournisseur VFP .NET OLEdb est introuvable. J'ai fait des recherches et tout semble indiquer qu'il n'y a pas de solution. Toute aide, s'il vous plaît ...

0
ajouté édité
Vues: 4

5 Réponses

That's a really odd response you're seeing. Of course there's the obvious suggestion of: have you tried power cycling everything in the chain? (PC->STK200->devboard) But also, do you have another AVR programmer you can try? Do you have another ATmega328P you can try reading & writing? Have you ever been able to read fuse settings with any programmer?

D'autres choses à essayer: Pouvez-vous enlever le cristal et voir si vous pouvez communiquer avec la puce alors? Votre programmeur a-t-il la capacité d'ajuster la vitesse du SCK? (le STK500 peut le faire, pas sûr de STK200). Il se peut que la puce soit en mode très basse vitesse.

En dernier recours, vous devrez mettre la puce dans un programmateur haute tension. Je sais qu'au moins le STK500 peut le faire, et il y a quelques circuits pour pirater un HVP depuis un port Arduino ou LPT. J'ai dû réanimer quelques puces AVR de cette façon en raison d'un problème électrique ou j'ai réglé les paramètres.

3
ajouté

Quelques pensées. À quoi servaient les fusibles avant de les changer? avez-vous confirmé votre câblage avec le schéma? Rappelez-vous, il faut que le cristal soit connecté pour le programmer.

Vérification de la feuille de données, il semble que 0xF7 était le mauvais paramètre à utiliser. CKSEL 3..0 est défini sur 1000 par 0xF7. Il y a une table dans la feuille de données, qui recommande cette valeur pour les oscillateurs de .8 à .9MHz, et spécifie spécifiquement que ce paramètre n'est pas à utiliser avec les cristaux. Le réglage correct pour l'octet bas des fusibles était 0xF1, ce qui met CKSEL 3..1 à 111, ce qui est recommandé pour les quartz à 16 MHz. L'information pertinente est à la page 29 de la fiche technique.

Vous aurez probablement besoin d'un programmeur old-school pour résoudre le problème, sinon vous avez briqué la puce.

1
ajouté

Vous devrez compiler avec le CPU cible défini sur x86 pour forcer votre code à utiliser la version 32 bits du code VFP Fournisseur Db OLE .

Microsoft has stated that there are no plans on releasing a 64-bit edition of the Visual FoxPro OLE Db provider. For what's worth, Microsoft has also stated that VFP 9 is the final version of Visual FoxPro and support will end in 2015. If you need the OLE DB provider for VFP 9, you can get it here.

0
ajouté

Avez-vous essayé de changer le CPU cible en x86 au lieu de "Any CPU" dans les options avancées du compilateur? Je sais que cela résout certains problèmes avec les autres fournisseurs OLEDB en forçant l'utilisation de la version 32 bits.

0
ajouté
@Ken: Désolé. Je ne sais pas avec certitude et je ne peux pas facilement mettre en place un test. Ma conjecture serait que le projet de démarrage + tous les projets qui utilisent le fournisseur OLEDB qui cause le problème.
ajouté l'auteur Paul G, source
@ Paul: Je suis confronté à ce problème, aussi. Cependant, mon sln a environ 10 projets. Dois-je modifier ce paramètre pour TOUS les projets ou seulement pour le projet "startup"? Merci!
ajouté l'auteur Ken, source
Merci, pas de soucis, je l'ai eu au travail. Mais pour quelqu'un d'autre lire ceci, j'ai changé le réglage seulement dans le projet de démarrage et il a fait l'affaire. Cela semble être un paramètre de solution plutôt qu'un paramètre de projet. Tant pis.
ajouté l'auteur Ken, source

Sybase Anywhere has a OLEDB provider for VFP tables. It states in the page that the server supports 64 bit Windows, don't know about the OLEDB provider:

Prise en charge des serveurs Windows et Linux 64 bits

     

Afin d'améliorer encore l'évolutivité, la prise en charge de l'architecture x86_64 a été ajoutée aux serveurs de bases de données Advantage pour Windows et Linux. Sur les ordinateurs équipés d'un processeur x86_64 et d'un système d'exploitation 64 bits, le serveur de base de données Advantage peut maintenant utiliser une mémoire de plus de 4 Go. La mémoire supplémentaire permettra à plus d'utilisateurs d'accéder au serveur simultanément et d'augmenter la quantité d'informations que le serveur peut mettre en cache lors du traitement des requêtes.

Je n'ai pas essayé par moi-même, mais certaines personnes des newsgroups VFP signale que cela fonctionne correctement.

Link to the Advantage Server / VFP Page

0
ajouté