Kilka pytań, domysłów i sugestii...
Jaki jest dokładny typ DDL SQL dla TABLE_PART_NUM.FAMILY
?
Czy próbowałeś użyć OdbcType.VarChar
? , OdbcType.NVarChar
lub nawet OdbcType.NText
zamiast OdbcType.Text
?
Należy również pamiętać, że domyślnie rozmiar NVARCHAR2 jest w znakach, ale VARCHAR2 jest w bajtach - być może "4000" w twoim kodzie jest interpretowane jako 4000 znaków , przekraczając maksymalną szerokość pola dla danych znakowych 4000 bajtów . Spróbuj użyć 2000 lub nawet niższej liczby tylko do celów testowych.
Spróbuj wykonać zapytanie z SQL Developer. Czy masz tam jakieś problemy?
Czy używasz w swojej bazie danych "nietypowego" kodowania znaków? Możesz wykonać...
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER LIKE '%CHARACTERSET';
...i spójrz na NLS_CHARACTERSET
do kodowania VARCHAR2 i NLS_NCHAR_CHARACTERSET
do kodowania NVARCHAR2.
Jakie są dokładne wersje sterownika ODBC i serwera Oracle? Czy pasują?
Czy napotkasz ten problem, jeśli spróbujesz użyć równoważnego kodu ODP.NET?