seppel: Insert into Access from Sybase

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

  1. 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

    1. 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

      1. 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

        http://www.gruss-aus-essen.de

        Maik

        --
        Diese Dauerleihgabe wird Ihnen präsentiert von ROMY!
        Maik. W. aus E. sagt Dankeschön ;-)
        1. 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

          1. 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).

            http://www.gruss-aus-essen.de

            Maik

            --
            Diese Dauerleihgabe wird Ihnen präsentiert von ROMY!
            Maik. W. aus E. sagt Dankeschön ;-)