Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
820to824
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
820to824
820to824
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA und SQL

VBA und SQL
24.11.2006 17:56:19
Rene
Hallo Leute,
ich habe folgendes Problem und ich finde einfach nicht den Fehler:
Ich habe ein Makro welches aus Arbeitsblattdaten ein SQL-Insert-Statement zusammenbaut und an eine Oracle-Datenbank schickt.
In einigen anderen Projekten funktioniert das einwandfrei.
Auch an einer anderen Stelle in diesem Projekt funktioniert das noch.
Aber einer ganz bestimmten Stelle bricht das Ganze immer ab mit einem Laufzeitfehler "invalid character".
Wenn ich das Statement über den SQL-Developer direkt an die DB schicke wird das Statement einwandfrei ausgeführt, also an der DB kann es nicht liegen.
Hat jemand von Euch eine Lösung für das Problem?
Ich komme an dieser Stelle nicht mehr weiter.
gruss René
Bitte Rückmeldung

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Die Glaskugel kann den VBA-Code und den SQL-
24.11.2006 18:33:25
NoNet
...String leider nicht verraten, aber DU könntest das vielleicht ?!? ;-)
"Invalid Character" - Bezieht sich das auf den Inhalt der einzufügenden Daten ?
Läuft das in einer Schleife, wenn ja : Tritt der Fehler bereits beim ersten Datensatz auf oder erst später ?
Gruß, NoNet
AW: Die Glaskugel kann den VBA-Code und den SQL-
24.11.2006 19:00:26
Rene
Also falls dir der String weiterhilft:
insert into tl5_q_cockpit_sensordaten(FEHLERART,FEHLERORT,FEHLERLAGE,PRUEF_BEMERKUNG,NA_TAETIGKEIT,NA_BEMERKUNG,TYP,FGST_NR,HAEUFIGKEIT_ABS,BI_ID,PQS_NR,PQS_STATUS,PMG_ID,KW,T_SENSOR,Jahr) values('test','test','unten','test','test','test','4711','VE27088','1','4','11272','10','3','47','FDP/DP','2006');
Das passiert ab dem ersten Durchlauf von n Durchläufen.
Aber wie gesagt, direkt gegen die DB geschickt, funktioniert es einwandfrei. :-(
Ich habe es auch probiert mit irgendwelchen ganz trivialen Daten, aber ohne Erfolg.
gruss René
Bitte Rückmeldung
Anzeige
Glaskugel kann VBA-Code nicht sehen
24.11.2006 19:19:41
EtoPHG
Hallo Rene,
Das der von Dir geschriebene String direktgegen die oracle-DB läuft glaube ich Dir.
Auf der anderen Seite bin ich sicher, dass er NICHT als z.B. SQL.Execute string laufen würde, weil z.B. schon der Strichpunkt am Ende einen ODBC-Fehler verursacht.
Meine Fragen:
Ist die oracle-DB für UTF-8 oder UTF-16 ausgelegt? Was für eine Version?
Woher kommen die Daten für die Aufbereitung des strings, aus EXCEL?
Heisst die Letzte Column wirklich Jahr? Wenn ja was für ein oracle-Format hat sie?
Hilfreich wäre sicher ein bisschen mehr vom VBA Code...
Gruss Hansueli
Anzeige
AW: Glaskugel kann VBA-Code nicht sehen
25.11.2006 12:32:13
Rene
Also mit dem Semikolon am Ende funktioniert das an anderer Stelle auch.
Wie gesagt, das gleiche Makro, nur mit anderen Datenfeldern funktioniert in einem anderen Projekt ohne jeglichen Probleme und zwar einmal pro Stunde.
UTF-16 habe ich hier.
Die letzt Column heißt wirklich jahr und ist ein Varchchar2.
Ich habe schon alles ausprobiert, kome aber zu keiner Lösung.
Mich würde interessieren ob jemand schon ein ähnliches Problem hatte.
Wenn ich in allen felder einen Punkt oder eine 0 übergebe, jenachdem die das Datenfeld deklariert ist, funktioniert es auch nicht. also an den Werten KANN es nicht liegen.
Gruß
René
Anzeige
AW: Glaskugel kann VBA-Code nicht sehen
25.11.2006 16:50:24
EtoPHG
Hallo Rene,
Ich glaube kaum, dass Du jemand findest, der ein ähnliches Problem auch schon hatte oder Du findest tausende. Mit grösster Wahrscheinlichkeit liegt es tatsächlich an Deinem Code.
Sind tatsächlich all Deine Columns VARCHAR Felde?
Was Du tun kannst, lagere die Insert Befehle (welche funktionieren) in eine eigenen Subroutine aus. Ersetz dann alle Insert Stellen (auch die fehlerhafte) mit einem Call zu dieser Subroutine.
Gruss Hansueli

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige