Một số câu hỏi, phỏng đoán và gợi ý ...
Loại SQL DDL chính xác cho TABLE_PART_NUM.FAMILY là gì ?
Bạn đã thử sử dụng OdbcType.VarChar chưa , OdbcType.NVarChar hoặc thậm chí OdbcType.NText thay vì OdbcType.Text ?
Ngoài ra, xin lưu ý rằng theo mặc định, kích thước NVARCHAR2 tính bằng ký tự nhưng VARCHAR2 tính bằng byte - có thể "4000" trong mã của bạn được hiểu là 4000 ký tự , vượt quá chiều rộng trường tối đa cho dữ liệu ký tự là 4000 byte . Hãy thử sử dụng 2000 hoặc số thấp hơn chỉ cho mục đích thử nghiệm.
Cố gắng thực thi truy vấn từ SQL Developer. Bạn có vấn đề gì ở đó không?
Bạn có sử dụng bất kỳ mã hóa ký tự "bất thường" nào trong cơ sở dữ liệu của mình không? Bạn có thể thực thi ...
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER LIKE '%CHARACTERSET';
... và xem NLS_CHARACTERSET cho mã hóa VARCHAR2 và NLS_NCHAR_CHARACTERSET để mã hóa NVARCHAR2.
Phiên bản chính xác của trình điều khiển ODBC và máy chủ Oracle của bạn là gì? Họ có khớp nhau không?
Bạn có gặp sự cố này nếu thử sử dụng mã ODP.NET tương đương không?