Autor Thema: ODBC + @dbCommand + Ansicht  (Gelesen 5107 mal)

Offline heiconator

  • Frischling
  • *
  • Beiträge: 18
  • Geschlecht: Männlich
ODBC + @dbCommand + Ansicht
« am: 08.07.04 - 10:55:03 »
Hallo,

um mich an das Thema ODBC ranzutasten, versuche ich grad eine Ansicht zu erzeugen
mit der Formel in der Ansichtsauswahl:
SELECT @DbCommand("ODBC"; "MA-DB"; ""; ""; "SELECT * FROM mitarbeiter")

Hinter der DSN steht eine MySQL-Datenbank, Benutzer und Passwort sind bereits in der DSN eingetragen.
Die DSN funktioniert auch. Mit Access z.B. sehe ich auch den Inhalt der MySQL-Datenbank.

In der Notes-Ansicht sehe ich leider garnichts, Fehler wird keiner angezeigt.
In den Spalten kann ich leider auch keine Felder eintragen, wie sie in der Quelle vorhanden sind.

Wie bekomme ich die Daten angezeigt?

Bin ich mit meinem Ansatz vollkommen auf dem Holzweg?

Später steht hinter der DSN wahrscheinlich eine FiBu, aus der dann Daten
gelesen und Berichte generiert werden sollen. Der einzige gemeinsame Nenner ist hier ODBC.
Schreibzugriff wird wahrscheinlich nicht benötigt.

Ist mein Ansatz aus diesem Gesichtspunkt brauchbar oder sollte man hier gleich andere Wege gehen?


Ciao
Rico
Domino 6.0.2-cf1 auf Linux

Offline Lossa

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.404
  • Geschlecht: Männlich
    • alphaTrain
Re:ODBC + @dbCommand + Ansicht
« Antwort #1 am: 08.07.04 - 11:12:49 »
Hi,

in einer Ansicht gibt es keine möglichkeit Daten aus einer anderen Applikation anzuzeigen, auch nicht Daten aus einer ODBC oder sonstigen Verbindung.
Es ist nur möglich mittels ODBC oder DECS oder DRC auf externe Daten "realtime" zu zugreifen.

Zusatz:
Wenn dies Realisiert werden soll, dann geht dies nur mit dem LEI-Server, dort gibt es die Möglichkeit virtuelle Dokumente und Ansichten zu generieren.

Viele Grüße

Ulrich Lossa
Aktiv als Notes Admin und Entwickler seit Version 1.
Freier Trainer und Berater.
Zertifiziert für alle Versionen SA und DB.
HCL Certified Administrator
IBM Certified Advanced Application Developer (PCLP AD)
IBM Certified Advanced System Administrator (PCLP SA)
IBM Certified Instructor for System Administration and Application Development ( CLI)
IBM Certified Instructor for Websphere Software
IBM Certified Instructor for DB2
http://www.alphatrain.de
Lossa@alphatrain.de

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:ODBC + @dbCommand + Ansicht
« Antwort #2 am: 08.07.04 - 11:19:31 »
Nachtrag: Das könnte sich mit ND7 ändern (und wird sich zumindest im Bereich DB2 ändern, ob das andere RDBMS auch betrifft, weiss ich nicht auswendig).
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Marinero Atlántico

  • Gast
Re:ODBC + @dbCommand + Ansicht
« Antwort #3 am: 08.07.04 - 11:21:12 »

Wenn dies Realisiert werden soll, dann geht dies nur mit dem LEI-Server, dort gibt es die Möglichkeit virtuelle Dokumente und Ansichten zu generieren.

... oder über JDBC oder ODBC Programmierung - bei JDBC eventuell noch unterstützt durch moderne Frameworks wie ibatis oder hibernate (beides ohne Garantie, ob da in der Java-Implementierung von Notes nicht irgendeine Tretmiene rumliegt).

@Leute: Man braucht doch nicht für jeden dämlichen RDBMS Zugriff ein LEI anzuschaffen   :o
Das ist doch Wahnsinn. RDBMS-Zugriff ist ein commodity.

Offline Lossa

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.404
  • Geschlecht: Männlich
    • alphaTrain
