Http response incomplete when attemting to set up ODBC connection on Ensemble.
We are trying to make an ODBC connection via our intersystems ensemble (2016.2 running on ubuntu). However, when I am testing the connection I receive a pop-up that: "Http object response incomplete or invalid.0,#R". Note that the iodbctrace.log remains empty (and it is working because on the first try it registered a 459 error that I should activate kerberos, which I did). Any advise where I should look?
I have taken the following actions:
1. Expand the cacheodbc.ini in the mgr directory as follows:
[ODBC Data Sources] Samples = Samples Samplesunixodbc = Samplesunixodbc User = User Rsmdb = Rsmdb [Rsmdb] Driver = /home/ubuntu/intersystems/fcoffice/bin/libcacheodbciw35.so Description = Cache ODBC driver to Rsm-db Host = Something.SomethingElse.com Namespace = FCOFFICE UID = SECRET Password = SECRET Port = 1433 Protocol = TCP Query Timeout = 1 Static Cursors = 0 Trace = on TraceFile = iodbctrace.log Authentication Method = 1 Security Level = 2 Service Principal Name = cache/mydomain.com
Then I went to the management portal and set up the SQL Gateway connection:
- Selected odbc
- Connection Name: RsmDatabase
- Select an existing DSN: RsmDb
- Entered username again: SECRET
- Entered password again: SECRET
- Click "Test Connection"
- Received the pop-up with: "Http object response incomplete or invalid.0,#R".
I also tried some options like a different port, different credentials, different security level, different driver (8 bit instead of unicode) etc, but I keep getting the same error. Only thing is if I set Authentication Method = 0 then I recieve the following error:
SQLState: (08S01) NativeError: [459] Message: [Cache ODBC][State : 08S01][Native Code 459]
Comments
Hi Tom,
The HTTP error looks like a red herring. I suspect its just a generic CSP broker issue, probably a secondary side effect to the SQL connection failing.
It's difficult to see anything specific from your post that might be causeing the SQL connection to fail. I normally keep tweaking settings and trying different drivers at this stage until it works (sorry, I know its obvious advice).
I assume from port 1433 that you are trying to connect to SQL Server. The only thing that I am suspicious of is if you really need a kerberos connection to SQL Server. If you have not specifically configured this on SQL Server then I think the 459 error is confusing matters, in which case I would raise a WRC.
As an alternative, you could try using a JDBC driver instead. I've had better luck in the past using JDBC on Linux.
Sean.
I'll contact wrc.
Is this issue resoled? I am trying to connect to Snowflake and seeing the same error like the one you got. Appreciate if you could response on the resolution.
Are you on Linux? Use JDBC. ODBC Snowflake driver is incompatible with IRIS because it uses a backtrace() syscal which causes signal 11 in IRIS process if the process is running in a background.
Snowflake ODBC driver uses backtrace to determine Driver Manager on Linux, so currently it does not work on Linux at all with IRIS.
To avoid getting unrelated http errors on xDBC testing, test in terminal:
set sc = ##class(%SYSTEM.SQLGateway).TestConnection(name, 0, 0, .err)
set sc = ##class(%SQL.Manager.API).TestDecodeDSN(name, usr, password, 0, .err)