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 Bhabani 86 Articles
Bhabani has 12 plus years of experience in Data warehousing and Analytics projects that has span across multiple domains like Travel, Banking and Financial, Betting and Gaming Industries. Solution areas he focuses on designing the data warehouse and integrating it with cloud platforms like AWS or GCP. He is also a Elite level contributor at OTN forum more than 9 years. He loves to do experiment and POC on different integration tools and services. Some of his favorite skills are Redshift, Big Query, Python, Apache Airflow, Kafka, HDFS, Map Reduce ,HIVE, Habse, Sqoop, Drill, Impala.


  1. 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.

Comments are closed.