Insert into Access from Sybase
seppel
- datenbank
0 Axel Richter0 seppel
Hi,
ich habe ein Problem beim Upload von Sybase-Tabellen in eine lokale Access-Datenbank:
Die Version der Sybase-Datenbank müsste ich noch erfragen, wenn das relevant ist. Aber hier erstmal das Problemchen...
Access hängt sich beim Ausführen der Insert-Statements auf.
insert into accesstable
select sybasetable.* from sybasetable
Das seltsame ist, ich kann die verlinkten Sybase-Tables im Access öffnen (Verbindung über ODBC - Sybase ASE ODBC Driver 4.10.00); ich kann select-statements gegen diese Tabellen absetzen UND ich kann insert-statements gegen meine Zieltabellen absetzen.
Die oben gezeigte Kombination geht allerdings nicht. Auch unter Verwendung der Spaltennamen hängt sich Access auf. Das selbe Spiel mit einer Oracle-Tabelle geht reibungslos.
Kann das am ODBC-Treiber liegen? Würde mich wundern, da er doch beim Insert auch nichts anderes macht, als ein Select gegen die Sybase-Tabelle abzusetzen. Oder liegt hier das Problem?
Vielen Dank für Suchhinweise und bitte nicht fragen warum ich die Daten in Access brauche...finde das selbst nicht sinnvoll :-)
Gruss,
Seppel
Hallo,
ich habe ein Problem beim Upload von Sybase-Tabellen in eine lokale Access-Datenbank:
Die Version der Sybase-Datenbank müsste ich noch erfragen, wenn das relevant ist. Aber hier erstmal das Problemchen...
Access hängt sich beim Ausführen der Insert-Statements auf.
insert into accesstable
select sybasetable.* from sybasetable
>
> Das seltsame ist, ich kann die verlinkten Sybase-Tables im Access öffnen (Verbindung über ODBC - Sybase ASE ODBC Driver 4.10.00); ich kann select-statements gegen diese Tabellen absetzen UND ich kann insert-statements gegen meine Zieltabellen absetzen.
>
> Die oben gezeigte Kombination geht allerdings nicht.
Fehlermeldung von Access? Du lässt den SQL-Request doch aus der Access-Anwendung heraus ablaufen? Oder wo/wie sonst?
> Auch unter Verwendung der Spaltennamen hängt sich Access auf.
Auch bei:
~~~sql
insert into accesstable (EinFeld)
select sybasetable.AuchEinFeld from sybasetable
?
Wobei accesstable.EinFeld und sybasetable.AuchEinFeld natürlich den selben Datentyp haben müssen und die Daten von sybasetable.AuchEinFeld auch als dieser Datentyp interpretierbar sein müssen.
Mögliche Fehlerquellen:
Es wird eine ID-Spalte mit angehängt, wodurch dort Duplikate entstehen, wo keine sein dürfen (bspw.: bei einem Primärschlüssel)
Es wird versucht Daten aus einer Textspalte in eine Spalte mit numerischem Datentyp zu schreiben.
Access kann mit dem Datumsformat der Daten einer Date/Time-Spalte nicht umgehen.
...
viele Grüße
Axel
Hi,
erstmal danke für deine Hinweise!
Fehlermeldung von Access? Du lässt den SQL-Request doch aus der Access-Anwendung heraus ablaufen? Oder wo/wie sonst?
mit Access hängt sich auf, meinte ich leider auch genau das - soll heissen: "Program Not Responding - TaskManager - kill process"
Wobei accesstable.EinFeld und sybasetable.AuchEinFeld natürlich den selben Datentyp haben müssen und die Daten von sybasetable.AuchEinFeld auch als dieser Datentyp interpretierbar sein müssen.
Habe das auch mit einem Feld getestet - selber Fehler und definitiv beides num-Felder...
Ich sollte vielleicht noch dabei sagen, warum ich sowas wie den Treiber verdächtige. Diese ganze Upload-Geschichte lief ja tadellos auf dem PC meines Arbeitskollegen. Bis die IT einen neuen PC aufgestellt hat (ohne zu fragen versteht sich) - jetzt läuft es halt nicht mehr...obwohl ich die ODBC-Verbindungen alle wieder erstellt habe und ich ja auch ohne Probleme auf die Tabellen komme. Und ja, ich führe diese Inserts in Access direkt aus.
Deine möglichen Fehlerquellen können leider ausgeschlossen werden, da ja auch der insert von einer einzigen (numerischen) Spalte (nicht der PK) diesen Fehler produziert.
Ich habe jetzt den alten PC bei der IT bestellt (hoffe die haben den noch) und werde mal gucken, was dort anders eingerichtet ist...Für Vorschläge bin ich trotzdem noch SEHR dankbar.
Gruss
Seppel
Tach auch seppel,
Ich habe jetzt den alten PC bei der IT bestellt (hoffe die haben den noch) und werde mal gucken, was dort anders eingerichtet ist...Für Vorschläge bin ich trotzdem noch SEHR dankbar.
Nur so ein Gedanke... keine Ahnung ob es paßt: Ich habe schon mal bei der Konfiguration des Sybase-ODBC-Treibers vergessen, unten den "Translator" einzurichten und bin böse damit auf die Nase gefallen... Nur so eine Idee
Maik
Hi,
sorry - war am Wochenende nicht hier am System.
Nur so ein Gedanke... keine Ahnung ob es paßt: Ich habe schon mal bei der Konfiguration des Sybase-ODBC-Treibers vergessen, unten den "Translator" einzurichten und bin böse damit auf die Nase gefallen... Nur so eine Idee
Danke für den Tip, aber in den ODBC-Einstellungen finde ich nichts entsprechendes. Wo stellt man den Translator ein?
Gruss,
Seppel
Tach auch seppl,
Nur so ein Gedanke... keine Ahnung ob es paßt: Ich habe schon mal bei der Konfiguration des Sybase-ODBC-Treibers vergessen, unten den "Translator" einzurichten und bin böse damit auf die Nase gefallen... Nur so eine Idee
Danke für den Tip, aber in den ODBC-Einstellungen finde ich nichts entsprechendes. Wo stellt man den Translator ein?
In der Maske des Sybase ODBC-Treibers, so im unteren Drittel ungefähr gibt es ein Ausklapp-Menü (zumindest in meinem, 5.0.3.2).
Maik