Re:ODBC + @dbCommand + Ansicht
« Antwort #4 am: 08.07.04 - 11:52:27 »
Hi,

@Marinero Atlántico:
Zitat
@Leute: Man braucht doch nicht für jeden dämlichen RDBMS Zugriff ein LEI anzuschaffen  
Das ist doch Wahnsinn. RDBMS-Zugriff ist ein commodity.
Stimmt schon, aber es gibt nichts anderes als LEI um Virtualisierungen in Domino zu implementieren.

@Semeaphoros:
Das Einbinden in ND7 und DB2 (was anderes geht nicht) bezieht sich nur auf die DB2 speicherfunktion von Notesdaten (NSF2DB2). Dort besteht die Möglichkeit SQL Abfragen in Ansichten zu implementieren, aber eben nur bezogen auf Notescontent in der spezifischen DB2-Notes-Struktur. Dieses geht dann übrigends auch nur für Datenbanken auf einem Domino Server nicht für lokale Repliken, somit ist das alles leider wieder nicht so super toll.

Viele Grüße

Ulrich Lossa
Aktiv als Notes Admin und Entwickler seit Version 1.
Freier Trainer und Berater.
Zertifiziert für alle Versionen SA und DB.
HCL Certified Administrator
IBM Certified Advanced Application Developer (PCLP AD)
IBM Certified Advanced System Administrator (PCLP SA)
IBM Certified Instructor for System Administration and Application Development ( CLI)
IBM Certified Instructor for Websphere Software
IBM Certified Instructor for DB2
http://www.alphatrain.de
Lossa@alphatrain.de

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re:ODBC + @dbCommand + Ansicht
« Antwort #5 am: 08.07.04 - 11:55:30 »
Ok, danke für die genauere Beschreibung.
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Marinero Atlántico

  • Gast
Re:ODBC + @dbCommand + Ansicht
« Antwort #6 am: 08.07.04 - 12:12:53 »
Virtualisierungen
Was ist das?
Meiner bescheidenen Ansicht nach macht jedes RDBMS Mapping Werkzeug nichts anderes als dynamisch aus der Konfiguration und einer konkreten Useranforderung SQL zu erzeugen, das gegen die RDBMS gesendet wird.

Useranforderung:
Z.b. Speichern eines Dokuments, Öffnen eines Dokuments --> Zeitpunkte wo mit LEI synchronisiert wird.
sind Useranforderungen, weil auf Aktivität eines Users beruhend.
Wenn man nun in die entsprechenden Events einer Maske ODBC oder Java-Code (aufgerufener Agent) schreibt, hat man eigentlich nur noch das Problem, dass evtl. nicht überall der entsprechende RDBMS-Client vorhanden ist.

Was kann LEI, was ich durch von Hand Programmierung nicht erreichen kann
(ausser vielleicht, dass die Qualität des generierten SQLs gut ist).

Ich bin nicht der Meinung, dass alles SQL von Hand programmiert werden soll.
Ich finde aber LEI hier deutlich überbewertet und ausserdem konnte ich das mal in einer geclusterten Umgebung nicht so einsetzen wie ich wollte.

Gruß Axel  

Offline Lossa

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.404
  • Geschlecht: Männlich
    • alphaTrain
Re:ODBC + @dbCommand + Ansicht
« Antwort #7 am: 08.07.04 - 12:23:53 »
Hi,
@Marinero Atlántico
Zitat
Was kann LEI, was ich durch von Hand Programmierung nicht erreichen kann
(ausser vielleicht, dass die Qualität des generierten SQLs gut ist).

Es gibt in LEI die Möglichkeit Informationen aus einer RDBMS in einer Ansicht anzeigen zu lassen, ohne das diese Informationen in Feldern des Notesdokumentes stehen (virtuelle Felder). Desweiteren lassen sich Datensätze aus der RDBMS in Notes anzeigen die gar nicht in der Notesdatenbank als Dokumente vorkommen (virtuelle Dokumente).

Nun sag mir einmal wie du dies "von Hand" nachprogrammieren willst?
Ansonsten erst die Anforderung prüfen, dann entscheiden was benötigt wird ODBC, JDBC, DECS, LEI, etc...

Viele Grüße

