Några frågor, gissningar och förslag...
Vad är den exakta DDL SQL-typen för TABLE_PART_NUM.FAMILY ?
Försökte du använda OdbcType.VarChar , OdbcType.NVarChar eller till och med OdbcType.NText istället för OdbcType.Text ?
Observera också att NVARCHAR2-storleken som standard är i tecken men VARCHAR2 är i byte - kanske "4000" i din kod tolkas som 4000 tecken , överskrider den maximala fältbredden för teckendata på 4000 byte . Försök att använda 2000 eller ännu lägre siffra bara för teständamål.
Försök att köra frågan från SQL-utvecklaren. Har du några problem där?
Använder du någon "ovanlig" teckenkodning i din databas? Du kan köra...
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER LIKE '%CHARACTERSET';
...och titta på NLS_CHARACTERSET för VARCHAR2-kodning och NLS_NCHAR_CHARACTERSET för NVARCHAR2-kodning.
Vilka är de exakta versionerna av din ODBC-drivrutin och Oracle-server? Matchar de?
Får du det här problemet om du försöker använda motsvarande ODP.NET-kod?