PRB: Μεταφορά δεδομένων από την προέλευση Jet 4.0LEDB αποτύχει με μήνυμα σφάλματος υπερχείλισης Buffer

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 281517 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Συμπτώματα

Όταν εισαγάγετε δεδομένα από μια προέλευση δεδομένων Jet OLEDB 4.0 με τη χρήση υπηρεσιών μετασχηματισμού δεδομένων (DTS) και την υπηρεσία παροχής Microsoft OLE DB για Jet, η εργασία αντλία δεδομένων ενδέχεται να αποτύχει με αυτό το μήνυμα λάθους:
"Σφάλμα στην πηγή για γραμμή αριθμού παθήσεις σφάλματα που αντιμετωπίστηκαν μέχρι στιγμής σε αυτή την εργασία: 1"
Γενικό σφάλμα:-2147217887(80040E21)
Δεδομένα για 3('Col3') στήλη προέλευσης είναι πολύ μεγάλο για το καθορισμένο μέγεθος buffer.
Εάν το αρχείο προέλευσης έχει πεδία με περισσότερους από 255 χαρακτήρες, τα δεδομένα προορισμού για αυτά τα πεδία μπορούν να περικόπτονται στους 255 χαρακτήρες. DTS αποτυγχάνει στην πρώτη γραμμή που έχει ένα πεδίο με περισσότερους από 255 χαρακτήρες. Για να το επαληθεύσετε, αναζητήστε τον αριθμό γραμμών που εμφανίζει το μήνυμα σφάλματος.

Αιτία

Η υπηρεσία παροχής Jet OLE DB διαβάζει ένα κλειδί μητρώου για να προσδιορίσετε τον αριθμό των γραμμών πρέπει να εκλαμβάνονται να μαντέψει τον τύπο της στήλης προέλευσης. Η ρύθμιση μητρώου είναι:

HKLM\Software\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows

Από προεπιλογή, η τιμή για αυτό το κλειδί είναι 8. Ως εκ τούτου, η υπηρεσία παροχής σαρώνει τις πρώτες 8 γραμμές των δεδομένων προέλευσης για να καθορίσετε τους τύπους δεδομένων των στηλών. Εάν κάθε πεδίο έχει τη μορφή κειμένου και το μήκος των δεδομένων έχει περισσότερους από 255 χαρακτήρες, η στήλη έχει πληκτρολογηθεί ως πεδίο υπομνήματος. Επομένως, εάν δεν υπάρχει καθόλου δεδομένα με μήκος μεγαλύτερο από 255 χαρακτήρες σε πρώτα 8 γραμμές του αρχείου προέλευσης, το Jet δεν μπορεί να προσδιορίσει με ακρίβεια τη φύση του τύπου δεδομένων.

Εναλλακτικός τρόπος αντιμετώπισης

ΣημαντικόΑυτή η ενότητα, μέθοδος ή εργασία περιέχει βήματα που σας καθοδηγούν να τροποποιήσετε το μητρώο. Ωστόσο, ενδέχεται να προκύψουν σοβαρά προβλήματα εάν δεν τροποποιήσετε σωστά το μητρώο. Επομένως, βεβαιωθείτε ότι ακολουθείτε προσεκτικά αυτά τα βήματα. Για επιπλέον προστασία, αντίγραφο ασφαλείας του μητρώου πριν το τροποποιήσετε. Στη συνέχεια, μπορείτε να επαναφέρετε το μητρώο, εάν παρουσιαστεί κάποιο πρόβλημα. Για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
322756Τρόπος δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου στα Windows

Για να αλλάξετε την τιμή τηςTypeGuessRows, χρησιμοποιήστε τα εξής βήματα:
  1. Σχετικά με τηνΈναρξημενού, κάντε κλικ στο κουμπίΕκτέλεση. Με τοΕκτέλεσηστο παράθυρο διαλόγου, πληκτρολογήστεRegedt32, και στη συνέχεια κάντε κλικ στο κουμπίOK.
  2. Ανοίξτε το ακόλουθο κλειδί στον Επεξεργαστή μητρώου:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

    ΣημείωσηΓια συστήματα 64-bit, το αντίστοιχο κλειδί είναι ως εξής:

    HKLM\SOFTWARE\wow6432node\microsoft\jet\4.0\engines\excel
  3. Κάντε διπλό κλικTypeGuessRows.
  4. Με τοΕπεξεργαστή DWORDστο παράθυρο διαλόγου, κάντε κλικ στο κουμπίΔεκαδικώνστην περιοχήΒάση. Πληκτρολογήστε μια τιμή μεταξύ 0 και 16, συμπεριλαμβανομένου, γιαΤιμήτα δεδομένα.
  5. Κάντε κλικ στο κουμπίOK, και κατόπιν κλείστε τον Επεξεργαστή μητρώου.
