db2 - utf16 - unixodbc mac
conectando a la base de datos DB2:[unixODBC][Driver Manager] Error en SQLAllocHandle del controlador en SQL_HANDLE_HENV (1)
De acuerdo con esta página de Soporte de IBM , un SQLState IM004 en SQLAllocHandle se relaciona con la nueva característica de seguridad.
Porque
Las nuevas características de seguridad introducidas en DB2® Universal Database ™ (DB2 UDB) Versión 8.2 impiden que los usuarios utilicen la base de datos a menos que pertenezcan a los grupos de Windows® DB2ADMNS o DB2USERS.
Responder
Agregue el ID de usuario (el utilizado para ejecutar la aplicación) al grupo DB2ADMNS o DB2USERS. Consulte el enlace debajo de "Información relacionada" (a continuación) para obtener instrucciones sobre cómo lograr esto.
Alternativamente, hay una serie de subprocesos (por ejemplo, enormes problemas para conectarse a una base de datos DB2 ) que sugieren establecer la DB2INSTANCE
entorno DB2INSTANCE
para que coincida con la configuración de instancia en su archivo odbc.ini
para el DSN en cuestión, por ejemplo
export DB2INSTANCE=db2inst1
isql -v FS01DB2
odbc.ini:
[DEFAULT]
Driver = DB2
[abc]
Driver = DB2
[dsn_test1]
DESCRIPTION = Connection to DB2
Driver = db2
odbcinst.ini:
[DB2]
Description = DB2 Driver
Driver = /home/user/sqllib/lib/libdb2.so
fileusage=1
dontdlclose=1
[ODBC]
Trace=1
TraceFile=/home/user/sqllib/trace.out
db2cli.ini
[abc]
hostname="hostname"
pwd="passwd"
port="port"
PROTOCOL=TCPIP
database="dbname"
uid="uid"
$ ./isql abc
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
mientras se conecta desde el controlador db2, a continuación viene el error:
Connection attempt for data source name "abc":
===============================================================================
ODBC Driver Manager Path: /home/user/sqllib/odbclib/lib/libodbc.so
[FAILED]: [unixODBC][Driver Manager]Driver''s SQLAllocHandle on SQL_HANDLE_HENV
failed
A continuación se muestra el fragmento de rastro odbc:
[ODBC][23419][1403783774.660159][SQLConnect.c][1380]Error: IM004
[ODBC][23419][1403783774.660223][SQLError.c][434]
Entry:
Connection = 0x81aaac8
SQLState = 0xffff9593
Native = 0xffff9684
Message Text = 0xffff8d93
Buffer Length = 1024
Text Len Ptr = 0xffff95bc
[ODBC][23419][1403783774.660260][SQLError.c][471]
Exit:[SQL_SUCCESS]
SQLState = IM004
Native = 0xffff9684 -> 0
Message Text = [[unixODBC][Driver Manager]Driver''s SQLAllocHandle on SQL_HANDLE_HENV failed]
Google buscó mucho para la causa raíz, dint ayudó mucho, por favor proporcione algún puntero para resolver esto. es una máquina de Linux de 32 bits con un controlador db de 32 bits también.