Ulrich Lossa
Aktiv als Notes Admin und Entwickler seit Version 1.
Freier Trainer und Berater.
Zertifiziert für alle Versionen SA und DB.
HCL Certified Administrator
IBM Certified Advanced Application Developer (PCLP AD)
IBM Certified Advanced System Administrator (PCLP SA)
IBM Certified Instructor for System Administration and Application Development ( CLI)
IBM Certified Instructor for Websphere Software
IBM Certified Instructor for DB2
http://www.alphatrain.de
Lossa@alphatrain.de

Offline heiconator

  • Frischling
  • *
  • Beiträge: 18
  • Geschlecht: Männlich
Re:ODBC + @dbCommand + Ansicht
« Antwort #8 am: 08.07.04 - 12:29:16 »
Hi,

in einer Ansicht gibt es keine möglichkeit Daten aus einer anderen Applikation anzuzeigen, auch nicht Daten aus einer ODBC oder sonstigen Verbindung.
Es ist nur möglich mittels ODBC oder DECS oder DRC auf externe Daten "realtime" zu zugreifen.

Widersprichst Du Dir hier nicht selbst?  ???
Ja, ich will 'realtime' auf die externen Daten zugreifen und natürlich auch anzeigen.
Was soll ich sonst mit den Daten, wenn ich Sie nicht anzeigen kann? ;)

Das mit der Ansicht war für mich der logischste Ansatz, die Daten in Lotus erstmal zu sehen.

Zusatz:
Wenn dies Realisiert werden soll, dann geht dies nur mit dem LEI-Server, dort gibt es die Möglichkeit virtuelle Dokumente und Ansichten zu generieren.


Wenn was realisiert werden soll? Du sprichst etwas in Rätseln. :(

Ich werd mich mal über LEI informieren.

Achso, was ich vorhin vergessen hatte zu sagen: Es wird Domino/Notes 6.0.2 eingesetzt, Domino selbst auf Linux.
Domino 6.0.2-cf1 auf Linux

Driri

  • Gast
Re:ODBC + @dbCommand + Ansicht
« Antwort #9 am: 08.07.04 - 12:50:24 »
Ich bin nicht besonders tief in dem Thema drin, aber so wie ich die Sache sehe, kann man DECS und LEI gaaaanz grob so unterteilen :

DECS -> virtuelle Anzeige von Daten in Notes, Daten werden nicht gespeichert

LEI -> Datenpumpe


Jetzt ist einfach die Frage, was genau Du vorhast. Wenn Du nur die Daten aus einer rel. DB in Notes anzeigen willst, sollte auch DECS reichen, das ist dann auch noch kostenlos.
Sobald Du Daten synchronisieren oder pumpen willst, reicht DECS dann nicht mehr aus, dann muß LEI oder andere Tools ran.

Marinero Atlántico

  • Gast
Re:ODBC + @dbCommand + Ansicht
« Antwort #10 am: 08.07.04 - 12:55:57 »
Es gibt in LEI die Möglichkeit Informationen aus einer RDBMS in einer Ansicht anzeigen zu lassen, ohne das diese Informationen in Feldern des Notesdokumentes stehen (virtuelle Felder). Desweiteren lassen sich Datensätze aus der RDBMS in Notes anzeigen die gar nicht in der Notesdatenbank als Dokumente vorkommen (virtuelle Dokumente).
Die entsprechenden Daten werden ganz sicher im UIDocument irgendwie im Speicher gehalten. Diese Werte werden bei bestimmten LifeCycleEvents mit der RDBMS synchronisiert. So ähnlich wie das in EJB auch funktioniert (oder oft nicht so gut).

Wollte ich nur mal noch drauf hinweisen, weil ich hier eine gewisse Tendenz sehe, LEI den alleinseeligmachend Stempel zu versehen. Es gibt Alternativen, die oft besser sind.  

Ausserdem lasse ich mich grade Hibernate-indoktrinisieren. Und weil LEI gewisse Parallelen zu CMP Entity-EJBs hat und die EJB-Kritik von Hibernate bei LEI auch irgendwie gilt:
schwergewichtig, intransparent  ;D
musste ich das jetzt mal loswerden.

 
Nun sag mir einmal wie du dies "von Hand" nachprogrammieren willst?
Ansonsten erst die Anforderung prüfen, dann entscheiden was benötigt wird ODBC, JDBC, DECS, LEI, etc...
Mit LotusScript:
doc.Remove (itemName) an der richtigen Stelle.

Mit der C-Api gibt es da sicher bessere Möglichkeiten. Da kennst du dich ja besser aus.  :)

