Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Pervasive.PSQL v8.1 ODBC driver for x64-bit W2003 server

Status
Not open for further replies.

rfsalas

Programmer
Jul 25, 2006
3
US
I need to create and ODBC connection in an x64-bit W2003 machine to connect to a Pervasive.PSQL v8.10 engine; but I have not been able to find the proper driver.

I did try installing the Client tools (the one that installs Pervasive.SQL Data Manager v 8.00.114.000); but that did not work; I received an error during installation: "The program or feature "\??\C:\PVSW\BIN\oledbbu16.exe" cannot start or run due to incompatibility with 64-bit version of windows. Please contact..." and at the end the ODBC driver did not get registered.

Is there any driver or special installation procedure that I can use for getting ODBC Properly configured?

BTW, I need this for extracting data from a Pervasive.PSQL V8.1 database using SQL Server 2005 Integration Services, So, any help on how to set up an OLE DB connection would be also helpful
 
OLEDBU16.EXE is not needed by ODBC so it shouldn't afect whether they are installed. Are you sure the drivers aren't installed? I've heard (haven't tried it yet) that there are two ODBC Administrators. One is 64 bit and the other is 32 bit. Check for W3ODBCEI.DLL/W3ODBCCI.DLL. Are they on the system? Also search the registry for entries with those filenames.

Mirtheil
Certified Pervasive Developer
Certified Pervasive Technician
 
Thanks for your reply Mirtheil.

The files are in the server (C:\PVSW\Bin) but I only have W3ODBCCI.DDL and w3odbccs.dll (I do not have the W3ODBCEI.DLL you said in your post).

When checkig the ODBC in the regestry; I do not see any entry for Pervasive; So I try to register using RegSvr32:
RegSvr32 W3ODBCCI.DDL or RegSvr32 w3odbccs.dll
and I received the message:
"Dllname is not an executable file and no registration helper is registered for this file type."

I am not sure if I am missing something.

Thanks

Rafael




 
The ODBC drivers can't be registerd using regsvr32. 8.10 was never tested (or supported on 64 bit windows.
Here's the registry settings that should be created (under 32 bit windows):
Additional Steps for 32-bit ODBC

Create a file called ODBCINST.INI (if it does not already exist). Insert the following:

[Pervasive ODBC Engine Interface (32 bit)]
Driver=<pervasive_path>\Bin\w3odbcei.dll
Setup=<pervasive_path>\Bin\w3odbces.dll
32Bit=1
[Pervasive ODBC Client Interface (32 bit)]
Driver=<pervasive_path>\Bin\w3odbcci.dll
Setup=<pervasive_path>\Bin\w3odbccs.dll
32Bit=1
[ODBC 32 bit Drivers]
Pervasive ODBC Engine Interface (32 bit)=Installed
Pervasive ODBC Client Interface (32 bit)=Installed


Edit the registry:

1. Under HKEY_LOCAL_MACHINE\SOFTWARE create a key called ODBC
2. Under HKEY_LOCAL_MACHINE\SOFTWARE\ODBC create a key called ODBCINST.INI
3. Under HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI create a key called ODBC Core
4. Under this key insert a Dword Value named UsageCount.
5. Under HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Core create a key called FileList

Under this key insert the following strings with their corresponding values
ctl3d32.dll "<winsysdir>\ctl3d32.dll"
DS16GT.dll "<winsysdir>\DS16GT.dll"
DS32GT.dll "<winsysdir>\DS32GT.dll"
MFC30.dll "<winsysdir>\MFC30.dll"
MSVCRT20.dll "<winsysdir>\MSVCRT20.dll"
ODBC16GT.dll "<winsysdir>\ODBC16GT.dll"
ODBC32.dll "<winsysdir>\\ODBC32.dll"
ODBC32GT.dll "<winsysdir>\ODBC32GT.dll"
ODBCCP32.cpl "<winsysdir>\ODBCCP32.cpl"
ODBCCR32.dll "<winsysdir>\ODBCCR32.dll"
ODBCINST.hlp "<winsysdir>\ODBCINST.hlp"
6. Under HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI create a key called ODBC Drivers

Under this new key insert the following string with its value
Pervasive ODBC Engine Interface "Installed"
7. Under HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI create a key called Pervasive ODBC Engine Interface

Under this new key insert the following strings with their corresponding values
APILevel "2"
ConnectFunctions "YYY"
Driver "<pervasive_path>\bin\w3odbcei.dll"
DriverODBCVer "02.50"
FileUsage "0"
Help "<pervasive_path>\bin\w3odbces.hlp"
Setup "<pervasive_path>\bin\w3odbces.dll"
SQLLevel "0"

Under this same key insert a Dword called UsageCount
8. Under HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI create a key called Pervasive ODBC Client Interface

Under this new key insert the following strings with their corresponding values
APILevel "2"
ConnectFunctions "YYY"
Driver "<pervasive_path>\bin\w3odbcci.dll"
DriverODBCVer "02.50"
FileUsage "0"
Help "<pervasive_path>\bin\w3odbccs.hlp"
Setup "<pervasive_path>\bin\w3odbccs.dll"
SQLLevel "0"

Under this same key insert a Dword called UsageCount

This is from the Pervasive Embedding Guide at

Mirtheil
Certified Pervasive Developer
Certified Pervasive Technician
 
Mirtheil

It turned out that your first thought about having 2 different ODBC administrators is true. 64-bit windows has an emulator WOW64 (Windows 32-inWindows64) that actually maintains 2 HKEY_LOCAL_MACHINE\Software trees. One tree is for 32-bit apps and the other for 64-bit apps. The same is for system root directory; you have \\Windows\System32 and \\Windows\SysWOW64; the first one has the ODBC administartor (odbcad32.exe) for 64-bit drivers and the second one the one for 32-bit drivers.

In my case, the problem was that I was looking into the HKEY_LOCAL_MACHINE\Software for 64-bit and calling the ODBC administrator for 64-bit as well.

Thanks so much for your help

Rafael Salas
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top