views:

67

answers:

1

trying to get a local server version of Advantage OLE DB Provider to work on a 64 bit Windows 7 machine. installed the 64 bit version 10.00.0.3 release and copied my application. registered the adsoledb64.dll from the app directory. I get nothing. Doesn't write a log either. Am I going to have to compile the app on the 64 bit machine? very confused and frustrated.

+1  A: 

Based on the information I have gleaned from the comments, it sounds as if your application is running as a 32-bit application. If so, it will not be able to load 64-bit version of the OLE DB provider. The conn.Open(); call would likely result in an error such as this:

The 'Advantage.OLEDB.1' provider is not registered on the local machine.

One way to test this would be to install the 32-bit version of the provider to see if it works.

Alternatively, you might consider using the Advantage .NET Data Provider rather than the OLE DB provider. Using a native data provider instead of going through OLE DB might prove simpler in the long run.

Mark Wilkins
Indeed ended up with the app and lib with adv running as x86 and it worked. It did think that because I was on a virtual machine I was doing server so it threw an error for that (5185). You can put setting in ads.ini to get around that. Yes I think pure 64 apps are still rare...so runs as 32 on 64 machine is ok for me for now. I did switch to the .net provider as well. Thanks for your help!
thomcat
@thomcat: I'm glad you got it working. Thanks for reporting back with your findings.
Mark Wilkins