on 07-17-2015 2:56 PM
Hi,
Our Powerbuilder application uses the SQL Anywhere database through an 32-bit ODBC setting. In the past we rarely had more than 20-25 users and were happy just to install the SQL Anywhere network client from a SQL Anywhere CD setup, but now we are getting into deploying many more, and this is becoming unfeasible.
I can see on several websites that a group of files we need for a SQL Anywhere 32-bit driver are
dbodbc11.dll
dbcon11.dll
dblgen11.dll
dblib11.dll
rteng11.lic
dbctrs11.dll
or for SQL Anywhere 16 just "16" instead of "11" in those names.
We would like to copy these (and if necessary, any other files) just in a subfolder of our application, say C:\OurSystem\Drivers, as a part of a deployment to the new client, but what other steps do we need to carry out regarding registry (or otherwise) to make sure that we can open ODBC Administrator and create an ODBC Data source?
On one Windows 8 machine we tried regsvr32 dbodbc11.dll but we got a complex looking error message.
Do we need additional registry entries to
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\SQL Anywhere 11
and similar, I keep finding few websites, but not one clear document with full instructions, or is there a utility that will do this that we can download?
Thanks
Hi Vlad,
The 16 version of this list is published in the documentation. Some of the recommended best practices for the driver deployment are documented here as well.
Regarding the data source deployment, you can add that information to the registry as described here.
Are you running a 64-bit version of Windows 8? You may need to run
C:\Windows\SysWOW64\regsvr32 dbodbc16.dll
to register the 32-bit version of the driver. Be sure you use the place the registry entries in the SysWOW6432Node as well.
Thanks,
Mikel
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Mikel, the 64-bit version of regsvr32.exe could well be the answer. I will take a look at it on Monday.
Thank you for your link as well - especially the second one. I have already read through it today, but we kinda got stuck on the regsvr32.exe error.
So just to understand, once we run the regsvr32.exe on those DLL files, that will create the registry key
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\SQL Anywhere 11
or on 64-bit machines
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\SQL Anywhere 11
or do we have to create them manually?
Cheers
regsvr32 should be the only thing you need to do to register the ODBC driver, and it's what I do on my Windows 7 development machine.
It's possible the issue is related to SQL Anywhere 11 and Windows 8, since SQL Anywhere 11 is not supported on this OS. Does the same process work with v16? What's the complex looking error look like?
Reg
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Reg,
Thanks very much for that, so just to break it down in the simplest of terms - lets say we want to do this "manually", I just copy the files to the folder
C:\Oursystem\Drivers\dbodbc11.dll
C:\Oursystem\Drivers\dbcon11.dll
C:\Oursystem\Drivers\dblgen11.dll
C:\Oursystem\Drivers\dblib11.dll
C:\Oursystem\Drivers\rteng11.lic
C:\Oursystem\Drivers\dbctrs11.dll
and then go
C:\Oursystem\Drivers\regsvr32.exe dbodbc11.dll
C:\Oursystem\Drivers\regsvr32.exe dbcon11.dll
C:\Oursystem\Drivers\regsvr32.exe dblgen11.dll
C:\Oursystem\Drivers\regsvr32.exe dblib11.dll
C:\Oursystem\Drivers\regsvr32.exe rteng11.lic
C:\Oursystem\Drivers\regsvr32.exe dbctrs11.dll
Simple as that? Any more files needed, by the way?
I should have made a screenshot of the error message, I have no access to it until Monday, but it actually could be what Mikel said below, that I just ran the 64-bit one, and I should have made sure that I ran regsvr32.exe from C:\Windows\SysWOW64\. I'll check on Monday.
Thanks very much for your help.
Disclaimer : I didn't verify the exact list of files you need for the ODBC driver, but your list looks OK.
You only need to run regsvr32 on dbodbc11.dll, not all the files. The registry entries you mentioned will be created by the regsrv32 process.
I think Mikel's probably right about the complicated error and 32/64 bit stuff, as opposed to my guess about v11 and Windows 8. He's a smart kid.
Reg
Great. Just in case, we'll copy in all the files from the link Mikel provided. You have already answered the main thing - that we need to run regsvr32 on dbodbc11.dll only, and that this will stuff the key values needed into the registry.
Thanks very much guys We'll see on Monday how it goes.
These are the required deployment files for SA11 ODBC driver (replace 11 with 16 for v16 software)
* NOTE: There are several files that you are deploying which are not related to the ODBC driver. For example, rteng11.lic, dblib11.dll, and dbctrs11.dll are engine deployment files which are not needed for a client only install.
I suspect that the complex message is
The module "d:\sa\sa11\bin32\dbodbc11.dll" was loaded but the call to DllRegisterServer failed with error code 0x8000ffff.
For more information about this problem, search online using the error code as a search term.
and is likely the result of running without administrative level authority and dbelevate11.exe not deployed or found by dbodbc11.dll during the registration process. You can either deploy that file (recommended) or ensure that you are running with elevated administrator authority. This is generally done from a shortcut by selecting "Run as Administrator" from the popup menu for the shortcut or checking that option in the Advanced settings for the shortcut (select properties from the shortcut popup menu.
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.