Wie kann ich eine Liste der Tabellen in eine Access - (Jet) - Datenbank?
Muss ich sehen, ob eine Tabelle vorhanden ist, in eine Access-Datenbank verwendet, die von meinem c# - Programm. Ist weiß, es gibt SQL-Befehle zu anderen Datenbanken, die gibt eine Liste von Tabellen. Gibt es so einen Befehl für Access/Jet-Datenbanken?
InformationsquelleAutor Jon B | 2011-05-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen die GetSchema()
InformationsquelleAutor VAShhh
Vollständige code : Holen Sie sich eine Liste der Tabellen in einer Access-Datenbank - ADO.NET Tutorials
hier ist die Antwort für Sie : http://social.msdn.microsoft.com/Forums/en/adodotnetdataproviders/thread/d2eaf851-fc06-49a1-b7bd-bca76669783e
InformationsquelleAutor Pranay Rana
Etwas wie dies sollte den trick tun. Die Klausel
Type = 1
gibt Tabellen. Beachten Sie, dass dies auch die system-Tabellen in der Ergebnismenge (Sie beginnen mit dem Präfix "MSys".Record(s) cannot be read; no read permission on 'MSysObjects'
.Es klingt wie Sie müssen möglicherweise ändern Sie die Berechtigungen in der Access-Datenbank. Menü Extras -> Sicherheit -> Benutzer-und Gruppen-Berechtigungen. Zuweisen 'Daten Lesen' - Berechtigung für den Admin-Benutzer auf die Tabelle MSysObjects.
Ändern der Berechtigungen wie das würde vielleicht gegen die Sicherheit auf Benutzerebene eingerichtet wurde, auf Zweck. Die Lösung ist nicht zu ändern Sie die Berechtigungen auf das zugrunde liegende Objekt (was würde es weit offen für alle), sondern auch, um einen Benutzernamen/Kennwort, das über die Berechtigungen, die Sie benötigen.
mein Verständnis ist, dass die "MSys" Objekte in einer Access-Datenbank standardmäßig nicht mit Berechtigungen, die auch der Admin-Benutzer, insbesondere für eine remote-Verbindung. Ich bin damit einverstanden, dass, wenn dieses Projekt verwendet die eingebaute Access security-features, UND dieser war ein langjähriger Abfrage \ Prozess, der mit einem dedizierten Konto mit der entsprechenden Erlaubnis das beste wäre. Ich hatte das Gefühl, jedoch, dass dies möglicherweise eine nach unten und schmutzig Typ der Abfrage, Anfrage, in dem Fall das hinzufügen von einem anderen Benutzer Konto-w-Berechtigungen wäre übertrieben.
Wenn Sie nicht über die Berechtigungen zum Lesen der system-Tabellen mit dem Standard-admin-Konto, sind Sie nicht die Berechtigung haben, etwas anderes zu tun. Wahrscheinlich die falsche Arbeitsgruppen-Informationsdatei verwendet wird, und das ist die Ursache für die lese-Fehler auf der system-Tabellen.
InformationsquelleAutor Tim Lentine