Domino 9 und frühere Versionen > ND7: Entwicklung

Entfernte DB2-Datenbanken auslesen...

<< < (2/6) > >>

flaite:
Du mußt auf dem Rechner des Domino Servers einen DB2-Client installieren. Die Serverdatenbank dann auf diesem Client katalogisieren. Frag einen Administrator oder such DB2 Dokumentation. Auswendig weiss ich das zur Zeit auch nicht. Ist aber nicht schwierig.
Dann gehts normal mit LSX als würde der DB2 Server lokal liegen (ausser natürlich die Performance-Verluste durch Netzwerk-Latenz, aber das tut nix zur Sache)
Installier den Client und versuch von da mit dem selben technischen User, den du für die LSX-Connection von Domino verwendest auf die remote Datenbank zuzugreifen.

dabjoern:
Hallo,

ich hatte endlich mal wieder Zeit, an diesem Projekt weiterzuarbeiten. Ich habe es noch nicht hinbekommen. Meine Lage:
- ich habe einen Domino Server 7
- ich habe auf dem selben Rechner DB2 8.2 Enterprise Edition laufen
- ich habe einen weiteren Rechner mit einem Notes Client
- der Notes Client kann prima mit dem Domino Server kommunizieren
- Domino kann prima mit DB2 kommunizieren, Domino ist via Access Server mit DB2 verbunden
- ich habe eine DB designt und auf dem Domino Server abgelegt
- vom Client aus gestalte ich sie

Das ist das Skript (liegt in einem Button):

--- Code: ---Sub Click(Source As Button)
Dim src As New LCConnection ("db2")
Dim fldLst As New LCFieldList
Dim fld As LCField
Dim count As Integer
Dim text As String

Dim session As New NotesSession
Dim db As NotesDatabase
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument

'set the appropriate properties to connect
src.Database = "BUCHDB"
src.Userid = "db2admin"
src.Password = "***"
src.Connect

'clear text variable
text = ""

'now connected, we can execute a selection statement
If (src. Execute ("SELECT * from ADRESSE",  fldLst) = 0) Then
text = "No records were fetched."
End If
Set fld = fldLst.Lookup ("NAME")

'fetch each record from the result set
While (src.Fetch (fldLst) > 0)
count = count + 1
text = text + fld.text(0) & ","
Wend

'post text in field name
Set db = session.CurrentDatabase
Set uidoc = ws.CurrentDocument
Call uidoc.FieldSetText("Name", text)
End Sub

--- Ende Code ---

In den Options des Forms steht:

--- Code: ---Option Public
Uselsx "*lsxlc"

--- Ende Code ---

Führe ich die DB vom Client aus auf, kommt der Fehler "Error creating product object". Führe ich sie vom Client auf dem Rechner mit dem Domino Server aus, geht alles.

Muss ich in dieser Konstellation einen DB2 Runtime Client installieren? Ich dachte immer, das braucht man nur, wenn man Domino und DB2 auf getrennten Rechnern hat?

Kann mir bitte jemand Hinweise geben?

Grüße und Danke
Björn

Ralf_M_Petter:
Na ja ist eigentlich klar, du brauchst auch auf deinem Client die DB2 Software, da der Code wenn er in einem Button liegt ja auf dem Client ausgeführt wird. Das der Server mit DB2 kommunizieren kann ist da unerheblich. Würde eine solche Vorgehendsweise nicht gerade für best practise halten, da du beim Roll out dann den DB2 Client mit allen Einstellungen auf jedem Arbeitsplatz haben müsstest.

Grüße

Ralf

dabjoern:
Hallo Ralf,

danke für deine Antwort. Wenn dies nicht best practise ist, was ist dann eine saubere Vorgehensweise um Daten aus DB2 auszulesen und in der Applikation zu nutzen?

Grüße
Björn

Ralf_M_Petter:
Also wir haben es so gelöst, dass wir die benötigten Daten der DB/2 in Domino spiegeln. Dazu kann man entweder Produkte wie LEI oder andere Notespumpen benützen oder man programmiert es selber. Das war für uns vor allem auch deshalb die beste Lösung, da unsere Datebanken offline fähig sein müssen. Du müsstest deine Anforderungen eventuell etwas ausführlicher darlegen, damit man etnscheiden könnte was das beste ist. Eventuell wenn du keine Offlinefähigkeit benötigst, könnte man auch das neue DB/2 und Domino Integrationsfeature benützen. Im Kurs dazu wurde mir gesagt, habe ich aber selber noch nicht probiert, dass man damit auch DB/2 Tables für Domino verfügbar machen kann. Dann läuft das ganze über den Server und nicht über den Client.

Grüße

Ralf

P.S. Das ganz DB/2 als Datastore für Domino ist aber momentan nur Beta in Domino 7.0 und muß extra freitgeschaltet werden. soll mit 7.0.x endgültig released werden.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln