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?