Access forårsaker en feil når du eksporterer felt med enkel eller dobbel datatype til Oracle
Opprinnelig KB-nummer: 301915
Obs!
Krever grunnleggende ferdigheter for makroer, koding og interoperabilitet. Denne artikkelen gjelder for en Microsoft Access-database (.mdb) og for et Microsoft Access-prosjekt (ADP).
Symptomer
Når du bruker Oracle ODBC-driveren til å eksportere en Access-tabell som har felt av datatypen Enkel eller Dobbel, kan ikke driveren eksportere disse feltene som følger.
Microsoft Oracle-driveren viser følgende feilmelding:
Microsoft Access kan ikke tilføye alle dataene i tabellen. Innholdet i felt i <talloppføringer> ble slettet, og 0 post(er) gikk tapt på grunn av brudd på nøkkeltillatelser.
- Hvis dataene ble slettet, samsvarer ikke dataene du limte inn eller importerte, med feltdatatypene eller egenskapen FieldSize i måltabellen.
- Hvis poster gikk tapt, inneholder postene du limte inn, primærnøkkelverdier som allerede finnes i måltabellen, eller de bryter reglene for referanseintegritet for en relasjon som er definert mellom tabeller. Vil du fortsette likevel?
Oracle ODBC-drivere opptil og inkludert versjon 8.1.6 viser følgende feilmelding:
ODBC – kallet mislyktes [Oracle][ODBC][ORA] ORA-01401: Satt inn verdi for stor for kolonne (#1401)
Årsak
I Microsoft Access 97 konverterer eksportprosessen datatypefeltene Enkel og Dobbel til VarChar2(40). Feltene konverteres imidlertid til VarChar2(4) i Microsoft Access 2000 og nyere, som er for små til å inneholde dataene.
Løsning
Hvis du vil eksportere dataene til Oracle, kan du bruke en spørring basert på de relevante tabellene. Bruk CStr()-funksjonen til å konvertere datatypen til Streng.
Vurder for eksempel følgende SQL-syntaks:
SELECT tblExample.pkeyDataID, tblExample.dblTest
FROM tblExample;
der dblTest er et felt med en datatype langt flyttall. Konverter dblTest til en strengdatatype ved å gjøre følgende endring i SQL-syntaksen:
SELECT tblExample.pkeyDataID, CStr([dblTest]) AS Expr1
FROM tblExample;
Spørringen kan nå eksporteres til Oracle.
Dette problemet er løst i Microsoft Jet 4.0 Database Engine Service Pack 8 (SP8).
Status
Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i begynnelsen av denne artikkelen.
Mer informasjon
Tredjepartsproduktene som er omtalt i denne artikkelen, produseres av selskaper som er uavhengige av Microsoft. Microsoft gir ingen garantier, implisitt eller på annen måte, om disse produktenes ytelse eller pålitelighet.
Tilbakemeldinger
https://aka.ms/ContentUserFeedback.
Kommer snart: Gjennom 2024 faser vi ut GitHub Issues som tilbakemeldingsmekanisme for innhold, og erstatter det med et nytt system for tilbakemeldinger. Hvis du vil ha mer informasjon, kan du se:Send inn og vis tilbakemelding for