Reputation: 160
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
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