Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Ringo999 am 13.07.05 - 13:37:18

Titel: Verbindung zu Domino DB über ADO
Beitrag von: Ringo999 am 13.07.05 - 13:37:18
Hallo,

ich möchte gern aus Excel heraus per Visual Basic über die ADO (OLE DB) Schnittstelle Daten aus einer Domino Datenbank auslesen (also nicht mit ODBC).

Ist das generell möglich? Gibt es einen ADO Provider für Lotus Notes?
Wie würder der Connection String aussehen?

Habe schon mehrere Stunden gesucht und konnte nichts finden :-:

Bitte helft mir! Danke!
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: m3 am 13.07.05 - 13:46:48
Nicht, dass ich wüsste. Schau mal in die Online-Hilfe unter "Accessing the Domino Objects through COM".
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Axel am 13.07.05 - 13:51:26
Hi,

hier gibt's auch noch Infos: COM Together - with Domino (http://publib-b.boulder.ibm.com/abstracts/sg245670.html?Open)


Axel
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Ringo999 am 13.07.05 - 15:16:28
Danke erstmal. Mal schauen wie weit ich komme. Soweit ich es richtig verstanden habe, muß ja leider der Lotus Notes Client auf dem abfragenden Rechner installiert sein...
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Axel am 13.07.05 - 15:17:38
Soweit ich es richtig verstanden habe, muß ja leider der Lotus Notes Client auf dem abfragenden Rechner installiert sein...

Richtig.

Axel
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Ringo999 am 18.07.05 - 11:53:33
ok. das nervt.  >:(
schon bei dem Versuch eine einfache Session zu starten...

Code
Private Sub InitializeDimNew_Click()
Dim s As New NotesSession
Call s.Initialize
MsgBox s.CommonUserName, , "Common user name"
End Sub

...erhalte ich einen Runtime Error und das jeweilige Programm stürzt komplett ab (Excel, Word, IE...).

Hat jemand eine Ahnung woran es liegen könnte? Oder noch besser wie ich das debuggen kann?

Besten Dank!
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Axel am 18.07.05 - 13:03:21
Hi,

hast du auch den Verweis auf die entsprechenden Bibliotheken eingebunden?


Axel
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Axel am 18.07.05 - 13:07:07
Hi,

... und noch ein Tipp. Such mal hier im Forum nach COM-Schnittstelle, da wirst du einiges finden. So z.B. das hier: http://www.atnotes.de/index.php?topic=17289.0


Axel
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Ringo999 am 18.07.05 - 13:51:58
Danke für den Hinweis. Ich vermute ganz stark das es daran liegt, das die NOTES.INI nicht gefunden werden kann. Diese liegt nämlich in einem speziellen "userdata" Pfad und dieser ist auch nicht im "PATH" hinterlegt. OK. Es liegt am NOTES.INI Pfad. Laße mir jetzt Adminrechte geben um die Umgebungsvariable zu ändern. Trotzdem: Kann man irgendwie den Suchpfad auf die NOTES.INI manuall in VBA setzen?
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Axel am 19.07.05 - 09:37:37
Ich bin mir nicht sicher, ob du in VBA Umgebunsvariablen setzen kannst. Wenn ja, dann aber auch nur mit den entsprechenden Rechten.


Axel
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Ringo999 am 19.07.05 - 11:12:56
The Domino COM objects must be able to locate a valid NOTES.INI file, looking first in the Domino or Notes program directory and then at the PATH system variable.

Das Problem: Die Clients, auf denen die Anwendung laufen soll, haben einen speziellen Pfad "Userdata" mit Schreibrechten für Dateien wie die NOTES.INI (z.b. c:/userdata/lotusnotes/notes.ini). Dieser Pfad ist nicht in der PATH Umgebungvariable hinterlegt.
Gibt es eine Möglichkeit den DOMINO COM OBJECTS manuell den absoluten Pfad zur NOTES.INI in VBA mitzuteilen (also ohne PATH zu ändern)?
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Axel am 19.07.05 - 11:32:52
The Domino COM objects must be able to locate a valid NOTES.INI file, looking first in the Domino or Notes program directory and then at the PATH system variable.

Gibt es eine Möglichkeit den DOMINO COM OBJECTS manuell den absoluten Pfad zur NOTES.INI in VBA mitzuteilen (also ohne PATH zu ändern)?

Meines Wissens nicht.

Axel

PS: Achtung: Frage wurde ebenfalls hier http://www.atnotes.de/index.php?topic=17289.msg155874#msg155874 gestellt.

Bitte zukünftig Fragen nur in einem Forum stellen.
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Ringo999 am 27.07.05 - 13:01:13
ok. habe jetzt endlich Admin Rechte und konnte die Path Variable ändern. Alles funktioniert. Nun stehe ich vor dem einfachen Problem Daten aus der Notes DB auszulesen und in das Excel Sheet zu schreiben. Bin ein bischen verwirrt, was ist der Unterschied zwischen
- Views
- Folders
- Documents
- Items

Wäre nett wenn jemand eine Anregung geben könnte, habe bisher nur mit relationalen DBs gearbeitet.

Danke wie immer!
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Thomas Schulte am 27.07.05 - 14:26:13
- Views
- Folders
- Documents
- Items
Nehm dir die Klassen deklaration der Online Hilfe und schau da nach den entsprechenden einträgen. Damit und mit dem Poster kann man sich eigentlich sehr schnell klar machen was was ist.
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Ringo999 am 01.08.05 - 10:31:24
Ok. Ich komme jetzt einigermaßen zurecht, kann auf Dokumente zurgreifen etc.

Eine Sache habe ich allerdings nocht nicht gefunden: Wie kann ich die Anzahl der Dokumente in einer View bestimmen?
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Thomas Schulte am 01.08.05 - 10:36:16
zum Bleistift damit (http://www.atnotes.de/index.php?topic=24568.0). und wenn du dem Link im Link folgst erfährst du noch mehr.
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Ringo999 am 01.08.05 - 13:20:10
schon komisch das es bei einer View kein direktes Attribut mit der Anzahl der darin erhaltenen Dokumente gibt.
Nun ja. ich habe das Problem mit einer einfachen Zählschleife über das Attribute "view.GetNextDokument" realisiert. Dauert zwar länger, aber für meine Zwecke zum Testen reicht es. Danke für deine Hilfe Thomas.
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Thomas Schulte am 01.08.05 - 13:28:24
Überhaupt nicht komisch weil das gibt es doch  :-P
Notesview.Allentries.count liefert dir genau das zurück.

 ;) Vielleicht solltest du dir die Klassen doch noch mal genauer anschauen?  ;)
Titel: Re: Verbindung zu Domino DB über ADO
Beitrag von: Ringo999 am 01.08.05 - 14:07:00
Oje. Da hab ich wohl die grö ssten Tomaten des Sommers auf den Augen... :-: :D
Was würd ich nur ohne Eure Hilfe machen...(im a superdau!)