pcfjkg
Goto Top

SQL SERVER 2000, INFORMATION SCHEMA aktualisieren

Nach dem Löschen einer Tabelle mit VBA ist diese im INFORMATION SCHEMA des SQL Servers noch vorhanden (?)

Ein Project mittels MS ACCESS 2000 arbeitet mit Tabellen, Views etc. und ist mit einem SQL-2000 entsprechend verbunden. Eine Tabelle wird regelmäßig von einer anderen Quelle mit <DoCmd.TransferDatabase> importiert. Vor diesem Import wird die "alte" Tabelle mittels VBA gelöscht (DoCmd.RunSQL "DROP ....."). Trotz des Löschbefehls ist die "alte" Tabelle noch im der ACCESS Projekt aufrufbar und erst nach Aktualisierung der Tabellenliste (z.B. mit der Taste F5) kann auf die neu importierte Tabelle zugegriffen werden. Dies führt z.B auch zu der unangenehmen Folge, dass die Importanweisung an den Tabellennnamen eine 1,2 ec. anhängt weil es meint daß die mit DROP gelöschte Tabelle noch vorhanden ist. Ich vermute, dass das INFORMATION SCHEMA des SQL 2000 Servers den Verweis auf die Tabelle noch enthält und nach dem DROP noch eine Aktualisierung erfolgen muss. Danke für jeden Hinweis.

Content-ID: 52868

Url: https://administrator.de/contentid/52868

Ausgedruckt am: 24.11.2024 um 04:11 Uhr

Biber
Biber 28.02.2007 um 18:19:15 Uhr
Goto Top
Moin PCFJKG,

wäre nicht eventuell ein simples COMMIT bzw. DoCmd.RunSQL "Commit;" nach dem DROPpen und vor dem Importieren einfacher und genauso effizient?

Gruss
Biber
PCFJKG
PCFJKG 28.02.2007 um 18:35:23 Uhr
Goto Top
Hallo Biber,

zunächst Danke für den Tip (und vor allem die schnelle Reaktion). Ich habe mit Commit noch nicht gearbeitet. Nachdem ich soeben die Beschreibung von COMMIT in Access gelesen habe denke ich auch, dass ich damit weiterkomme. Die Frage der Aktualisierung von INFORMATION SCHEMA würde mich darüber hinaus gelegentlich auch interessieren. Also, falls es dazu noch etwas zu ergänzen gibt ???

Nochmals Danke, PCFJKG
Biber
Biber 28.02.2007 um 20:28:55 Uhr
Goto Top
Moin PCFJKG,

Zur "Frage der Aktualisierung von INFORMATION SCHEMA":

IMHO wirst Du da nichts manipulieren können und ich wäre hellauf entsetzt, wenn irgendein SQL-Server es zuließe.
Selbst wenn es nur ein M$-Produkt ist.

Das wäre das ebenso absurd wie einem Benutzer die Möglichkeit zu geben, einen Datei-Eintrag im jeweiligen Dateisystem direkt in der FAT/NTFS zu löschen.

Eine Manipulationsmöglichkeit des Information Schemas kann aber auch nicht wirklich Deine Hoffnung sein, oder?
Dann hätte ja jeder DB-User die Möglichkeit, Tabellen anzulegen und die entsprechenden Verweise/Hinweise auf diese Daten vor allen anderen inclusiv dem SYSTEM selbst zu verbergen...

Gruss
Biber