utf16 mac db2 odbc unixodbc

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.