Das Notes Forum

Domino 9 und frühere Versionen => ND7: Administration & Userprobleme => Thema gestartet von: tieftaucha am 22.03.07 - 13:32:19

Titel: LSXODBC
Beitrag 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
Titel: Re: LSXODBC
Beitrag von: flaite am 22.03.07 - 15:58:29
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.
 
Titel: Re: LSXODBC
Beitrag von: m3 am 22.03.07 - 16:04:23
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)?
Titel: Re: LSXODBC
Beitrag von: flaite am 22.03.07 - 16:06:03
Wenn er die schon per Messagebox bekommt, gehts eigentlich nur noch darum, daraus Domino-Dokumente zu erzeugen. Also zumindest kein ODBC Integrationsproblem.
Titel: Re: LSXODBC
Beitrag von: tieftaucha am 22.03.07 - 16:55:45
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
Titel: Re: LSXODBC
Beitrag von: Driri am 22.03.07 - 17:02:50
Da fehlt auch etwas. Wenn Du mal in das Select der View "Personen" schaust, steht dort

Select Type = "Person"
Titel: Re: LSXODBC
Beitrag von: tieftaucha am 22.03.07 - 17:07:28
ä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.
Titel: Re: LSXODBC
Beitrag von: Driri am 22.03.07 - 17:18:34
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.
Titel: Re: LSXODBC
Beitrag von: tieftaucha am 23.03.07 - 09:52:37
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