Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: alesssandro am 30.08.04 - 12:13:51

Titel: Sql ODBC
Beitrag von: alesssandro am 30.08.04 - 12:13:51
Hi Leute.

Ich habe zwei Fragen. Aber zuerst kurz die Situation erklären ...
Die Aufgabe ist, Daten aus einer Oracle-db nach Lotus zu synchronisieren.  ODBC-Schnittstelle läuft inzwischen gut. Auf Lotus-Seite will ich LotusScript verwenden.

1. Erste Frage bezieht sich auf binäre Daten in Oracle. Im Feld namens 'text' wird HTML-Code binär gespeichert - der Oracle Datentyp ist 'Long Raw'.  Kann ich den Inhalt dieses Feldes mit CAST oder CONVERT umwandeln? Kann mir jemand sagen, wie das ungefähr aussehen müsste?

2. LSXODBC oder LSXLC
Stehe vor der Entscheidung welche Klassen ich verwenden soll (wenig bis keine Erfahrung mit beiden): LSXODBC oder LSXLC. Ich hab gelesen, dass LSXLC die neuere Variante für eine solche Datenverbindung nach aussen ist und mehr Funktionen gerade in Bezug auf binäre Daten bietet. Könnt ihr das bestätigen?
Könnte ich mit LSXLC direkt SQL-Statements verwenden? Oder geht es nur über so interne Funktionen (scr.Select (keys, 1, fields) = 0 ... hab kurz LSXLC-Script überflogen). Die Daten in der Oracle-db sind nämlich über mehrere Tabellen verteilt, die ich mit schönen JOINS zu verbinden gedachte...

Wäre super, wenn ihr mir ein paar Tipps geben könntet.
lg, alex
Titel: Re:Sql ODBC
Beitrag von: Marinero Atlántico am 30.08.04 - 17:48:42
interessante Fragen.
Hab lange kein ODBC mehr gemacht.
Mit Java könnte ich dir ziemlich schnell helfen.

Das hier habe ich mit Google gefunden:
http://www.cul.de/data/notesintpr.pdf

Im code-listing auf Seite 5 steht:
Code
selectstring = "SELECT * FROM Mitarbeiter-Stammdaten"
Da solltest du natürlich alles schreiben können, was mit SQL in Oracle geht (also auch joins)?`

Auch das Auslesen von Binär-Spalten sollte funktionieren.
Die Klasse LCStream sieht wie ein guter Kandidat aus (s. 7 von PDF).
Möglicherweise hast du hier Probleme mit der Umsetzung des encodings (UTF-8, Unicode, etc).

Gruß Axel

hoffe es hilft.

Titel: Re:Sql ODBC
Beitrag von: koehlerbv am 30.08.04 - 17:54:50
Axel, Du hast von oben bis unten wahr.
Ich hätte gern mal wieder Zeit für sowas. Spannende und effiziente Sache. Hat bisher immer sehr viel Spass gemacht und noch mehr erfolgreiche Lösungen ;-) Vielleicht kommt ja demnächst mal wieder so ein Auftrag herein  ;)

Bernhard
Titel: Re:Sql ODBC
Beitrag von: alesssandro am 31.08.04 - 13:52:22
Danke für eure Antworten...

Ich habe gesehen, dass es bei LSX LC die Klasse LCConnection mit der Methode Execute gibt. Über diese können beliebige SQL-Statements ausgeführt werden.

Kenn jemand eine gute Dokumentation zu LSX LC? Die Hilfe kommt mir hier nicht sehr gut vor. Vor allem in Bezug auf ODBC...

alex
Titel: Re:Sql ODBC
Beitrag von: alesssandro am 28.10.04 - 10:42:56
interessante Fragen.
Hab lange kein ODBC mehr gemacht.
Mit Java könnte ich dir ziemlich schnell helfen.

Wie würde denn eine Lösung in Java ansatzweise aussehen?
Welche Klassen müsst ich verwenden?
Kannst du mir ein paar Tipps geben, wo ich weitersuche kann?

lg, alex
Titel: Re: Sql ODBC
Beitrag von: Ralf_M_Petter am 28.10.04 - 11:10:10
Warum machst du es eigentlich nicht gleich wie hier http://www.atnotes.de/index.php?topic=17535.0

Da hatten wir doch schon mal fast das gleiche Problem.

Grüße

Ralf
Titel: Re: Sql ODBC
Beitrag von: alesssandro am 28.10.04 - 12:15:18

Da hatten wir doch schon mal fast das gleiche Problem.


Ich weiß eh ... die Frage war damals auch von mir :-)

Leider kann ich CAST() in diesem Fall nicht anwenden. Im damaligen Problem handelte es sich auf Oracle-Seite um den Typ "RAW(16)"; und jetzt um ein "LONG RAW".  Hier funktioniert CAST nicht.

alex
Titel: Re: Sql ODBC
Beitrag von: Ralf_M_Petter am 28.10.04 - 12:31:21
Achso, ja dann bleibt nicht viel anderes über als auf Java zurückzugreifen. Von dort aus sollte es dann keine Probleme mehr mit Blobls geben.

Grüße

Ralf
Titel: Re:Sql ODBC
Beitrag von: Marinero Atlántico am 28.10.04 - 12:42:18
Wie würde denn eine Lösung in Java ansatzweise aussehen?
Welche Klassen müsst ich verwenden?
Kannst du mir ein paar Tipps geben, wo ich weitersuche kann?

hier ist ein erstmal völlig ausreichendes Tutorial zu JDBC:
http://java.sun.com/docs/books/tutorial/jdbc/index.html
Falls du da auf Probleme stösst, kann ich sicher helfen.

Gruß Axel