Tomasz
Tomasz

Reputation: 160

Oracle and SQL Server (long text)

I'm trying to read from a view from a SQL Server database a column that has text values that are over 1000 characters long. I get a long data processing error ([unixODBC][Driver Manager]Invalid application buffer type {HY003}).

Let me remind you that I can do it in Oracle 11xe, with the same configuration.

I now work on Oracle 19.3 and SQL Server 2012 (SP4)

/etc/odbcinst.ini:

[ODBC Driver 17 for SQL Server]
Description=Microsoft ODBC Driver 17 for SQL Server
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.5.so.2.1
UsageCount=1
Threading = 1

/etc/odbc.ini:

[mag]
Description = SQL Server
Driver = ODBC Driver 17 for SQL Server
Trace = ON
Server = XXX.XXX.XXX.XXX
Database = dbname
Port = 1433

./hs/admin/initmag4odbc.ora

HS_FDS_CONNECT_INFO = mag
HS_FDS_TRACE_LEVEL = 4
HS_FDS_TRACE_FILENAME = /tmp/hsodbc.trc
HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.so
HS_NLS_NCHAR=UCS2
HS_KEEP_REMOTE_COLUNN_SIZE=ALL
HS_TRANSACTION_MODEL=COMMIT_CONFIRM

#
# ODBC specific environment variables
#
set ODBCINI=/etc/odbc.ini
set ODBCINST=/etc/odbcinst.ini

Maybe I need to set a parameter? Or maybe some other suggestion?

Upvotes: 0

Views: 849

Answers (1)

Tomasz
Tomasz

Reputation: 160

The problem was in unsettled encoding to MSSQL database, I changed to WE8MSWIN1252 and everything started to work, the entry in init*.ora files:

HS_FDS_REMOTE_DB_CHARSET = WE8MSWIN1252

Upvotes: 1

Related Questions