All Forums Connectivity
etrosce 3 posts Joined 10/15
27 Nov 2015
Teradata ODBC Driver for Linux does not work with Mono

I've been playing with Teradata ODBC Driver for Linux x64 version 15.10. I have installed it and successfully able to connect via tdxodbc64 tool. But unfortunatelly, I wasn't able to connect via a very simple Mono application (Mono runtime 3.12.1).

This is explained here: index.html#page/Connectivity/B035_2509_035K/ 2509ch08.10.39.html


In short, an application must tell the driver it is UTF-16 by setting an ODBC environment attribute right before attempting connection. On mono, this is a problem because such ODBC API calls are handled internally in the OdbcConnection.Open method and there is no way to set that environment attribute externally.


The obvious way to fix that would be to override OdbcConnection.Open method, but it is not possible as the class is sealed. So we are forced to implement some sort of hack in order to be able to connect. Isn't there an alternative way of doing that? Isn't it possible to set the UTF-16 attribute via connection string property or in the odbcinst.ini file? How can I request this change/fix/feature?


PS: we were able to use ODBC drivers for SQL Server, DB2, Sybase without issues in Mono.

You must sign in to leave a comment.