Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

Συμπτώματα

Όταν ανοίγετε μια βάση δεδομένων που δημιουργήθηκε με Access 2000 μέσω MFC DAO κλάσεις σε Visual C++, λαμβάνετε το ακόλουθο μήνυμα λάθους:

Μορφή βάσης δεδομένων που δεν αναγνωρίζεται.

Μπορείτε επίσης να λάβετε αυτό το μήνυμα, όταν προσπαθείτε να δημιουργήσετε μια νέα βάση δεδομένων MFC DAO SDI ή MDI έργου χρησιμοποιώντας MFC AppWizard.

Αιτία

Αυτό το μήνυμα λάθους παρουσιάζεται επειδή το MFC DAO κλάδους πλοίο με φορτίο Visual C++ 6.0 DAO 3.5 (Dao350.dll) από προεπιλογή. Έκδοση DAO 3.5 χρησιμοποιεί Jet 3.5, η οποία να ανοίξετε μόνο μορφή Jet 3.5 (ή παλιότερη έκδοση) βάσεις δεδομένων. Η Access 2000 δημιουργεί μορφή Jet 4.0 αρχεία βάσης δεδομένων, τα οποία είναι μη αναγνωρίσιμο για Jet 3.5. Για να ανοίξετε με επιτυχία μια βάση δεδομένων της Access 2000 χρησιμοποιώντας τις κλάσεις MFC DAO, πρέπει να χρησιμοποιήσετε τα DAO 3.6 (Dao360.dll). DAO 3.6 χρησιμοποιεί Jet 4.0, το οποίο να ανοίξετε οποιαδήποτε διαθέσιμη μορφή βάσης δεδομένων Access.

Προτεινόμενη αντιμετώπιση

Προς το παρόν, δεν υπάρχει λύση με τη χρήση AppWizard με αρχεία προέλευσης δεδομένων Access 2000.

Για την εφαρμογή σας να χρησιμοποιούν το DAO έκδοση 3.6, πρέπει να ενημερώσετε την έκδοση του MFC κατά το χρόνο εκτέλεσης για MFC έκδοση 6.01. Για να γίνει αυτό εξαρτάται από το αν δημιουργείτε την εφαρμογή για να χρησιμοποιήσετε το DLL MFC ή για να δημιουργήσετε με τις στατικές βιβλιοθήκες για MFC.

Αν συνδέεστε με το DLL MFC, μπορείτε να καθορίσετε ότι θέλετε MFC για να χρησιμοποιούν τα DAO 3.6, εισάγοντας την παρακάτω γραμμή κώδικα πριν να ανοίξετε μια βάση δεδομένων της Access 2000:

AfxGetModuleState()->m_dwVersion = 0x0601;

Εισαγωγή αυτή τη γραμμή στη συνάρτηση CYourApp::Initinstance() του προγράμματός σας. Εάν κατασκευάζετε με τις στατικές βιβλιοθήκες MFC, ακολουθούν τα βήματα για να λάβετε τη στατική δημιουργεί της MFC για να χρησιμοποιούν τα DAO 3.6:

  1. Τροποποιήστε το αρχείο Daocore.cpp στον κατάλογο MFC SRC. Θα εμφανιστεί το ακόλουθο σχόλιο:

    // Determine whether to use DAO 3.6, 3.5, or 3.0
    // Use DAO 3.0 if DLL build and not built with MFC 4.21 or later
    // Use DAO 3.6 if MFC 6.01 or later
    // otherwise, DAO 3.5

    Προσθέστε τις ακόλουθες γραμμές:

    #undef _MFC_VER
    #define _MFC_VER 0x0601
  2. Δημιουργήστε ξανά τη βιβλιοθήκη για τα χαρακτηριστικά που χρειάζεστε. Για παράδειγμα, για να δημιουργήσετε τη στατική βιβλιοθήκη MFC, έκδοση εντοπισμού σφαλμάτων, μη Unicode, χωρίς αρχεία προγράμματος περιήγησης χρησιμοποιήστε την ακόλουθη εντολή στη γραμμή εντολών στο φάκελο MFC\SRC:

      nmake DEBUG=1

    for release:
    nmake DEBUG=0

    for unicode builds:
    nmake DEBUG=1 UNICODE=1
    nmake DEBUG=0 UNICODE=1

Σημείωση Πρέπει να κάνετε ορισμένες που είναι τα εργαλεία του μεταγλωττιστή στη διαδρομή σας. Εάν όχι, ίσως χρειαστεί να εκτελέσετε το αρχείο Vcvars32.bat που βρίσκεται στο φάκελο \BIN Visual C++. Σημειώστε επίσης ότι όταν δημιουργείτε αυτές οι νέες εκδόσεις των βιβλιοθηκών, αυτά θα αντιγραφούν επάνω από τις υπάρχουσες στο φάκελο MFC\LIB ώστε να μπορείτε να αποθηκεύσετε πρώτα τα παλιά.

Κατάσταση

Αυτή η συμπεριφορά οφείλεται στη σχεδίαση.

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×