Ms-access – ORA-01461 in a msaccess linked table

ms accessoracleoracle-11g

In an Oracle 11 database I have a table that all fields are varchar2. This table is linked in an access database, and when I try to do an insert from a data aggregate query, it throws the error ‘can bind a LONG value only for insert into a LONG column’. If I try the same insert in sqlplus it works perfectly. If I try copy the row (Ctrl+C and Ctrl+V) without the field I think is incorrect, it inserts correctly, and then, if I type the same string trying to insert, don’t throw the error. Reading other posts, it seems it’s an encoding error, but I don’t know where can change it.

Best Answer

The problem was that all oracle linked tables in msaccess database, have the link description of an odbc of the previous database version (DBA=W;APA=T;EXC=F;FEN=T;QTO=F;). One of this parameters (Enable LOBs) was diferent and causes the error. To solve the problem have to relink all the tables of de msaccess database. It's important to relink all, because masccess make the connection to oracle for all the linked table in the first access of any table.