Quelques questions, suppositions et suggestions...
Quel est le type SQL DDL exact pour TABLE_PART_NUM.FAMILY
?
Avez-vous essayé d'utiliser OdbcType.VarChar
, OdbcType.NVarChar
ou même OdbcType.NText
au lieu de OdbcType.Text
?
Veuillez également noter que par défaut, la taille de NVARCHAR2 est en caractères mais que VARCHAR2 est en octets - peut-être que "4000" dans votre code est interprété comme 4000 caractères , dépassant la largeur de champ maximale pour les données de caractères de 4 000 octets . Essayez d'utiliser 2000 ou même un nombre inférieur uniquement à des fins de test.
Essayez d'exécuter la requête à partir du développeur SQL. Avez-vous des problèmes là-bas ?
Utilisez-vous un codage de caractères "inhabituel" dans votre base de données ? Vous pouvez exécuter...
SELECT * FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER LIKE '%CHARACTERSET';
...et regardez NLS_CHARACTERSET
pour l'encodage VARCHAR2 et NLS_NCHAR_CHARACTERSET
pour l'encodage NVARCHAR2.
Quelles sont les versions exactes de votre pilote ODBC et de votre serveur Oracle ? Correspondent-ils ?
Rencontrez-vous ce problème si vous essayez d'utiliser le code ODP.NET équivalent ?