Gruß Axel

Offline Lossa

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.404
  • Geschlecht: Männlich
    • alphaTrain
Re:ODBC + @dbCommand + Ansicht
« Antwort #11 am: 08.07.04 - 13:18:37 »
Hi,

@Axel

nocheinmal ganz kurz:
Mittels LEI werden die Dokumente in Ansichten sichtbar und sie sind für den Anwender, um es unspektakulär auszudrücken, einfach da, obwohl die Daten nicht in Notes(dokumente) vorgehalten werden. Es ist nichteinmal notwendig ein Dokument mit dem Keyfeld der Relationalen Datenbank in Notes vorzuhalten, damit es in Notes sichtbar wird. Nun mit der C-API geht (natürlich  ;D ) alles, aber das ist die Hölle zu programmieren.

@heiconator
Nein ich widerspreche mich nicht.
Zur Klarstellung:
Du möchtest Daten in Notesdokumente!!! aus der ODBC-DB haben, dann nimmst du entweder @xxx DBCS Formeln oder aber DECS.
Wenn du Datensätze aus der ODBC Datenbank OHNE Notesdokumente in einer Notes Ansicht sehen, dann nimmst du LEI (oder eben CAPI  :P)
.
Viele Grüße

Ulrich Lossa
Aktiv als Notes Admin und Entwickler seit Version 1.
Freier Trainer und Berater.
Zertifiziert für alle Versionen SA und DB.
HCL Certified Administrator
IBM Certified Advanced Application Developer (PCLP AD)
IBM Certified Advanced System Administrator (PCLP SA)
IBM Certified Instructor for System Administration and Application Development ( CLI)
IBM Certified Instructor for Websphere Software
IBM Certified Instructor for DB2
http://www.alphatrain.de
Lossa@alphatrain.de

Marinero Atlántico

  • Gast
Re:ODBC + @dbCommand + Ansicht
« Antwort #12 am: 08.07.04 - 13:44:17 »
obwohl die Daten nicht in Notes(dokumente) vorgehalten werden.
Ich sehe das als Backend von NotesDokumenten, weil :-X
Es ist nichteinmal notwendig ein Dokument mit dem Keyfeld der Relationalen Datenbank in Notes vorzuhalten, damit es in Notes sichtbar wird. Nun mit der C-API geht (natürlich  ;D ) alles, aber das ist die Hölle zu programmieren.
Gut. Aber Leute sollten sich e.r.n.s.t.h.a.f.t. fragen, ob sie die LEI Zusatzfeatures wirklich brauchen. Es geht oft auch über ein bischen ODBC/JDBC Programmierung. Manchmal nimmt der Blackbox Charakter von LEI auch benötigte Flexibilität weg. Z.B. bin ich da mal vor die Wand gelaufen, weil es realtime im Grunde nicht clusterfähig ist/war.
Bei der Frechener Autofirma mit T. (wo ich nicht dabei war) lief das doch eigentlich ganz gut ohne das ganze LEI Zeug. Oder gibts da irgendwelche Leichen  ;D

Offline heiconator

  • Frischling
  • *
  • Beiträge: 18
  • Geschlecht: Männlich
Re:ODBC + @dbCommand + Ansicht
« Antwort #13 am: 08.07.04 - 14:26:18 »
Danke an alle, jetzt hab ich's langsam verstanden. :)

Aber ich sehe schon, daß das nicht so einfach ist wie ich dachte.
Da muß ich mich wohl tiefer in die Materie begeben.

DECS wird zum Schluß nicht reichen, da die Datenquelle nicht überall erreichbar ist,
sondern nur an einem Standort ins Lotus übertragen werden kann und nur die daraus resultierenden Berichte weiter repliziert werden müssen.
Der Gedanke war, die ODBC-Daten dort am besten durch den Server direkt , notfalls auch von einem Client auszulesen und daraus Berichte zu generieren.
Diese Berichte können ja schon fertige Notesdokumente sein oder aus zwischengespeicherten Daten generiert werden.
Das könnte ich mir auch mit einem Agenten vorstellen.
Damit werden die ursprünglichen Quelldaten nicht weiter im Lotus benötigt.
Vielleicht geht DECS in dem Falle doch.


