18. marts 2004 - 15:11Der er
2 kommentarer og 1 løsning
Adgang til metadata om Access-database fra et java-program
Følgende forespørgsel i Access giver oplysning om hvilke tabeller der er i den aktuelle database: SELECT Name FROM MSysObjects WHERE Type = 1;
Hvis jeg sender samme forespørgsel fra et java-program får jeg følgende meddelelse: [Microsoft][ODBC Microsoft Access Driver] Record(s) cannot be read; no read permission on 'MSysObjects'.
Meta data skal ikke læses gennem msysobjects - du kan nemlig ikke fortolke data og datas betydning er versionsafhængige.
Bruge i stedet OpenSchema() funktionerne - det er standard ODBC / ADO - så de findes for alle drivertyper (dog med forskellige niveauer af understøttelse). Funktionen må også være tilgængelig i Java.
Normalt returnerer OpenSchema() et recordsæt med data - f.eks. kolonner, tabeller og tabeltyper, procedurer, views, parametre, datatyper, reserverede ord, indeks, primærnøgler, fremmednøgler etc - alt efter hvad databasen supporterer.
De ca 30 forskellige typer af metadata der er gængse kan du finde beskrevet på msdn når du søger på OpenSchema().
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.