Print server ODBC driver for Oracle
The CR Oracle Wire Protocol ODBC Driver 7.0.1 works with Oracle up to version 12.1. For further information, see adxeditionserversolutions.xml below.
The CR Oracle Wire Protocol ODBC Driver 7.0.1 (Data Direct ODBC Drivers) doesn’t work with Oracle 12.2.
SAP Crystal Report doesn't provide any new ODBC driver compliant with Oracle 12.2 and new security levels.
If you're using the last driver provided with Crystal Report, you'll encounter the following ORA-28040 error.
Error message
[ODBC Oracle Wire Protocol driver][Oracle]ORA-28040: No matching authentication protocol
Two options can be used to configure the Print Server with Oracle 12.2:
- use the native Oracle ODBC driver with Oracle Instant Client
- use another ODBC driver from the market, like Progress ODBC for Oracle
Use the native Oracle ODBC with Oracle 12.2 or 19c with SAGE PrintServer <=2.19
NOTE: No more manual process are required to manage Oracle Datasource with InstantClient since PrintServer 2.20 (07.2020) AND Sage X3 Console 2.47.
1. Install ODBC drivers available from Oracle Instant Client
Go to the Oracle website to download and install the latest Oracle Instant Client for Microsoft Windows (32-bit). For further information, consult Oracle's documentation.
Install the setup with Client components and ODBC drivers:
- Basic Package is mandatory
- SQL*Plus Package is optional but can be useful to test connectivity
- ODBC Package is mandatory
Then perform the following steps:
- Install the latest version of Microsoft Visual C++ Redistributable Package (x86)
. Note: For version 12.2, install the Microsoft Visual C++ 2013 Redistributable Package (x86). - Unzip all zip files into the same directory, for example C:\oracle
- Make sure that the emadmin and emrun users have got file permissions on C:\oracle and all subdirectories
- Execute C:\oracle\instantclient_19_3\odbc_install.exe
- Create tnsnames.ora and sqlnet.ora files in C:\oracle
2. Create the ODBC datasource
Launch ODBC data Source Administrator 32bit (windows\sysWOW64\odbcad32.exe). Then create a new system datasource with the Oracle in Oraclient12Home_32bit driver.
Name your solution ADX_[Your solution name] and define your TNS Service Name as hostname:port/service name.
Note
You can't use a name of your choice. You need to use the default name built by the Console. This default name is a concatenation of the ADX_ prefix and your X3 solution name.
Example
If your Sage X3 solution is named ORA122, you need to name your datasource ADX_ORA122.
To avoid creating a TnsName.ora file on your host, it is more convenient to enter in the TNS ServerName entry the hostname and the service name the following way:
OracleHostname:[Oracle port]/ServiceName
The Oracle database is running on the awsx3Solution host, port 1521 and your service name is ORA122.
Then the TNS Service name will be: awsx3Solution:1521/ORA122
Connect to the target on Linux Oracle 12.2 server and test the datasource.
3. Configure your Print Server with the Console
Activate and publish your folders in the Console. Then check in the Console that the datasource has the same name as yours. If not, please rename your datasource the same way than in the Console.
In the example below, we can see the entry Name of the ODBC source: ADX_ORA122.
The datasource we've just created has the same name. It's OK. If not, please, rename your datasource because this entry can't be edited in the Console.
4. Modify the Print Server service
Every time it start, the Print Server program checks all its datasources to verify the consistency with its rules and modify them if not.
To avoid datasource modifications, add the /noodbc
argument to AdxSrvImp.exe.
Service modification example
sc config "Safe_X3_SE_V2DEFAULT" binPath= "\"c:\Sage\SafeX3\EDTV2\EDTSRV\srvedit\AdxSrvImp.exe\" /noodbc"
[SC] ChangeServiceConfig réussite(s)
Use Progress DataDirect ODBC driver
Progress DataDirect's ODBC Driver for Oracle 8.0 is compliant with new security features present in Oracle 12.2.
You don't need to install Oracle Instant Client when you use this driver.
You just need to install the 32-bit version before installing Sage X3 Print Server.
This driver is fully supported by Sage Print Server, it will be detected automatically by the Print Server.
This is a commercial product. You can test the trial version and test it before buying the license:
https://www.progress.com/odbc/oracle-database