Я написал службу Windows, используя VB, которые читают некоторые устаревшие данные из баз данных Visual Foxpro, которые нужно вставить в SQL 2005. Проблема заключается в том, что это хорошо работает в 32-битных версиях Windows Server 2003, но недавно клиент перешел на Windows 2003 64-битов, и теперь служба не будет работать. Я получаю сообщение, что поставщик VFP.NET OLEdb не найден. Я исследовал и все, кажется, указывает, что решения нет. Любая помощь, пожалуйста...
Почему поставщик VFP.NET OLEdb не работает в 64-битной Windows?
Ответ 1
Вы пытались изменить целевой процессор на x86
вместо "Any CPU"
в расширенных параметрах компилятора? Я знаю, что это решает некоторые проблемы с другими поставщиками OLEDB
, заставляя использовать 32-разрядную версию.
Ответ 2
Вам нужно скомпилировать с целевым CPU
значением x86
, чтобы заставить ваш код использовать 32 bit
версию VFP OLE Db provider
.
Microsoft заявила, что нет планов по выпуску версии 64-bit
поставщика OLE Db Visual FoxPro. Для чего стоит Microsoft также заявил, что VFP 9 является окончательной версией Visual FoxPro
, а поддержка закончится на 2015
. Если вам нужен OLE DB
поставщик для VFP 9
, вы можете получить его здесь.
Ответ 3
Sybase Anywhere
имеет таблицы OLEDB provider
для VFP
. На странице указано, что сервер поддерживает 64 bit Windows
, не знаю о OLEDB provider
:
Поддержка 64-разрядных серверов Windows и Linux
Чтобы еще больше повысить масштабируемость, поддержка архитектуры x86_64 была добавлена в Advantage Database Servers для Windows и Linux. На компьютерах с процессором x86_64 и 64-разрядной операционной системой сервер базы данных Advantage теперь сможет использовать память объемом более 4 ГБ. Дополнительная память позволит большему числу пользователей одновременно обращаться к серверу и увеличивать объем информации, которую сервер может кэшировать при обработке запросов.
Я не пробовал это самостоятельно, но некоторые люди из групп новостей VFP сообщают, что он работает нормально.