Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1676to1680
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

maximale Zeichenzahl SQL-Code

maximale Zeichenzahl SQL-Code
04.03.2019 14:46:34
Matthias
Hallo zusammen,
ich arbeite zum Teil mit sehr großen SQL-Codes, um Daten direkt von einer Datenbank im Excel abzufragen.
Die SQL-Codes habe ich auf den jeweiligen Anwendungszweck zugeschnitten und jeweils in Zellen einer Excel-Datei hinterlegt. Wenn die Codes zu lang sind, habe ich diese dann auf 2 Zellen aufgeteilt und führe diese dann im Makro wie folgt zusammen:
sqlstr = Sheets("PARAMETER").Range("G" & 1 + i)
sqlstr = sqlstr & Sheets("PARAMETER").Range("H" & 1 + i)

Die Abfrage erfolgt dann so hier:
Dim QTab As QueryTable
Set QTab = Worksheets("Daten").QueryTables.Add(Connection:=ConnectStr, Destination:=Range("A1"), Sql:=sqlstr)
With QTab
.FieldNames = True
.BackgroundQuery = False
.RefreshStyle = xlInsertEntireRows
.Refresh
.Delete
End With

Jetzt habe ich das Problem, dass ein Code vermutlich zu groß geworden ist. Explizit bei einem meiner Codes habe ich ein paar Zeilen ergänzt, und plötzlich funktioniert dieser im Excel nicht mehr. Lasse ich diesen im Oracle SQL Developer laufen, läuft der Code. Über =LÄNGE(Zelle) habe ich jeweils die Anzahl der Zeichen ermittelt. Beide Teile der Abfrage haben zusammen 33707 Zeichen. Kann es sein, dass es eine Begrenzung für die Größe eines SQL-Codes in Excel gibt ode muss ich einfach etwas bei der Programmierung ändern?
Danke für eure Antworten im Voraus.
Gruß, Matthias

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
maximale Zeichenzahl SQL-Code = 32'767 Zeichen
04.03.2019 16:15:33
EtoPHG
Hallo Matthias,
SQL ist eine nicht dokumentierte Eigenschaft, entspricht aber der .CommandText Eigenschaft des QueryTable-Objects. Diese Eigenschaft ist limitiert auf eine Länge von 32'767 Zeichen. Du musst also einen Weg finden deine SQL auf diese Länge zu kürzen, oder in mehrere Schritte aufzuteilen.
Gruess Hansueli
AW: maximale Zeichenzahl SQL-Code = 32'767 Zeichen
05.03.2019 06:57:01
Matthias
Hallo Hansueli,
den SQL zu kürzen wäre nicht so gut, da damit die Ergebnisse stark eingeschränkt werden. Was meinst du mit "in mehrere Schritte aufzuteilen"? Oder gibt es eine andere Möglichkeit in Excel größere Abfragen laufen zu lassen?
Gruß, Matthias
Anzeige
AW: maximale Zeichenzahl SQL-Code = 32'767 Zeichen
05.03.2019 07:49:51
EtoPHG
Hallo Matthias,
Das hängt natürlich stark von deinem Original-SQL ab, darum kann ich nur Vermutungen, bzw. Erfahrungswerte mitteilen.
1. Kürzen meine ich: Die Syntax von SQL erlaubt es z.B. Alias zu benutzen. Das kann u.U. schon helfen. Wenn dann z.B. WHERE LangerTableName.Key = 'xy' steht WHERE a.Key='xy'.
2. Aufteilen: Sind z.B. viele UNION Teile vorhanden, könnte auch der Result-Set einer ersten Abfrage programmatisch in VBA so zubereitet werden, dass er für einen 2tem SQL als Basis beigezogen wird.
Gruess Hansueli
AW: maximale Zeichenzahl SQL-Code = 32'767 Zeichen
05.03.2019 09:22:49
Matthias
Hallo Hansueli,
das mit der Syntax, wie von dir unter 1. beschrieben, wende ich immer an. Hier ist also nicht viel zu holen. Zu 2. kann ich sagen, dass keine UNION Teile vorhanden sind.
Gruß, Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige