ΟΜΠ-00016 απαίτησε το χαρακτήρα - καθορισμένο μην υποστηριγμένο λάθος μετατροπής όταν εισαγωγή στη βάση δεδομένων της Oracle
Κατά προσπάθεια να εισαχθεί μια εξαγωγή, ένα στήριγμα ή μια απόρριψη βάσεων δεδομένων της Oracle, την μπορείτε να αντιμετωπίσετε το λάθος ΟΜΠ-00016 όπου η εισαγωγή ολοκληρώνει πρόωρα και να μην επιτρέψει σε σας για να συνεχίσει την εισαγωγή στη βάση δεδομένων της Oracle προορισμού. Το λάθος έχει το ακόλουθο μήνυμα:
ΟΜΠ-00016: απαραίτητος χαρακτήρας - καθορισμένη μετατροπή (τύπος - 1 έως 871) που δεν υποστηρίζεται
ΟΜΠ-00000: Εισαγωγή που ολοκληρώνεται ανεπιτυχώς
Σημειώστε ότι ανάλογα με το χαρακτήρα σας αρχείων και βάσεων δεδομένων εξαγωγής - θέστε, ο «τύπος 178 έως 871 ″ μπορεί να αλλάξει από κάθε περιβάλλον. Άλλος χαρακτηριστικός χαρακτήρας - το καθορισμένο μην υποστηριγμένο λάθος μετατροπής περιλαμβάνει από τον τύπο 178 έως 871 ή από τον τύπο 31 έως 871.
Η αιτία για το λάθος της Oracle είναι επειδή η χρησιμότητα εισαγωγών δεν μπόρεσε να μετατρέψει το σχήμα χαρακτήρα του αρχείου εξαγωγής στο εγγενές σχήμα χαρακτήρα που είναι η ρύθμιση του πελάτη λειτουργικών συστημάτων. Σε άλλο κόσμο, το ζήτημα οφείλεται στο γεγονός ότι υπάρχει πρόβλημα μετατροπής μεταξύ του αρχείου απορρίψεων εξαγωγής και των βάσεων δεδομένων προορισμού που έχει το διαφορετικό χαρακτήρα - καθορισμένη αξία όταν προσπαθεί η χρησιμότητα εισαγωγών της Oracle να εισαγάγει την εξαγόμενη βάση δεδομένων με τη χρησιμοποίηση της της Unix μεταβλητής αξίας περιβάλλοντος NLS_LANG τοπικής. Εάν το περιβάλλον λειτουργικών συστημάτων δεν παρουσιάζει την αξία NLS_LANG, η εισαγωγή (και επίσης εξαγωγή) θα γίνουν σε US7ASCII δεδομένου ότι η προκαθορισμένη αξία για NLS_LANG στις πλατφόρμες της UNIX είναι AMERICAN_AMERICA.US7ASCII, ανεξάρτητα από characterset βάσεων δεδομένων.
Το ψήφισμα για να επιλύσει τα ΟΜΠ-00016 είναι να τεθεί η παράμετρος NLS_LANG στην τοπική μεταβλητή αξία OS env για να ταιριάξει με το χαρακτήρα - σύνολο της βάσης δεδομένων προορισμού και να εισαγάγει το αρχείο απορρίψεων. NLS_LANG μπορεί να είναι αλλαγή με τη χρησιμοποίηση της εντολής συνόλου ή εξαγωγής. Παραδείγματος χάριν:
εξαγωγή NLS_LANG=.WE8ISO8859P1 $
NLS_LANG τίθεται στο ληξιαρχείο στις πλατφόρμες παραθύρων. Παραδείγματος χάριν, σε έναν αγγλικό πελάτη παραθύρων, η σελίδα κώδικα είναι WE8MSWIN1252. Μια κατάλληλη ρύθμιση για NLS_LANG είναι AMERICAN_AMERICA.WE8MSWIN1252.
Μπορείτε να ελέγξετε το χαρακτήρα - σύνολα της βάσης δεδομένων της Oracle σε SQL*Plus με τη χρησιμοποίηση μετά από τις εντολές για να απαριθμήσετε όλες τις πληροφορίες NLS:
SQL> ο συνταγματάρχης value format a25
SQL> ο συνταγματάρχης parameter format a25
SQL> επίλεκτο * από v$nls_parameters
Στις σειρές επιστρεφόμενες, NLS_CHARACTERSET θα απαριθμήσει το χαρακτήρα - σύνολο της βάσης δεδομένων. Στην ιδανική κατάσταση για να αποφύγει και να ελαχιστοποιήσει τα πιθανά λάθη, η συνιστώμενη πρακτική θα είναι όπως τα εξής:
Στο σύστημα όπου η εξαγωγή βάσεων δεδομένων λαμβάνεται: Καθορισμένο NLS_LANG=. Θέστε την αξία λειτουργικών συστημάτων NLS_LANG για να ταιριάξετε με την πηγή ή ο χαρακτήρας βάσεων δεδομένων προορισμού - το σύνολο θα αφήσει τη Oracle υποθέτει ότι το στοιχείο που στέλνεται ή λαμβανόμενο κωδικοποιείται στον ίδιο χαρακτήρα - έθεσε καθώς ο χαρακτήρας βάσεων δεδομένων - θέστε, έτσι καμία επικύρωση ή μετατροπή δεν εκτελείται. Αυτό μπορεί να οδηγήσει στα αλλοιωμένα στοιχεία εάν η σελίδα κώδικα πελατών και ο χαρακτήρας βάσεων δεδομένων - το σύνολο είναι διαφορετικό και οι μετατροπές είναι απαραίτητες. Είναι περισσότερος ενός ζητήματος εάν οι βάσεις δεδομένων πηγής και προορισμού να έχει το διαφορετικό χαρακτήρα - θέστε, και η βάση δεδομένων πηγής περιέχει τους πρόσθετους χαρακτήρες (παραδείγματος χάριν κινεζικά, ιαπωνικά, ισπανικά, γερμανικά, πρόσθετα γράμματα ή άλλοι χαρακτήρες, οι οποίοι δεν περιλαμβάνονται σε US7ASCII), η βάση δεδομένων στόχων θα χάσει τους αρχικούς χαρακτήρες και θα παρουσιάσει χαρακτήρες αντικατάστασης αντ' αυτού. Έτσι, είναι καλύτερο εάν η βάση δεδομένων πηγής και προορισμού έχει τον ίδιο ή παρόμοιο χαρακτήρα - σύνολο. Για να ελέγξει το χαρακτήρα - θέστε ότι μια εξαγωγή απορρίψεων και η βάση δεδομένων της χρησιμοποιούν, ελέγχει το κούτσουρο εξαγωγής, υπάρξουν οι characterset πληροφορίες εάν στην αρχή του κούτσουρου: Εξαγωγή που γίνεται στο χαρακτήρα US7ASCII - σύνολο και χαρακτήρας AL16UTF16 NCHAR - σύνολο Το Similary, το κούτσουρο εισαγωγών περιέχει τις πληροφορίες για ποιο χαρακτήρα - θέστε τη διαδικασία εισαγωγών χρησιμοποιεί και επίσης για τη βάση δεδομένων στόχων, συν το πιθανό μήνυμα προειδοποίησης, ακόμα κι αν η εισαγωγή απέτυχε με το λάθος ΟΜΠ-00016, στην αρχή του κούτσουρου εισαγωγών: εισάγετε καμένος στο χαρακτήρα US7ASCII - σύνολο και χαρακτήρας AL16UTF16 NCHAR - σύνολο ΣΗΜΑΝΤΙΚΟΣ: Η σελίδα είναι μεταφρασμένη με υπολογιστή και παρεχόμενη «όπως είναι» χωρίς εξουσιοδότηση. Η αυτόματη μετάφραση μπορεί να είναι δύσκολο να καταλαβευτεί. Παρακαλώ αναφερθείτε στο αρχικό αγγλικό άρθρο όποτε είναι δυνατόν.
χαρακτήρας χρήσεων WE8MSWIN1252 κεντρικών υπολογιστών - σύνολο (πιθανή μετατροπή charset)
εισάγετε το χαρακτήρα χρήσεων κεντρικών υπολογιστών UTF8 - σύνολο (πιθανή μετατροπή charset)
εξάγετε το χαρακτήρα χρήσεων UTF8 NCHAR κεντρικών υπολογιστών - σύνολο (πιθανή μετατροπή ncharset)Σχετικά άρθρα









































