问题
I wrote a windows service using VB that read some legacy data from Visual Foxpro Databases to be inserted in SQL 2005. The problem is this use to run fine in Windows server 2003 32-Bits, but the client recently moved to Windows 2003 64-Bits and now the service won't work. I'm getting a message the the VFP .NET OLEdb provider is not found. I researched and everything seems to point out that there is no solution. Any Help, please...
回答1:
Have you tried changing the target CPU to x86
instead of "Any CPU"
in the advanced compiler options? I know that this solves some problems with other OLEDB
providers by forcing the use of the 32-bit version.
回答2:
You'll need to compile with the target CPU
set to x86
to force your code to use the 32 bit
version of the VFP OLE Db provider
.
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.
回答3:
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
:
Support 64-bit Windows and Linux Servers
In order to further enhance scalability, support for the x86_64 architecture was added to the Advantage Database Servers for Windows and Linux. On computers with an x86_64 processor and a 64 bit Operating System the Advantage Database Server will now be able to use memory in excess of 4GB. The extra memory will allow more users to access the server concurrently and increase the amount of information the server can cache when processing queries.
I didn't try it by myself, but some people of the VFP newsgroups reports that it works OK.
Link to the Advantage Server / VFP Page
来源:https://stackoverflow.com/questions/717/why-doesnt-vfp-net-oledb-provider-work-in-64-bit-windows