Oracle
 sql >> Base de données >  >> RDS >> Oracle

Base de données Oracle - ORA-01460 - conversion non implémentée ou déraisonnable demandée

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 ?