0

We're using 64bit SSRS on our reporting server (2008 R2). We have an ODBC connection with the 32bit IBM Informix driver connecting to Cisco UCCX. When I try to add a New Data Source in SSRS to this connection I get the below error.

"ERROR [IM014] [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application"

Any ideas how to get around this? I think the UCCX driver needs to be 32 bit. SSRS needs to stay 64 bit for our other applications.

Jonathan Leffler
  • 730,956
  • 141
  • 904
  • 1,278
esafresa
  • 480
  • 7
  • 19

2 Answers2

1

You need to use a 64-bit ODBC Driver, such as these from my employer, matching the 64-bit consumer (which is really the Microsoft OLE DB Provider for ODBC, as SQL Server isn't really an ODBC client), as these libraries will be loaded into memory together.

It doesn't matter that the target data source (the Cisco UCCX) is 32-bit, because these communications are over TCP/IP, which allows for such differences.

TallTed
  • 9,069
  • 2
  • 22
  • 37
  • Thanks TallTed, that makes perfect sense. So I've installed the 64 bit driver, but now the Configure ODBC window is different and I'm running into same errors. Below is the guide that I used to get the connection working with the 32bit driver. https://amrgaber.wordpress.com/2011/02/24/create-an-odbc-connection-to-connect-to-cisco-uccx-server/ What would be the similar required fields to bring the connection up? The error I currently get is... I'll post it in another comment. It's too long. Also, my background is Cisco and I'm new to stackoverflow, so apologies for anything newbie :) – esafresa Sep 01 '16 at 01:15
  • SQL30081N A communication error has been detected. Communication protocol being used: "TCP/IP". Communication API being used: "SOCKETS". Location where the error was detected: "192.168.1.200". Communication function detecting the error: "recv". Protocol specific error code(s): "*", "*", "0". SQLSTATE=08001 I'm looking at "http://www-01.ibm.com/support/docview.wss?uid=swg21164785" which states the connection was closed by a peer. I assume I'm missing some CLI attributes but not sure which. I'll show you what I have, in yet another comment... – esafresa Sep 01 '16 at 01:15
  • CLI/ODBC Settings - UCCX. DSN=UCCX. In advanced settings, CLI Paramter : Value.... Database : db_cra.... Hostname : x.x.x.x (pingable IP of DB).... ServiceName : 1504.... Protocol : TCPIP4 – esafresa Sep 01 '16 at 01:17
  • If you've shifted to an ODBC Driver from my employer, please open a [free up-and-running Support Case](http://support.openlinksw.com/support/online-support.vsp) for assistance, as SO is not appropriate for such back-and-forth. If you're working with another vendor's driver, they're probably the best source of assistance. – TallTed Sep 01 '16 at 02:44
  • Thanks again TallTed. I'll take a look at what your company offers. In the meantime, I've opened up another post on superuser that clarifies the current issue. http://superuser.com/questions/1119768/odbc-connection-to-cisco-uccx – esafresa Sep 01 '16 at 02:49
  • @esafresa In the screenshot of your configuration, you seem to be using the IBM DB2 ODBC Driver, while the guide you followed is using the IBM INFORMIX ODBC DRIVER. You should try to use the INFORMIX driver. – Luís Marques Sep 01 '16 at 07:49
  • Thanks Luis and Ted. I solved the initial issue with your guys help. One final question - I have a data source configured and it's testing successful. When I go into Report Builder and try to create a dataset using the datasource though, I get the below error: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified I think SSRS is 64bit and Report Builder is 32bit. Could this be the problem? – esafresa Sep 01 '16 at 19:36
  • Possibly, but you would usually get an error about "architecture mismatch" in that case. Please read my company's articles on these subjects... [ODBC on 64-bit Windows](http://wikis.openlinksw.com/UdaWikiWeb/Win32vs64OdbcAdmin), [SQL Server as ODBC client on 64-bit Windows](http://wikis.openlinksw.com/UdaWikiWeb/MsSqlOn64bitWin). – TallTed Sep 01 '16 at 20:00
  • Comments are now echoing [SuperUser](http://superuser.com/questions/1119768/odbc-connection-to-cisco-uccx/1119941?noredirect=1#comment1599758_1119941) – TallTed Sep 01 '16 at 20:03
  • Good articles. They help my understanding, but I'm still at a loss on what to do. I think the 32bit Report Builder can't find the 64bit DSN, but I think I need to use the 64bit DSN due to the error that I initially posted (architecture mismatch error). Ultimately my goal is a workable data source in Report Builder. – esafresa Sep 01 '16 at 20:15
  • I think you're on a new and different question now. :-) – TallTed Sep 01 '16 at 20:28
  • I agree. http://stackoverflow.com/questions/39280939/ssrs-issues-with-both-32bit-and-64bit-odbc-drivers – esafresa Sep 01 '16 at 21:13
1

In order to use a 32 bit ODBC driver on a 64 bit Windows machine, it has to be configured using a 32 bit ODBC Administrator which is not visible through normal Windows menu options. Utilities for 32 bit operations are found in the C:\Windows\SysWOW64 directory. As a prerequisite for a 32 bit IBM Informix CSDK installation to proceed correctly, add the SysWOW64 directory to the system path, as follows:

Run 'C:\Windows\System32\control.exe system' Select Advanced system settings from Control Panel Home On the System Properties Panel that appears, Select: Advanced tab->Environment Variables In the System Variables window under Environment Variables, Select and edit the PATH variable. Prefix the PATH list with 'C:\Windows\SysWOW64;' Proceed with the IBM Informix CSDK product installation. The suggested install directory for 32 bit CSDK is 'C:\Program Files (x86)\IBM Informix Client SDK'. Once the CSDK installation is completed, access the ODBC administrator utility located at 'C:\Windows\SysWOW64\odbcad32.exe'.

Now, when you access the Drivers Tab of the ODBC Administrator, the IBM Informix Driver is visible. This is the one you want to use.