Avatar billede eskil Nybegynder
18. marts 2004 - 15:11 Der 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'.

Hvordan får jeg min vilje ;-)
Avatar billede jensen363 Forsker
18. marts 2004 - 16:32 #1
Du skal som udgangspunkt have oprettet en ODBC-adgang til databasen, men det har du vel allerede gjort ????
Avatar billede hekla Nybegynder
18. marts 2004 - 22:53 #2
http://support.microsoft.com/default.aspx?scid=kb%3Ben-us%3B282357
Kan det have noget med dine Workgrouptilladelser at gøre?
Avatar billede trer Nybegynder
19. marts 2004 - 21:32 #3
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().
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester