Invalid string or buffer length in ODI:
Are you using JDK 64 bit on 64 bit operating system ? Are you processing excel files or mdb files etc using 64 bit odbc driver ? Then you are in right place to resolve this issue. This is a common and known issue. I dont want to blame ODI for this issue. It is the problem with JDK 64bit.
Problem: The same interface may work in second run and sometimes it wont run atall. It will through the above error ( Invalid string or buffer length in ODI ).
1) Switch ODI 64bit JVM to 32bit by modify the following files :
– %ORACLE_HOME%\oracledi\agent\bin\odiparams.bat and set ODI_JAVA_HOME=
2) Start ODI standalone agent, this agent will now be using 32bit JVM
3) Switch ODBC to 32bit Driver and create a DSN from C:\Windows\SysWOW64\odbcad32.exe instead of c:\windows\system32 and use this new 32bit DSN instead of the 64bit one in Topology.
Thats All. Now it should work for you. Let me know if you face any issues.