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( - Bhabani has 10 years of experience in Data warehousing and Analytics projects that has span across multiple domains like call centre, banking financial, betting and gaming industries Solution areas he focuses on designing the data warehouse and integrating it with Cloud vendors like AWS or GCP. He has rich expertise on Oracle Data Integrator, Talend Open Studio for Big data, Pervasive Data Integrator and in reporting tool such as Qlikview and OBIEE. He has excellent knowledge of Redshift, Big Query, Python, Apache Airflow, Kafka for ETL pipe lines and Hadoop Ecosystems that includes HDFS, Map Reduce ,HIVE, SQOOP, Drill, Impala in Amazon and Google Cloud.

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? *