cancel
Showing results for 
Search instead for 
Did you mean: 

Different versions of SDK ODBC Driver in one system

0 Kudos

Hi,

Is there an official documentation on how to install different versions of ODBC Driver in one system (example SAP 16 and Sybase 15.5 SDKs)?
Currently any new SDK Installation overwrites the previous ASE ODBC Source in windows registry, meaning that there is only last installed version to select when creating the new data source.
Our goal is to use Sybase 15.5 Client to connect to SAP ASE 16 database.

Many thanks.

Accepted Solutions (0)

Answers (2)

Answers (2)

ryan_hansen
Employee
Employee

Hi,

There isn't a way to do this on windows.
Windows has many hooks and when you install a newer version of SDK the environment variables and registry entries will be updated.

You can add an ODBC driver to the registry manually.

  1. Open regedit
  2. Go to HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.ini (64 bit, if 32bit go to HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ODBC\ODBCINST.ini)
  3. You should see Adaptive Server Enterprise if the SDK was installed. This is the location of your current version.
  4. Add a new name Adaptive Server Enterprise 1x.x
  5. Add attributes. right click > new > string value
    Name: Type: Data
    (Default) REG_SZ null
    APILevel REG_SZ 1
    ConnectionFunctions REG_SZ YYY
    CPTimeout REG_SZ 60
    driver REG_SZ <location to your sybdrvodb.dll + filename>
    DriverODBCVer REG_SZ 03.51
    FileUsage REG_SZ 0
    Setup REG_SZ <location to your sybdrvodb.dll + filename>
    SQLLevel REG_SZ 0
  6. Select ODBC Drivers
    Add attribute. right click > new > string value
    Name Type Data
    Adaptive Server Enterprise 1x.x REG_SZ Installed
  7. You should now be able to open ODBC Data Source Administrator and see the new driver in the drivers tab.
  8. Create a DSN to use in a connection and test connect

Also, SDK 15.5 client isn't supported by ASE 16.0.
ASE 16.0 supports 15.7 and 16.0 clients.

Regards,
Ryan

former_member89972
Active Contributor
0 Kudos

Cool.

Thanks Ryan, you made it easy for every one !! Appreciate that

Will give it a try.

Avinash

0 Kudos

Release Bulletin for Windows says that SAP ASE 16 supports SAP ASE ODBC Driver 15.5.

https://help.sap.com/viewer/51146c356c47456a918f29501a4e1ac2/16.0.2.0/en-US/a6667123bc2b101481f89551...

ryan_hansen
Employee
Employee
0 Kudos

Please don't use SDK 15.5. You will run into issues and have to upgrade anyways.

former_member89972
Active Contributor
0 Kudos

You kind of hinted at the problem and a possible solution.

No there is no easy way offcial way to do it because there is only one regsitry.

Normally single ODBC driver is sufficient for end users. And later the better. So not sure why you would need both 15 and 16.

Registry Editing is really an adventure you want go on with lots of caution. Following link may prepare you for that

https://docs.microsoft.com/en-us/sql/odbc/reference/install/registry-entries-for-odbc-components?vie...

I have Not tried this myself but my approach would be

- install the 15 and 16 SDKs on two test machines and copy folders needed to target host into two separate areas.

- edit registry entries with two separate named identities (e.g. ASE ODBC 15 and ASE ODBC 16)

underlying subkeys should point to SDK ASE 15 and SDK ASE 16 respectively

Good luck and use with lots of caution/precaution

HTH

Avinash

0 Kudos

Hi Avinash,

many thanks for the answer.

This approach is currently only left to try since our application doesn't work properly with SAP 16 ODBC driver.

Background:
Our application is PHP-based (version 7.2). Unfortunately, since version 7, the PHP have dropped the native Sybase database driver, so our App uses now the ODBC extension. That's why I have also asked this question: https://answers.sap.com/questions/558574/support-for-sap-ase-extenion-module-for-php.html

While the ODBC driver of Sybase version 15.5 seems to work reasonably well, the ODBC driver delivered with SAP version 16 makes troubles. We cannot retrieve any database field of type: datetime, big- and smalldatetime. What we are receiving is an empty string.

Best regards,
Marko