Entwickler-Ecke

Datenbanken - Daten von Paradox in Sybase Tabelle übertragen


a.ebert - Mi 16.05.07 13:26
Titel: Daten von Paradox in Sybase Tabelle übertragen
Moin Dlephi-Fans!

Wie der Titel des Themas schon sagt, sollen Daten aus einer Paradox-Tabelle in eine Tabelle einer Sybase Datenbank übertragen werden.

Kurze Grundinfo!

- Hab mir ein SQL-Script angelegt, welches mir die Tabellen in der Sybase Datenbank anlegt (Erstellung erfolgt zur Laufzeit)
- dabei Stimmen die Spaltennamen beider Tabellen überein
- Die Übertragung soll mit Hilfe der BatchMove-Komponente erfolgen

Mein Problem:
- ich will erst prüfen, ob die Tabellen, in der Sybase Datenbank auch existiert und dann erst soll die BatchMove-Komponente per Execute ausgeführt werden.Also wie kann ich auf die Datenbank zugreifen und fest stellen, ob die Tabelle wirklich existiert???
- wie kann ich der BatchMove-Komponente die Eigenschaft Destination (Zieltabelle) zuweisen??? Ich erzeuge die Tabellen ja erst kurz vorher...

Naja, hoffe mal es war soweit verständlich(wenn nich einfach fragen) und ihr könnt mir bissl helfen oder nen Schupps geben, damit ich in den Wald falle, den ich vor lauter Bäumen nicht sehe.

MfG Andy


Agawain - Do 17.05.07 10:15

hi

beim Versuch, die Tabelle zu öffnen wird eine exception ausgelöst, sofern die Tabelle nicht vorhanden ist.

Abfangen und Deinen Absichten gemäß behandeln.

Gruß

Aga


a.ebert - Mo 21.05.07 10:06

Alles klar!

Danke erstmal für deinen Tip, so wedr ich's wohl machen.

Jetzt hab ich halt nur noch das Problem, wie ich der BatchMove Komponente die Eigenschaft Destination(Zieltabelle) zuweise, da sich meine Zieltabelle ja auf dem Sybase-Server befindet.

Hoffe da kann mir jemand noch bisschen weiterhelfen!!!

MfG Andy


mkinzler - Mo 21.05.07 10:19

Du mußt die Eigenschaft .TableName der TTable-Komponente zur Laufzeit zuweisen


a.ebert - Mo 21.05.07 12:00

Danke

Hab gemacht was du es gesagt hast und er kennt jetzt auch die Tabelle. Allerdings bekomm ich jetzt ne Fehlermeldung die wie folgt lautet:
"Zieltabelle mus indiziert sein. Tabelle."
Kann damit nich allzu viel anfangen. Hab das so verstanden, dass meine Zieltabelle keinen Index besitzt.

Hab dafür gesorgt, dass meine Tabelle(auf Sybase Server) einen Index besitzt. Danach hab ich den Spaltennamen der Eigenschaft IdexFieldName von TTable zugewiesen(Zur Laufzeit). Programm ausgeführt...Fehlermeldung erhalten.

kann es sein das ich noch was übersehen hab???

Gruß Andy