Troubleshooting
Problem
When trying to install DataStage, the installer does not find the SQL Server 2008 XA configuration though it has been completed prior to starting the installer. The error message seen in the install log shows: Mar 12, 2013 2:36:52 PM, SEVERE: com.ibm.is.install.check.SQLServerXASupportChecker java.sql.SQLException: [IBM][SQLServer JDBC Driver][SQLServer]Could not load the DLL sqljdbc.dll, or one of the DLLs it references. Reason:193(%1 is not a valid Win32 application.). at com.ibm.isf.jdbc.sqlserverbase.dda4.b(Unknown Source) at com.ibm.isf.jdbc.sqlserverbase.dda4.a(Unknown Source) at com.ibm.isf.jdbc.sqlserverbase.dda3.b(Unknown Source) at com.ibm.isf.jdbc.sqlserverbase.dda3.a(Unknown Source) at com.ibm.isf.jdbc.sqlserver.tds.ddr.v(Unknown Source) at com.ibm.isf.jdbc.sqlserver.tds.ddr.a(Unknown Source) at com.ibm.isf.jdbc.sqlserver.tds.ddq.a(Unknown Source) at com.ibm.isf.jdbc.sqlserver.tds.ddr.a(Unknown Source) at com.ibm.isf.jdbc.sqlserver.ddj.l(Unknown Source) at com.ibm.isf.jdbc.sqlserverbase.ddde.e(Unknown Source) at com.ibm.isf.jdbc.sqlserverbase.ddde.a(Unknown Source) at com.ibm.isf.jdbc.sqlserverbase.ddb9.a(Unknown Source) at com.ibm.isf.jdbc.sqlserverbase.ddde.v(Unknown Source) at com.ibm.isf.jdbc.sqlserverbase.ddde.x(Unknown Source) at com.ibm.isf.jdbc.sqlserverbase.ddb9.executeUpdate(Unknown Source) at com.ibm.isf.jdbcx.sqlserver.SQLServerImplXAResource.executeXaRpc(Unknown Source) at com.ibm.isf.jdbcx.sqlserver.SQLServerImplXAResource.executeXaRpc(Unknown Source) at com.ibm.isf.jdbcx.sqlserver.SQLServerImplXAResource.open(Unknown Source) at com.ibm.isf.jdbcx.sqlserverbase.ddt.a(Unknown Source) at com.ibm.isf.jdbcx.sqlserverbase.ddu.a(Unknown Source) at com.ibm.isf.jdbc.sqlserverbase.ddt.a(Unknown Source) at com.ibm.isf.jdbcx.sqlserverbase.ddv.getXAConnection(Unknown Source) at com.ibm.is.install.check.SQLServerXASupportChecker.checkXASupportForIMAM (SQLServerXASupportChecker.java:242) at com.ibm.is.install.check.SQLServerXASupportChecker.check(SQLServerXASupportChecker.java:141) etc....
Symptom
Cause
The issue could be due to:
- the incorrect DLLs being copied into the Binn directory
- the DLLs being copied to an incorrect directory
The install log showed that the attempt to create a JDBC connection to SQL Server failed when sqljdbc.dll could not be loaded. After running Dependency walker on sqljdbc.dll, within the dependency file, it showed that all of the dependent DLLs except sqljdbc.dll had a CPU type of "x64", but sqljdbc.dll had a CPU type of "IA64". Reviewing documentation for pre-installing and configuring SQL Server at
http://publib.boulder.ibm.com/infocenter/iisinfsv/v8r7/index.jsp?topic=%2Fcom.ibm.swg.im.iis.productization.iisinfsv.install.doc%2Ftopics%2Fwsisinst_pre_install_sql_server_db_win.html
states to download the Microsoft SQL Server JDBC Driver 2.0 from
http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=99b21b65-e98f-4a61-b811-19912601fdc9&displaylang=en
and then to copy sqljdbc.dll and sqljdbc_xa.dll from the JDBC driver package to the SQL Server's "binn" directory.
It turns out that there are three versions of the driver:
- 32-bit x32
- 64-bit x64
- 64-bit Itanium
The correct DLLs (eg. 64-bit x64) need to be copied into place for SQL Server XA support in order for the DataStage installer to work.
Diagnosing The Problem
Run Dependency Walker (depends.exe) on the file called SQLJDBC.DLL on the Windows machine to find out what DLLs SQLJDBC.DLL depends on, where it is finding them, and which if any, cannot be found.
This tool can be found at http://www.dependencywalker.com
Resolving The Problem
To resolve the issue:
There are three versions of sqljdbc.dll available:
- 32-bit
- 64-bit X64
- 64-bit Itanium
Ensure the correct version of sqljdbc.dll (and any other required DLL) is copied from the JDBC driver package to the SQL Server's "binn" directory.
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21628284