views:

1795

answers:

3

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...

+5  A: 

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.

Paul G
@Paul: I'm running into this problem, also. However, my sln has about 10 projects. Do I need to change this setting for ALL the projects or just the "startup" project? Thanks!
Ken
@Ken: Sorry. I don't know for sure and I can't easily get a test set up. My guess would be that the startup project + any projects that use the OLEDB provider that is causing the issue.
Paul G
@Paul: Thanks, no worries, I got it to work. But for anyone else reading this, I changed the setting only in the startup project and it did the trick. Seems like this should be a solution setting instead of a project setting. Oh well.
Ken
+4  A: 

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.

Chris Miller
A: 

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

PabloG