Ένας δεύτερος τρόπος για να επιλύσετε αυτό το πρόβλημα (χωρίς τροποποίηση του μητρώου) είναι να βεβαιωθείτε που οι γραμμές με πεδία, τα οποία έχουν δεδομένα 255 χαρακτήρες ή μεγαλύτερο, υπάρχουν στις πρώτες 8 γραμμές του αρχείου προέλευσης δεδομένων.

Περισσότερες πληροφορίες

Η έγκυρη περιοχή τιμών για τοTypeGuessRowsτο κλειδί είναι 0 έως 16. Ωστόσο, εάν η τιμή είναι 0, ο αριθμός των γραμμών προέλευσης σάρωση είναι 16384. Να θυμάστε ότι η τιμή μηδέν ενδέχεται να προκαλέσει μια μικρή επιδόσεων επισκέψεων, εάν το αρχείο προέλευσης είναι πολύ μεγάλο.

Βήματα για την αναπαραγωγή του προβλήματος

  1. Ανοίξτε ένα νέο βιβλίο εργασίας του Microsoft Excel και δημιουργήστε ένα φύλλο με τρεις στήλες και γραμμές 11 και συμπεριλάβετε την πρώτη γραμμή με ονόματα στηλών.
  2. Εισαγωγή δεδομένων σε κελιά, έτσι ώστε τα πρώτα 8 γραμμές έχουν δεδομένα λιγότερους από 255 χαρακτήρες σε μήκος.
  3. Εισαγάγετε τα δεδομένα που είναι μεγαλύτερες από 255 χαρακτήρες σε μήκος στις σειρές δέκατη και ενδέκατη. Μπορείτε να αποθηκεύσετε αυτό το φύλλο ως ExcelSource.xls.
  4. Ανοίξτε τον SQL Server Enterprise Manager και αναπτύξτε το όνομα του διακομιστή. Κάντε δεξιό κλικΥπηρεσίες μετασχηματισμού δεδομένων, και στη συνέχεια κάντε κλικ στο κουμπίΕισαγωγή δεδομένων.
  5. Για το αρχείο προέλευσης, επιλέξτε την υπηρεσία παροχής του Excel 97-2000 και δώστε το όνομα για το φύλλο του Excel που αποθηκεύσατε παλαιότερη (ExcelSource.xls).
  6. Για την επιλογή προορισμούΥπηρεσία παροχής Microsoft OLEDB για SQL, και στη συνέχεια επιλέξτε τη βάση δεδομένων προορισμού.
  7. Κάντε κλικ στο κουμπίΑντιγράψτε τους πίνακες και τις προβολές από την προέλευση DB, και στη συνέχεια κάντε κλικ στο κουμπίΕπόμενη.
  8. Με τοΕπιλέξτε τους πίνακες προέλευσηςΚάντε κλικ στο πλαίσιο διαλόγου, επιλέξτε το Φύλλο1$Επόμενη, και στη συνέχεια, εκτελέστε αμέσως το πακέτο. Η εκτέλεση του πακέτου αποτύχει με το μήνυμα λάθους που εμφανίζεται στην ενότητα "Συμπτώματα".

  9. Αποθέστε τον πίνακα $ Φύλλο1 από τη βάση δεδομένων προορισμού, χρησιμοποιώντας την εντολήΑποθέστε πίνακα $ Φύλλο1.
  10. Ακολουθήστε την ανάλυση στην ενότητα "Εναλλακτικός τρόπος αντιμετώπισης" και να κάνετε την αλλαγή στο κλειδί μητρώου γιαTypeGuessRows.
  11. Τώρα, επαναλάβετε τα βήματα 4 έως 8. Αυτήν τη στιγμή η εκτέλεση του πακέτου είναι επιτυχής.

ΑΝΑΦΟΡΈΣ

Για πρόσθετες πληροφορίες σχετικά με αυτήν τη συμπεριφορά που αφορά το Microsoft Excel, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
189897XL97: Δεδομένων εμφανίζεται περικομμένο στους 255 χαρακτήρες με το πρόγραμμα οδήγησης ODBC του Excel

Ιδιότητες

Αναγν. άρθρου: 281517 - Τελευταία αναθεώρηση: Σάββατο, 5 Φεβρουαρίου 2011 - Αναθεώρηση: 3.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
Λέξεις-κλειδιά: 
kbjet kbprb kbmt KB281517 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:281517

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com