Invalid string or buffer length in ODI

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.
Cheers 🙂


About the author

Bhabani( - Currently Bhabani is working as Technical Lead Product Development at Harman International. He has good expertise on Oracle, ODI, Pervasive Data Integrator, MSBI, Talend, Cloud Integration (AWS, GCP, Azure) , Map-R and Apache Airflow. He is also contributing in ODI-OTN forum for last 7 years. He is from India. If you want to reach him then please visit contact us page. If you have any doubts or concerns on the above article, please put your question here. Dw Team will try to respond it as soon as possible. Also dont forget to provide your comments / suggestions / feedback for further improvement. Thanks for your time.

Similar Posts


Hi Bhabani,

I have been facing same issue and we have changed JDK from 64 bit to 32 bit but still problem persists.
Are there any other changes to be applied other than mentioned above?

Our System Configuration and SW Details:-

1. MS Windows 2003 Server
2. ODI_11.
3. We are trying to Import data from MDB files.
4. Microsoft Access Drivers (*.mdb,*.accdb) 14.00.4760.1000

Mahesh , it shouldn’t be an issue if you use 32bit jdk for the agent. Just do one sanity check whether you are executing by using the agent you configured with 32 bit driver or not. If everything is configured properly then you might have to talk with support team.

This seems to be really strange for me. Ping me if you can provide the team viewer to verify this.

Leave a reply


Are you a human? *