Je reçois ce message d'erreur en production.java.sql.SQLException: [BEA] [Pilote Oracle JDBC] [Oracle] ORA-01438: valeur supérieure à la précision spécifiée autorise cette colonne
Malheureusement, cela provient d'une application achetée et le processus de support n'est pas précisément rapide.
Cela se produit lorsque des données sont copiées d'une table à une autre. Les deux tables sont censées avoir les mêmes types et longueurs de colonnes. Jusqu'à présent, je l'ai examiné un certains d'entre eux en procédant comme suit:
select distinct(length(column_name))) from source_table
comparer ensuite la valeur avec la longueur de nom_colonne dans la table cible, mais il me prend beaucoup de temps.
Y a-t-il une meilleure façon d'effectuer cette vérification?
Je veux identifier quelle colonne contient les données dont la longueur dépasse la limite de la source.
Je travaille avec:
Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production
je dois créer une table de C car je ne veux pas la moitié migrate A à B et le laisser dans un état incohérent .... Je me demande mmhhh combien cela prendrait-il? La table A est d'environ 100 colonnes et contient environ 9k enregistrements ... – OscarRyz
Oui, cela semble lourd. Cependant, si vous travaillez sur le tableau A à partir de zéro, vous pouvez le tronquer une fois que vous avez terminé votre recherche. Bonne chance! – akf