Das Notes Forum
Domino 9 und frühere Versionen => ND7: Administration & Userprobleme => Thema gestartet von: tieftaucha am 22.03.07 - 13:32:19
-
Hallo,
habe mich jetzt wirklich durch dieses Thema gearbeitet, aber ich komme jetzt nicht mehr weiter. Wir möchten unsere Kundendaten via ODBC nach Notes bringen. Dazu habe ich mir ein NAB für die AS400 Kunden angelegt. Als Agent habe ich die bekannten Scripte eingebaut.
Das läuft auch durch und such mal 20.000 mal 40.0000 Tsd. Kundensätze. Nur legt es mir diese Sätze nicht im NAB ab. Nach Ablauf des Scriptes wird kein Kunde angezeigt. Um sicher zu gehen das die Verbindung in Ordnung ist, habe ich mir die Daten mal als Message Box ausgeben lassen. Da konnte ich dann 40.000 Tsd. Adressen durchklicken. Wie mache ich es nur das er mir die Daten ins Adressbuch schreibt. Gebt mir doch bitte einen Tipp. Danke vorab.
Andreas
-
Im Grunde macht es keinen Sinn, 40.000 Kundendaten in ein NAB zu schreiben. Das NAB ist eine Datenbank mit einer komplexen, über Jahrzehnte gewachsenen Struktur.
Mach besser eine neue Datenbank "Kunden" und zwar nicht mit der NAB Schablone, sondern selbst erzeugt.
-
Axel, aber ev. will er die Daten ja in einem Adressbuch für die Adressierung, etc. Er sagt ja nicht, welche Daten er in das Adressbuch schreibt. :D
Andreas, wie schreibst Du denn in das Adressbuch (codesnippet)?
-
Wenn er die schon per Messagebox bekommt, gehts eigentlich nur noch darum, daraus Domino-Dokumente zu erzeugen. Also zumindest kein ODBC Integrationsproblem.
-
Hallo,
hab mir jetz mal eine leere DB gebastelt und die Daten reinlaufen lassen. Das funktioniert jetzt auch. Nur brauche ich die Daten aber im Nab. Es werden später auch wesentlich weniger Kundendaten sein. Das soll mal getrennt werden nach aktiven, inaktiven usw.
Hier der verwendete Code:
Sub Initialize
Dim Session As New NotesSession
Dim db As NotesDatabase
Set db = Session.currentdatabase
Dim view As NotesView
Dim Del As NotesDocument
Dim Con As New ODBCConnection
Dim Qry As New ODBCQuery
Dim res As New ODBCResultSet
' alle KST Dokumente vor einem neuen Import löschen
Dim collection As NotesDocumentCollection
Set collection = db.AllDocuments
If collection.Count <> 2 Then
Call collection.RemoveAll ( True )
End If
'Verbindungsaufbau zur AS/400
RetCode% = Con.ConnectTo("NOTES")
Set Qry.Connection = Con '
Qry.SQL = "SELECT ADNM1,ADSTR,ADPLZ,ADORT FROM LZDTA.GADRSTP"
Set Res.Query = Qry
Res.Execute
Res.CacheLimit = limit&
RetCode% = Res.FirstRow
Do While RetCode% =True
Dim Doc As New NotesDocument(db)
doc.form = "Person"
doc.CompanyName = Cstr(Res.GetValue(1))
doc.OfficeStreetAddress = Cstr(Res.GetValue(2))
doc.OfficeZip = Cstr(Res.GetValue(3))
doc.OfficeCity = Cstr(Res.GetValue(4))
Call doc.save (True, True)
RetCode% = Res.NextRow
Loop
RetCode% = Res.Close( DB_CLOSE )
RetCode% = Con.Disconnect
End Sub
Bin hier fast am drehen. Es werden ewig die Daten geladen aber im Nab nicht angezeigt.
Bis dann
Andreas
-
Da fehlt auch etwas. Wenn Du mal in das Select der View "Personen" schaust, steht dort
Select Type = "Person"
-
ähhhhhhhhhhhhmmmmm?
Was muß ich den da eintragen? Steh jetzt auf dem Schlauch. Mit "Person" habe ich mich auch schon gefragt, aber da setzt es jetzt einfach aus.
-
Du mußt einfach das Feld "Type" mit dem Wert "Person" füllen, genau wie bei Form.
Also einfach noch ein doc.Type = "Person" einfügen.
-
Hallo Ingo,
tausend Dank für Deinem Tipp. Funktioniert wuderbar, genau so wie ich es wollte. Hast mir das Wochenende gerettet.
Schönen Gruß und schönes Wochenende
Andreas