Aber zurück zur ursprünglichen Frage und unabhängig davon ob in Notes gespeichert oder nicht:
Warum sehe ich die Daten in der Ansicht nicht?
Kann ich dbCommand an dieser Stelle nicht verwenden?
Wenn nein, wo dann?
Manchmal motiviert ein Teilerfolg zum weitermachen. 8)

Da ich von dbCommand ja einen ganzen Stapel von Datensätzen bekomme,
die ja wohl aus Notes-Sicht entsprechend ein Stapel von Dokumenten sind.
Deshalb war eine Ansicht für mich naheliegend.

Vielleicht kann ich mich aber auch in meiner Denkweise nicht weit genug von einem RDBS entfernen und mir fehlt deshalb der richtige Ansatz.


Ciao
Rico

Domino 6.0.2-cf1 auf Linux

Offline Lossa

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.404
  • Geschlecht: Männlich
    • alphaTrain
Re:ODBC + @dbCommand + Ansicht
« Antwort #14 am: 08.07.04 - 14:36:03 »
Hi,


Aber zurück zur ursprünglichen Frage und unabhängig davon ob in Notes gespeichert oder nicht:
Warum sehe ich die Daten in der Ansicht nicht?
Antwort: Weils wie schon gesagt nicht geht!

Kann ich dbCommand an dieser Stelle nicht verwenden?
Antwort: Ja (Also nach deinen Vorgaben: nein)
Wenn nein, wo dann?
Antwort: Mit @dbcommand kannst du z.B. eine @Prompt Auswahl füllen lassen und dann weiterverarbeiten, mit @dbcolumn eben auch aber ohne SQL Statement

Manchmal motiviert ein Teilerfolg zum weitermachen.
Genau!
Viele Grüße

Ulrich Lossa
Aktiv als Notes Admin und Entwickler seit Version 1.
Freier Trainer und Berater.
Zertifiziert für alle Versionen SA und DB.
HCL Certified Administrator
IBM Certified Advanced Application Developer (PCLP AD)
IBM Certified Advanced System Administrator (PCLP SA)
IBM Certified Instructor for System Administration and Application Development ( CLI)
IBM Certified Instructor for Websphere Software
IBM Certified Instructor for DB2
http://www.alphatrain.de
Lossa@alphatrain.de

Offline heiconator

  • Frischling
  • *
  • Beiträge: 18
  • Geschlecht: Männlich
Re:ODBC + @dbCommand + Ansicht
« Antwort #15 am: 08.07.04 - 15:53:03 »
Wenn nein, wo dann?
Antwort: Mit @dbcommand kannst du z.B. eine @Prompt Auswahl füllen lassen und dann weiterverarbeiten, mit @dbcolumn eben auch aber ohne SQL Statement

Wieder eine Wissenslücke geschlossen. :)
Das war weder in der Designerhilfe noch in den anderen schlauen Büchern zu finden die ich hier hab. :(
Laut Designerhilfe ist es auch in einer Ansichtsaktion einsetzbar. ???



Ciao Rico.
Domino 6.0.2-cf1 auf Linux

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:ODBC + @dbCommand + Ansicht
« Antwort #16 am: 08.07.04 - 15:57:08 »
In einer Ansichtsaktion ja, aber prinzipiell nicht in der Ansichtsauswahl oder in Spaltenformeln.

Bernhard

Offline heiconator

  • Frischling
  • *
  • Beiträge: 18
  • Geschlecht: Männlich
Re:ODBC + @dbCommand + Ansicht
« Antwort #17 am: 08.07.04 - 16:19:25 »
In einer Ansichtsaktion ja, aber prinzipiell nicht in der Ansichtsauswahl oder in Spaltenformeln.

Bernhard

Ich sehe schon, ich muß noch viel lernen in der Lotuswelt. ::)

Ciao, Rico.
Domino 6.0.2-cf1 auf Linux

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz