Seite 1 von 1
Makro mit Insert to funkioniert nicht mehr
Verfasst: Do 22. Nov 2012, 18:54
von Reino 22
Hallo Forum,
nach Umstieg auf Win 7 64 bit und Update von LibreOffice auf 6.4 bekomme ich Probleme mit einem Makro.
Die Datenbank ist Mysql (xampp 1.7.4).
Die Verbindung geht über den JDBC Treiber.
JRE 1.6 und 1.7 ist installiert (32 bit).
Problem:
Aus einem Formular wird ein anderes Formular geöffnet und Daten eingetragen.
Unter Xp lief dieses Makro mehrere Jahre problemlos.
Jetzt bekomme ich folgende Fehlermeldung:
„Basic- laufzeitfehler.
Es ist eine Ausnahme aufgetreten
Type: com.sun.star.sdbc.sqlExeption
Message:
“Erfahrungen_Unterricht”(“Erfahrungen”,”VerKN_Id”)Values(“Hallo”,’4’) at line 1“
Dieser Fehlermeldung bezieht sich auf folgende Zeile:
SQL_1 = "Insert Into ""Erfahrungen_Unterricht"" (""Erfahrungen"",""VerKN_Id"")Values(""Hallo"",'" & varC & "')"
varC ist eine Variable, die einen Feldwert beinhaltet.
Für Hilfe, wäre ich sehr dankbar und schon mal viel Dank im Voraus.
Re: Makro mit Insert to funkioniert nicht mehr
Verfasst: Do 22. Nov 2012, 21:00
von RobertG
Hallo Reino 22,
ohne Datenbank selbst wird das wohl schwerlich zu erklären sein. Die Aussage "sqlExeption" ist ja nicht gerade hilfreich. Hast Du das mit beiden verschiedenen Java-Versionen probiert? An dem Basic-Code wirst Du ja nichts geändert haben - auch nicht an irgendwelchen doppelten Anführungsstrichen usw. ...
Gruß
Robert
Re: Makro mit Insert to funkioniert nicht mehr
Verfasst: Do 22. Nov 2012, 23:11
von gogo
Reino 22 hat geschrieben:
SQL_1 = "Insert Into ""Erfahrungen_Unterricht"" (""Erfahrungen"",""VerKN_Id"")Values(""Hallo"",'" & varC & "')"
Hi Reino,
Versuch's mal mit Backticks bei den Feld- und Tabellennamen.
Und: So wie Du das hier gepostet hast ist die Verkn_Id ein String - wird wohl stimmen wenn's vorher funktioniert hat - wenn's kein String ist, dann die Hochkommas weglassen.
Code: Alles auswählen
SQL_1 = "Insert Into `Erfahrungen_Unterricht` (`Erfahrungen`, `VerKN_Id`) Values('Hallo','" & varC & "')"
Ausserdem würde ich Dir zum Debuggen folgende Zeile unter "SQL_1 = ..." empfehlen:
Dann bekommst Du nämlich das umgewandelte Statement in der Input-Box und kannst es da rauskopieren und in einem anderen Datenbankbrowser verwenden - ausserdem könnte es sein, dass die SQL-Excepiton mit dem Inhalt von varC nix anfangen kann - aber das kann ich mir fast nicht vorstellen - ausser es ist ein leerer String (weil varC leer ist) und das Feld verträgt keine leeren Strings.
Re: Makro mit Insert to funkioniert nicht mehr
Verfasst: Fr 23. Nov 2012, 15:04
von Reino 22
Hallo Robert, Hallo Gogo,
vielen Dank für die schnellen Antworten. Leider stehe ich immer noch auf dem Schlauch. Da ich hier Laie bin probiere ich, halbwegs systematsch Alternativern durch.
Im Basic_Code habe ich nicht verändert.
Zur Sicherheit habe ich auf dem alten Rechner (XP) nochmal nachgeschaut. Es läuft alles wie geschmiert. Dort läuft Jre 1.6.0_33. (habe ich leider nicht mehr im Netz gefunden.)
Java 1.6, 1.7. beide ausprobiert und mit Libreversionen von 3.4 bis 3.6 getestet.
Folgendes kommt mir spanisch vor. Wenn ich die Verbindung mit dem Treiber MYSQL (Native) mache, bekomme ich eine Fehlermeldung sinngemäß, dass kein entsprechender SDBC Treiber gefunden wurde. Installiert habe ich "mysql-connector-java-5.1.22-bin.jar. Beim alten Rechner funktionieren beide Wege.
Ich weiß im Moment nicht wie ich weiter kommen kann.
Grüße
Reino 22
Re: Makro mit Insert to funkioniert nicht mehr
Verfasst: Fr 23. Nov 2012, 16:21
von RobertG
Hallo Reino 22,
Reino 22 hat geschrieben:
Zur Sicherheit habe ich auf dem alten Rechner (XP) nochmal nachgeschaut. Es läuft alles wie geschmiert. Dort läuft Jre 1.6.0_33. (habe ich leider nicht mehr im Netz gefunden.)
Java 1.6, 1.7. beide ausprobiert und mit Libreversionen von 3.4 bis 3.6 getestet.
Alle älteren Versionen von Java gibt es auch im Netz. Etwas versteckt, aber die Suchmaschine schmeißt mir folgendes bei "jre alte versionen" aus:
http://www.oracle.com/technetwork/java/ ... 39210.html
Wenn Du aber den Kontakt mit beiden neueren Versionen erstellen kannst und auch alles zufriedenstellend läuft, dann wird die ältere Version auf dem neuen Rechner wohl nicht den erhofften Gewinn bringen.
Reino 22 hat geschrieben:
Folgendes kommt mir spanisch vor. Wenn ich die Verbindung mit dem Treiber MYSQL (Native) mache, bekomme ich eine Fehlermeldung sinngemäß, dass kein entsprechender SDBC Treiber gefunden wurde. Installiert habe ich "mysql-connector-java-5.1.22-bin.jar. Beim alten Rechner funktionieren beide Wege.
Du hast auf ein 64-bit-System gewechselt. Irgendwie scheint der Kontakt ja nicht komplett zu klappen. Zugriff hast Du nicht mehr über die direkte Verbindung. Ich würde konsequent erst einmal die Java-Versionen untersuchen: Wie weit funktionieren JRE-Versionen in der 32-bit-Fassung im 64-bit Windows? Dann würde ich zum einen die aktuellste LO-Version (3.6.3) nehmen und gleichzeitig die stabilste für Base installieren (LO 3.3.4) - zumindest unter Linux ist so etwas problemlos möglich.
Gruß
Robert