Autor Thema: LSXODBC  (Gelesen 3698 mal)

Offline tieftaucha

  • Frischling
  • *
  • Beiträge: 14
LSXODBC
« 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

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: LSXODBC
« Antwort #1 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.
 
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: LSXODBC
« Antwort #2 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)?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: LSXODBC
« Antwort #3 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.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline tieftaucha

  • Frischling
  • *
  • Beiträge: 14
Re: LSXODBC
« Antwort #4 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

Driri

  • Gast
Re: LSXODBC
« Antwort #5 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"

Offline tieftaucha

  • Frischling
  • *
  • Beiträge: 14
Re: LSXODBC
« Antwort #6 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.

Driri

  • Gast
Re: LSXODBC
« Antwort #7 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.

Offline tieftaucha

  • Frischling
  • *
  • Beiträge: 14
Re: LSXODBC
« Antwort #8 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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz