Wachtwoord vergeten?

Wachtwoord vergeten
Vul hier uw email adres in. U ontvangt dan een nieuw wachtwoord.

Info: Problemen bij MDAC-upgrade met ODBC-stuurprogramma voor Access

Gepost op 20-12-2005 - Overige Microsoft Producten - 0 reacties


De informatie in dit artikel is van toepassing op:

  • Microsoft ODBC-stuurprogramma voor Access 4.0

Dit artikel is eerder gepubliceerd onder NL237994

Samenvatting


Met zowel Microsoft Data Access Components (MDAC) versie 2.1 als 2.5 wordt een nieuwe hoofdversie van het ODBC-stuurprogramma van Microsoft Access geïnstalleerd. Dit Access ODBC-stuurprogramma maakt gebruik van de Microsoft Jet 4.0-database-engine die toegang biedt tot databases met de indeling van Access 2000 en tot alle eerdere database-indelingen van Access. De vorige versie van het ODBC-stuurprogramma voor Access dat geleverd werd bij MDAC 1.5 en 2.0, maakte gebruik van de Microsoft Jet 3.5-database-engine voor besturing van het Access-databasebestand.


Door wijzigingen in het ontwerp van Jet 4.0 en door problemen met achterwaartse compatibiliteit veroorzaakt het nieuwe ODBC-stuurprogramma voor Access problemen in bestaande, geïnstalleerde ODBC-toepassingen die het ODBC-stuurprogramma voor Access gebruiken, wat er soms toe leidt dat de toepassing opnieuw moet worden gecodeerd.

Meer informatie

Overzicht van problemen met de MDAC 2.1- en MDAC 2.5-versie van het ODBC-stuurprogramma voor Access


Het op Jet 4.0 gebaseerde ODBC-stuurprogramma voor Microsoft Access gebruikt dezelfde bestandsnaam als het oudere Jet 3.5-stuurprogramma, namelijk Odbcjt32.dll. Wanneer u MDAC 2.1 of 2.5 installeert, wordt het Odbcjt32.dll-bestand voor Jet 3.5 overschreven door het Odbcjt32.dll-bestand voor Jet 4.0. Daarom worden reeds geïnstalleerde toepassingen die gebruikmaken van het ODBC-stuurprogramma voor Access dat geleverd werd bij MDAC 2.0 of MDAC 1.5, omgezet naar het nieuwere stuurprogramma als MDAC 2.1 of MDAC 2.5 op de computer is geïnstalleerd.


Odbcjt32.dll is de kern-DLL van het ODBC-stuurprogramma voor Microsoft Access. Deze DLL exporteert alle ODBC API-functies waarvan een ODBC-clienttoepassing gebruikmaakt. Wanneer u Odbcjt32.dll van ODBC gebruikt, wordt dit bestand geladen en maakt het gebruik van Msjet35.dll, dan wel Msjet40.dll (Jet 3.5 of Jet 4.0) voor de besturing van de Access-database. Als u eerst MDAC 2.0 en daarna MDAC 2.1 of MDAC 2.5 op dezelfde computer installeert, zijn er twee parallel functionerende versies van Jet aanwezig omdat alle Jet-enginebestanden unieke bestandsnamen hebben voor Jet 3.5 en Jet 4.0. Omdat het nieuwe, bij MDAC 2.1 of MDAC 2.5 geïnstalleerde Odbcjt32.dll-bestand echter gekoppeld is aan de nieuwe versie van Jet, maakt het ODBC-stuurprogramma voor Access geen gebruik meer van de oudere Jet 3.5 DLL's.


U kunt vaststellen welke versie van het ODBC-stuurprogramma voor Access geïnstalleerd is door ODBC-beheer te openen en op het tabblad Stuurprogramma's te klikken. Bekijk het versienummer van het stuurprogramma 'Microsoft Access-stuurprogramma (*.mdb)'. Als het versienummer met 3.5 begint, gebruikt u het ODBC-stuurprogramma dat aan Jet 3.5 gekoppeld is. Als het versienummer met 4,0 begint, gebruikt u het ODBC-stuurprogramma dat aan Jet 4,0 gekoppeld is.

Overzicht van problemen met achterwaartse compatibiliteit met het ODBC-stuurprogramma voor Microsoft Access dat hoort bij MDAC 2.1, MDAC 2.1 SP1, MDAC 2.1 SP2, MDAC 2.5, MDAC 2.5 SP1

  1. De MDAC 2.1- en MDAC 2.5-versie van het ODBC-stuurprogramma voor Access slaat geen gegevens op in databases die in oudere indelingen zijn gekopieerd. Als u een ontwerpmodel of replica van een Access-database in de indeling voor Access 97 (of Access 95) hebt, kan het MDAC 2.1 (of MDAC 2.5) ODBC-stuurprogramma voor Access deze database alleen openen in alleen-lezen-modus. Als u met ODBC zowel wilt kunnen lezen als schrijven, hebt u het ODBC-stuurprogramma voor Access nodig dat geleverd wordt bij MDAC 2.0. Wanneer u probeert een replicadatabase met een oudere indeling bij te werken, wordt het volgende foutbericht weergegeven: "Operation not supported on replicable databases that have not been converted to the current version". U kunt het probleem omzeilen door de database te converteren naar de Access 2000-indeling, door terug te keren naar de MDAC 2.0 SP2-versie van het ODBC-stuurprogramma of door het repliceren van de database ongedaan te maken.
  2. Het ODBC-stuurprogramma voor Paradox dat geleverd wordt bij MDAC 2.1 en MDAC 2.5, is alleen-lezen tenzij BDE (Borland Database Engine) is geïnstalleerd. Raadpleeg het volgende Microsoft Knowledge Base-artikel voor meer informatie:

    230126 Access 2000: Paradox-gegevens gebruiken met Access 2000 en Jet

    Microsoft heeft echter nieuwe Paradox ISAM-stuurprogramma's voor Microsoft Jet 4.0 gemaakt waarvoor de BDE niet hoeft te worden geïnstalleerd voor volledige lees/schrijftoegang tot Paradox-bestanden. Raadpleeg het volgende Microsoft Knowledge Base-artikel voor meer informatie:

    263561 Info: ISAM-stuurprogramma's zonder BDE voor Paradox en dBase

  3. Het ODBC-stuurprogramma voor dBase dat geleverd wordt bij MDAC 2.1 en MDAC 2.5, is alleen-lezen tenzij BDE is geïnstalleerd. Raadpleeg het volgende Microsoft Knowledge Base-artikel voor meer informatie:

    230125 Access 2000: dBASE-gegevens gebruiken met Access 2000 en Jet

    Microsoft heeft echter nieuwe dBase ISAM-stuurprogramma's voor Microsoft Jet 4.0 gemaakt waarvoor de BDE niet hoeft te worden geïnstalleerd voor volledige lees/schrijftoegang tot dBase-bestanden. Raadpleeg het volgende Microsoft Knowledge Base-artikel voor meer informatie:

    263561 Info: ISAM-stuurprogramma's zonder BDE voor Paradox en dBase

  4. De installatie van MDAC 2.1 of MDAC 2.5 kan problemen bij alle toepassingen veroorzaken die gebruikmaken van het ODBC-stuurprogramma voor Microsoft FoxPro. Ontwikkelaars moeten overschakelen op het ODBC-stuurprogramma voor Visual FoxPro. Raadpleeg het volgende Microsoft Knowledge Base-artikel voor meer informatie:

    235357 PRB: FoxPro ODBC-stuurprogramma vervangen door Visual FoxPro ODBC-stuurprogramma

  5. Er zijn verschillende grote snelheidsproblemen gemeld met het ODBC-stuurprogramma voor Microsoft Access dat wordt geleverd bij MDAC 2.1 en hoger. De snelheid kan volgens deze meldingen met 400% teruglopen tussen het ODBC-stuurprogramma bij Jet 3.5 en dat bij Jet 4.0.

    De gemelde snelheidsproblemen hebben betrekking op het langzamer openen van verbindingen (SQLConnect), het langzamer uitvoeren van SQL-opdrachten (SQLExecDirect), het langzamer invoegen van records bij het gebruik van datum/tijdvelden, langzamer bladeren (SQLSetPos) en langzamer ophalen van gegevens (SQLGetData). Raadpleeg het volgende Knowledge Base-artikel voor meer informatie over deze problemen:

    168686 PRB: Prestatieverlies bij upgraden van Jet ODBC-stuurprogramma

  6. Het nieuwere ODBC-stuurprogramma voor Access volgt nu de ANSI 92 SQL-specificatie, omdat Jet 4.0 dat ook doet. Daardoor kunnen SQL-instructies die probleemloos functioneerden met het ODBC-stuurprogramma bij Jet 3.5, tot ongewenste resultaten leiden. Raadpleeg het volgende Knowledge Base-artikel voor meer informatie over deze problemen:

    237992 PRB: Querytesten voor NULL in Access-database resulteert niet in records met Jet 4.0

  7. Er is een bekend probleem in SQLBindCol waarbij een geheugenlek optreedt bij de MDAC 2.1-versie van het ODBC-stuurprogramma voor Access. Dit probleem is verholpen in MDAC 2.1 SP2.
  8. Wanneer u gegevens in een Bit (Ja/Nee)-veld van een Microsoft Access-database invoegt, is het bitveld altijd Onwaar, ook als Waar werd opgegeven als waarde. Dit probleem is opgelost in MDAC 2.1 SP2. Zie het volgende artikel in de Knowledge Base voor meer informatie:

    221184 FIX: Access-bitvelden en MDAC 2.1

  9. Nadat u het nieuwere ODBC-stuurprogramma voor Access hebt geïnstalleerd, leidt het verwijderen van een record uit een sleutelset of dynamische cursor tot een niet-synchroon lopende rij. Na het verwijderen van een record moet bijvoorbeeld record 5 de actieve record zijn, maar de actieve record blijkt 10 te zijn. Dit probleem is verholpen in MDAC 2.1 SP2. Zie het volgende artikel in de Knowledge Base voor meer informatie:

    230131 Access ODBC-sleutelsetcursor raakt beschadigd na een verwijdering

  10. Zowel in versie MDAC 2.1 als MDAC 2.5 van het ODBC-stuurprogramma voor Access worden onverwachte lengten van tekstkolommen gemeld bij het aanroepen van SQLColumns. Raadpleeg het volgende Knowledge Base-artikel voor meer informatie:

    236871 BUG: SQLColumns resulteren in onjuiste BUFFER_LENGTH/CHAR_OCTET_LENGTH

  11. Het ODBC-stuurprogramma MDAC 2.1 voor Access is niet compatibel met eerdere versies wat betreft het gebruik van SQL_ATTR_NOSCAN (SQL_NOSCAN). De MDAC 2.1-versie van het ODBC-stuurprogramma voor Access blijft ODBC-escapereeksen voorontleden, zelfs als het stuurprogramma is uitgeschakeld door ODBC API-aanroepen.


    Dit probleem is opgelost met het ODBC-stuurprogramma MDAC 2.5 voor Access.
  12. De ODBC-stuurprogramma's MDAC 2.1 en MDAC 2.5 voor Access ondersteunen niet het gebruik van letterlijke GUID's in SQL-instructies. De MDAC 2.0-versie van het ODBC-stuurprogramma voor Access ondersteunt letterlijke GUID's in SQL-instructies wanneer het voorontleden van ODBC-escapereeksen uitgeschakeld is. Raadpleeg het volgende Knowledge Base-artikel voor meer informatie:

    170117 Procedure: GUID-velden van Visual C++ in Access gebruiken

  13. Zowel het ODBC-stuurprogramma MDAC 2.1 als MDAC 2.5 voor Access hebben problemen met achterwaartse compatibiliteit bij het gebruik van de clausule LIKE. Dit probleem komt alleen voor in die zeldzame gevallen waarin een tekstveld het caretteken ('^') bevat en u het veld probeert te selecteren met behulp van een LIKE-component. Als bijvoorbeeld het veld f1 de waarde 'C^C' bevat en u probeert de record te selecteren met behulp van de volgende SQL-instructie, dan wordt de record niet geselecteerd:
    SELECT * FROM Test WHERE f1='C^C'
  14. Bij het ODBC-stuurprogramma voor Access dat wordt geleverd bij MDAC 2.1 en MDAC 2.5, kunnen geen dubbele aanhalingstekens meer worden gebruikt als letterlijke tekenreeksen in SQL-instructies. Zo werkt de volgende SQL-instructie probleemloos met het MDAC 2.0-stuurprogramma, maar genereert dezelfde instructie een fout ([Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.) bij gebruik van het MDAC 2.1-stuurprogramma:
    SELECT "Test" AS F1 FROM Test

    Het gebruik van enkele aanhalingstekens voor letterlijke tekenreeksen werkt in beide stuurprogramma's.
  15. Klanten hebben gemeld dat databases aanzienlijk groter worden met de MDAC 2.1- en MDAC 2.5-versie van het ODBC-stuurprogramma voor Access. Jet 4.0 slaat nu alle tekstgegevens op als Unicode, waarvoor tweemaal zoveel ruimte als voor ANSI-tekst nodig kan zijn. Bovendien vertoont MDAC 2.1 een probleem met het vergrendelen van records, dat wordt verholpen door MDAC 2.1 SP2 te installeren. Raadpleeg het volgende Knowledge Base-artikel voor meer informatie:

    239527 Access 2000: Database wordt te groot bij importeren van groot tekstbestand

  16. Zowel de MDAC 2.1- als MDAC 2.5-versie van het ODBC-stuurprogramma voor Access kunnen resulteren in ongeldige rangtelnummers als SQLColumns wordt aangeroepen. Als u een tabel in Access maakt en naderhand een kolom verwijdert, hebben de door het ODBC-stuurprogramma gemelde kolomnummers niet de juiste volgorde bij het aanroepen van SQLColumns. Als u bijvoorbeeld een tabel met vier kolommen maakt en vervolgens kolom 2 verwijdert, zijn de gemelde kolomnummers 1, 3, 4 in plaats van 1, 2, 3. Volgens de ODBC-specificatie (SQLColumns, ORDINAL_POSITION) moet de kolomnummering beginnen met 1 en in ononderbroken volgorde oplopen.
  17. Zowel in de MDAC 2.1- als MDAC 2.5-versie van het ODBC-stuurprogramma voor Access ODBC krijgen sommige oorspronkelijke gegevenstypen uit de vorige versie een andere naam. Als u SQLGetTypeInfo aanroept, blijkt dat de volgende namen van gegevenstypen zijn gewijzigd:
    MDAC 2.0 Naam MDAC 2.1 en MDAC 2.5 Naam ------------- ---------------------------- LONGTEXT LONGCHAR LONG INTEGER TEXT VARCHAR
  18. De MDAC 2.1-versie van het ODBC-stuurprogramma voor Access meldde een onjuiste kolomlengte bij het aanroepen van SQLDescribeCol voor een berekend tekstveld. Als u bijvoorbeeld de onderstaande SQL-instructie geeft, genereert SQLDescribeCol 2147483598 als de lengte van berekende kolommen en niet de verwachte 255 (standaardlengte van tekstkolommen zoals gemeld door de MDAC 2.0-versie van het ODBC-stuurprogramma voor Access):
    SELECT [CompanyName] + [ContactName] AS x FROM Customers
    Dit probleem is opgelost in MDAC 2.1 SP1 en alle latere service packs van MDAC 2.1.
  19. Bij gebruik van de MDAC 2.1- of MDAC 2.5-versie van het ODBC-stuurprogramma voor Access in combinatie met SQLConfigDataSource en REPAIR_DB mislukt de aanroep als de databasenaam niet tussen dubbele aanhalingstekens is geplaatst. Voor het stuurprogramma van de MDAC 2.0-versie zijn de dubbele aanhalingstekens niet vereist. Dit probleem is verholpen in MDAC 2.1 SP2.
  20. Wanneer u de MDAC 2.1- of MDAC 2.5-versie van het ODBC-stuurprogramma voor Access gebruikt en een Microsoft Access-databasebestand op een gedeeld netwerkvolume opent, vindt een uitzonderlijk groot aantal activiteiten met netwerkpakketten plaats, ook wanneer de ODBC-verbinding niet actief is. Dit is het gevolg van het feit dat het nieuwere stuurprogramma de instelling voor PageTimeout correct interpreteert, terwijl het MDAC 2.0-stuurprogramma dat niet deed.Klik voor meer informatie op het volgende artikelnummer in de Microsoft Knowledge Base:

    246560 BUG: Excessieve netwerkactiviteit bij gebruik van Access ODBC-stuurprogramma

  21. De MDAC 2.1- en MDAC 2.5-versie van het ODBC-stuurprogramma voor Access wijst bij gebruik van het SQL-sleutelwoord TEXT zonder een lengteaanduiding in DDL de waarde nu toe aan een memoveld (bij het MDAC 2.0-stuurprogramma werd TEXT toegewezen aan TEXT(255)). Zo wordt met de volgende SQL-instructie een TEXT(255)-veld gemaakt bij gebruik van het MDAC 2.0-stuurprogramma en een MEMO-veld bij gebruik van het MDAC 2.1-stuurprogramma:
    CREATE TABLE Test (f1 TEXT)
  22. Wanneer met de MDAC 2.1- of MDAC 2.5-versie van het ODBC-stuurprogramma voor Access een query met parameters die een subquery bevat wordt uitgevoerd, worden parametermarkeringen in een onverwachte volgorde verwerkt. De parametermarkeringen worden niet verwerkt van links naar rechts zoals ze in SQL zijn opgenomen. In plaats daarvan worden eerst de parametermarkeringen in de subquery verwerkt, en pas daarna de parametermarkeringen in de hoofdquery. Raadpleeg het volgende Knowledge Base-artikel voor meer informatie:

    244719 FIX: Parameters komen niet overeen met subquery's in Access ODBC

    Dit probleem is opgelost in Microsoft Jet 4.0 Service Pack 4.
  23. Wanneer u met de MDAC 2.1- of MDAC 2.5-versie van het ODBC-stuurprogramma voor Access meerdere instructies onder een enkelvoudige HDBC opent en sluit, neemt het geheugengebruik voortdurend toe totdat u de bovenliggende HDBC sluit. Wanneer u vanuit Microsoft Jet OLE DB Provider 4.0 meerdere rijensets in een enkelvoudige sessie opent en sluit, neemt het geheugengebruik eveneens voortdurend toe totdat u de bovenliggende sessie vrijgeeft. Dit probleem met het geheugengebruik kan worden gereproduceerd door ADO, ODBC of OLE DB als client-API te gebruiken. Raadpleeg het volgende Microsoft Knowledge Base-artikel voor meer informatie:

    247140 Geheugengebruik stijgt met meerdere recordsets tijdens één Jet-sessie



Met ingang van MDAC (Microsoft Data Access Components) versie 2.6 bevat MDAC niet meer de volgende Jet-onderdelen:
  • Microsoft Jet
  • Microsoft Jet OLE DB Provider
  • ODBC Desktop Database Drivers

PrintPrint RSS reactiesRSS reacties BookmarkBookmark

Gekoppelde tags

Access, Access 2000, Access 97, Database, DLL, Fix, Foutbericht, FoxPro, JET, Kolommen, MDAC, ODBC, Procedure, Query, Record, Service Pack, SQL, Tabel, Upgrade, Visual C

Reacties
Nog geen reacties geplaatst.

Winkelmandje

Het winkelmandje is leeg

Inloggen
Als u hierboven op de knop 'bestellen' klikt krijgt u een overzicht van de door uw gewenste producten. Indien het overzicht compleet en correct is kunt via de wizard de verdere gegevens invullen en uw bestelling afronden. In het bestelproces kunt u altijd op 'vorige' drukken om terug te gaan in het proces. Bij Perrit staan vertrouwen, privacy en veiligheid op de eerste plaats, wij zullen uw gegevens dan ook met uiterste zorgvuldigheid behandelen en nooit doorgeven aan derden.

Perrit.nl Sherwood Rangers 29 Hengelo

Perrit.nl telefoon: +31 74 750 12 20

Kenniscentrum - Info: Problemen bij MDAC-upgrade met ODBC-stuurprogramma voor Access
Perrit Kenniscentrum - Info: Problemen bij MDAC-upgrade met ODBC-stuurprogramma voor Access