Tabelle umbenennen

PeterE

Grünschnabel
Hallo Forum,

wir nutzen 2 Mircosoft SQL-Server 2000, einen als Entwicklungssystem und einen als Produktivsystem. Diese werden von einem externen Tool (SAS) per SQL-Statements über die ODBC-Schnittstelle mit Daten beschickt. Da die Tabellen teilweise sehr groß sind (> 6 GB) werden diese Daten Nachts auf beide Systeme gleichzeitig geschickt wobei auf dem Produktivsystem andere Tabellennamen genutzt werden. Am nächsten Morgen werden die Daten von uns auf dem Entwicklungssystem überprüft. Sind diese in Ordnung werden die alten Tabellen auf dem Produktivsystem mit DTS-Paketen gelöscht und die neuen Tabellen mit den gleichen DTS-Paketen umbenannt.

Meine Frage ist jetzt: Gibt es eine Möglichkeit dieses umbenennen per SQL-Statements über die ODBC-Schnittstelle durchzuführen. Dann könnten wir alles mit dem externen Tool steuern.

Ich hoffe es kann mir jemand helfen. :( Danke schonmal im voraus.

PeterE
 
Hallo PeterE,

Tabellen können mit dem Befehl "alter table" umbenannt werden.

Beispiel:
Name der aktuellen Tabelle: wgr
Name der neuen Tabelle: wgrxx

Befehl: alter table wgr rename to wgrxx; (ausgeführt in der Commandline von MySQL)

Gruß

Harald
 
Hallo Harald,

funktioniert leider mit dem MS SQL-Server 2000 nicht über die ODBC Schnittstelle. Ausführen in der Commandozeile hilft mir leider nicht weiter. Trotzdem danke.

Gruß
PeterE
 
Hallo PeterE,

ich habe den Befehl lediglich in der Commandozeile getestet.

Der Befehl müsste aber auch über die ODBC Schnittstelle funktionieren.
Ich habe eine Java Anwendung, in der ich aus Java Tabellen anlege, lösche und mit Daten bestücke bzw. die Daten ändere.

Teste doch bitte mal den alter in deiner Kommandoeingabe.
Wenn er dort funktioniert, sollte die Funktionalität auch über die ODBC-Schnittstelle klappen.
Der alter Befehl ist doch auch nur ein Befehl aus dem SQL Sprachgebrauch wie z. B.
ein insert oder update.


Gruß

Harald
 
Hallo Harald,

die Kombination alter table und rename kennt MS SQL-Server 2000 nicht und funktioniert deshalb auch nicht über den ODBC-Treiber. Ich habe aber mittlerweile eine Möglichkeit gefunden und zwar mit dem EXECUTE-Befehl kann ich jeden MS SQL-Server 2000 Befehl (auch nicht SQL) auf diesem ausführen und dann ist es eigentlich ganz einfach.

Nochmals Danke für die Unterstützung.

Gruß
PeterE
 
Zurück