2016-04-11 10 views
0

Sybase ASEBulkCopy funktioniert nicht. Ich habe das EnableBulkLoad Attribut auf 1 in der Verbindungszeichenfolge festgelegt. Es wird 1 Datensatz gleichzeitig hochgeladen, auch nachdem die Stapelgröße auf 500 gesetzt wurde. Das andere EnableBulkLoad-Attribut wird in der Verbindungszeichenfolge auf 1 gesetzt.Sybase ASEBulkCopy funktioniert nicht

Welche anderen Einstellungen fehlen mir. Bitte jemand mir dabei helfen.

Vielen Dank im Voraus.

Antwort

1

Ob tatsächlich eine Massenladung stattfindet, hängt auch von anderen Faktoren ab, wie beispielsweise dem Vorhandensein von Indizes auf der Zieltabelle. Wenn Sie die Massenlast aktivieren, teilen Sie dem ASE-Server grundsätzlich mit, dass er versuchen sollte, das Hochladen von Massen zu übernehmen, wenn dies möglich ist - aber vielleicht kann er es nicht, so dass es Nicht-Massen verwendet.

Ich bin mir nicht sicher, ob ich die Details Ihrer Frage verstehe. Was meinst du mit "hochladen"? Sendet Ihre Client-App jeweils nur einen Datensatz an den ASE-Server? Oder bedeutet es, dass ASE normale Inserts anstelle von Bulk-Inserts durchführt? Wenn Letzteres, wie diagnostizierst du das?

Ich empfehle es zuerst mit dem 'bcp' Client-Dienstprogramm zu versuchen herauszufinden, ob Bulk-Laden möglich ist, mit zu starten.

+0

Hallo Rob, ich habe versucht, die BCP commons Linie bis und sowohl Export und Import von Daten funktioniert gut und nur ein paar Sekunden. Das Problem ist von der Anwendung. Ich versuche, den Massenladevorgang mit einer Stapelgröße von 500 zu starten, aber die Kopieraktivität beansprucht viel Zeit. Ich weiß diese Tatsache, weil ich während des Kopiervorgangs die Select-Count-Anweisung in der Tabelle ausführen. Und ich sehe die Zählung inkrementieren sehr langsam – vinay

+0

Das schlägt vor, dass die Art, wie Ihre Anwendung die Massen-API verwendet, nicht optimal ist. Ich kann aber nicht viel intelligenter darüber sagen .... – RobV