Does Teradata ODBC client work with UnixODBC and Unicode on Linux?

Database
Fan

Does Teradata ODBC client work with UnixODBC and Unicode on Linux?

Hi, I'm brand new to Teradata.

I wrote a sample program on RedHat Linux 64-bit, using Teradata ODBC-64 client version 14.10.

It calls SQLDriverConnect(), using a Unicode (UTF16) connection string.

As long as the program uses DataDirect driver manager, it works fine.

Unfortunately, when it uses UnixODBC manager, SQLDriverConnect() fails but the error message is an unreadable text.

(Note: if the program is built using UTF8 charset, it works fine with both DataDirect and UnixODBC).

What is the problem, and what should I do to make the client work with UnixODBC using Unicode?

(It's mandatory that I use UnixODBC in this application).

Thanks

1 REPLY

Re: Does Teradata ODBC client work with UnixODBC and Unicode on Linux?

See http://www.info.teradata.com/htmlpubs/DB_TTU_15_10/index.html#page/Connectivity/B035_2509_035K/2509c...

Basically you need to do this before attempting to connect: SQLSetEnvAttr(m_henv, SQL_ATTR_APP_UNICODE_TYPE, (void *) SQL_DD_CP_UTF16, SQL_IS_INTEGER);

But you need to use the provided Driver Manager as unixODBC does not understand the env attribute required.

I think this is a very inconvenient limitation.