AtNotes Übersicht Willkommen Gast. Bitte einloggen oder registrieren.
24.05.12 - 09:00:41
Übersicht Hilfe Regeln Glossar Suche Einloggen Registrieren
News:
Schnellsuche:
+  Das Notes Forum
|-+  Lotus Notes / Domino 7
| |-+  ND7: Entwicklung (Moderatoren: eknori, Glombi, koehlerbv)
| | |-+  Zugriff auf Notes-DBs mit php
« vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: Zugriff auf Notes-DBs mit php  (Gelesen 897 mal)
schroederk
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 896

Ich liebe dieses Forum!


« am: 07.02.07 - 08:42:02 »

Hallo Leute,

ich weiß nicht sorecht, ob ich im richtigen Bereich poste... Ich hoffe, die Admins mögen mir verzeihen und gegebenfalls den Topic verschieben.

Nachdem php das Thema wohl aufgegeben hat (Zunächst nach pecl verschoben und dort auch nicht mehr erreichbar, hab ich zwar eine Freeware-Variante einer Firma gefunden, allerdings hab ich keine Möglichkeit gefunden, einen authorisierten Zugriff zu gewährleisten.

Dann bin ich auf einen ODBC-Treiber von Lotus gestossen: NotesSQL
Die Idee ist, per php dann den ODBC-Treiber anzusprechen.

Mitgeliefert wird ein Notes Authentication List Manager und der ODBC Treiber.

Ich hab meine notes.ini ID meine ID und mein Kennwort angegeben und hab einen neue ODBC-Verbindung eingerichtet, auf die lokale names.nsf wiederrum mit meiner ID.

Wenn ich jetzt per Excel oder Access auf den ODBC-Treiber verbinde, erhalte ich folgende Fehlermeldung:

Fehler beim SQLAllocHandle-Aufruf für Treiber SQL_HANDLE_DBC ... Diese Datei konnte nicht gelesen werden.

Ich habs mit verschiedenen DBs versucht, sowohl auf dem Server als auch lokal.

Hat jemand vielleicht schon Erfahrungen mit dem NotesSQL machen können und mir bei der Lösung des Problems behilflich sein?

Danke Euch!

Gespeichert

Manche drücken nur deshalb ein Auge zu, um besser zielen zu können.
Manche stehen nur hinter einem, damit sie besser in den Rücken fallen können.
Thomas Schulte
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Online Online

Geschlecht: Männlich
Beiträge: 4173


Ich glaub mich tritt ein Pferd


WWW
« Antworten #1 am: 07.02.07 - 09:05:41 »

Php und Notes geht bei Windows Systemen ganz gut mit der COM Schnittstelle.
Gespeichert

Thomas Schulte

Lotus Domino V7.0.2/V6.5.3 Server + Clients, Server OS Linux, Win2000/2003, Clients 2000/XP Linux
PCLP R4, R5
Websphere Application Server, Quickplace, Sametime

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach
schroederk
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 896

Ich liebe dieses Forum!


« Antworten #2 am: 07.02.07 - 10:57:09 »

Hallo Thomas,

Zugriff über die Com Schnittstelle sagt mir leider gar nichts.
Hast Du eventuell einen Link oder Beispiel ?

Gruß
Gespeichert

Manche drücken nur deshalb ein Auge zu, um besser zielen zu können.
Manche stehen nur hinter einem, damit sie besser in den Rücken fallen können.
schroederk
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 896

Ich liebe dieses Forum!


« Antworten #3 am: 07.02.07 - 13:08:33 »

Wollte nur kurz nachreichen. Die Fimra, die offenbar einen NotesConnector kommerziell anbietet.
Natürlich gerne mit entsprechender Dienstleistung.
Sie bieten zwar kostenlos den Connector für das Auslesen von Notes-Views an, aber
schlau bin ich leider nicht aus dem Beispiel etc. geworden

Wer sich das aber mal antuen möchte: www.visol.de
Gespeichert

Manche drücken nur deshalb ein Auge zu, um besser zielen zu können.
Manche stehen nur hinter einem, damit sie besser in den Rücken fallen können.
schroederk
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 896

Ich liebe dieses Forum!


« Antworten #4 am: 07.02.07 - 13:33:49 »

Sorry für die vielen Posts von mir... Ich habe mal den Trace eingeschaltet und hab das Log mal hier angehängt.

Leider werde ich aus dem Log auch nicht schlau  Huh
Gespeichert

Manche drücken nur deshalb ein Auge zu, um besser zielen zu können.
Manche stehen nur hinter einem, damit sie besser in den Rücken fallen können.
heini_schwammerl
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 615



« Antworten #5 am: 07.02.07 - 14:15:42 »

Aufgrund Deiner Fragen würde ich eher über folgendes nachdenken.
Wenn die Daten ausschließlich in Notes gepflegt werden und php nur lesend zugreifen muß dann würde ich mir einen Gefallen tun und die Daten mit Hilfe von DECS in ein Fremdsystem schieben. Das kann dann ruhig MySQL über ODBC sein. Danach liest man seine Daten im PHP wie gewohnt aus.
Nachteil: Kein Realtime-Zugriff auf die Daten
Vorteil: Ist DECS erst einmal aufgesetzt und funktionsfähig ist die Lösung komfortabel und performant.
Wenn es nur im View Daten geht so könnte man die auch als XML über ReadViewEntries auslesen und dann im PHP weiterverarbeiten. Insbesondere im aktuellen 7er Release bei der man die Authentifizierung wohl für einzelne Views getrennt regeln kann eine machbare Alternative. Allerdings sind die XML Daten der DominoViews schwer zu parsen, man kann sich aber auch eigene XML Ansichten zusammenstellen.
Der Zugriff über COM (wie von Thomas beschrieben) funktioniert natürlich auch (unter Windows). Der Dominopart ist da relativ einfach, welche Möglichkeiten PHP hier bietet kann ich Dir leider nicht sagen. Es ist aber sicherlich kein Hexenwerk. Antworten zu com und php bekommst Du sicherlich eher in einem PHP Forum.
In der Hilfe gibt es ein paar Beispiele mit Zugriff über Visual Basic, ASP,  Active-X. 
Gespeichert
Thomas Schulte
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Online Online

Geschlecht: Männlich
Beiträge: 4173


Ich glaub mich tritt ein Pferd


WWW
« Antworten #6 am: 07.02.07 - 14:32:23 »

Wie das geht und Codebeispiele gab es schon mal hier.
Gespeichert

Thomas Schulte

Lotus Domino V7.0.2/V6.5.3 Server + Clients, Server OS Linux, Win2000/2003, Clients 2000/XP Linux
PCLP R4, R5
Websphere Application Server, Quickplace, Sametime

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach
Thomas Schulte
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Online Online

Geschlecht: Männlich
Beiträge: 4173


Ich glaub mich tritt ein Pferd


WWW
« Antworten #7 am: 07.02.07 - 14:33:37 »

Das war zwar "nur" schreibend. Aber lesend ist im Prinzip das selbe.
Gespeichert

Thomas Schulte

Lotus Domino V7.0.2/V6.5.3 Server + Clients, Server OS Linux, Win2000/2003, Clients 2000/XP Linux
PCLP R4, R5
Websphere Application Server, Quickplace, Sametime

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach
schroederk
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 896

Ich liebe dieses Forum!


« Antworten #8 am: 09.02.07 - 08:07:38 »

Hab mir die Postings rund um die Codebeispiele durchgelesen.

Es wundert mich, dass Du (Thomas Schulte) überhaupt die COM Schnittstelle empfiehlst (... geht ganz gut mit der COM Schnittstelle...) obwohl Du massive Probleme hattest (Zugriffsprobleme mit Viertelstundentakt und letztendlich mindestens 1 Neustart pro Tag)

Ich wollte zwar zunächst nur auf unserem "älteren" Notesserver spielen, der noch mit 6.5 läuft, aber wie ich so raushöre, scheinen Webservices ab der 7er Version sinnvoll zu sein.

Ich würde zwar nachwievor die ODBC-Geschichte nicht vergessen wollen, weil sie eigentlich sehr vielversprechend aussah, aber gemacht wird, was am praktikabelsten ist.

Die Lösung über XML-Exports von Notes aus wäre interessant, wenn ich keinen Echtzeitzugriff benötigen würde.


Gespeichert

Manche drücken nur deshalb ein Auge zu, um besser zielen zu können.
Manche stehen nur hinter einem, damit sie besser in den Rücken fallen können.
schroederk
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 896

Ich liebe dieses Forum!


« Antworten #9 am: 09.02.07 - 15:09:17 »

Ich hab mich mal ein wenig an die COM-Schnittstelle anhand des genannten Beispiels und der Notes-Hilfe versucht.
Ziel war es alle Namen des Notes-Adressbuchs anzeigen zu lassen.

Zunächst habe ich den 7.0.2er Cient auf dem Webserver lokal installiert.

Das Script sieht derzeit so aus:
Code:
<html>
<head>
<title>Notes über COM</title>
</head>
<body>
<h2 align="center">Lotus Notes über COM-Schnittstelle ansprechen</h2>
<?
global $myConfig;
# COM Session aufbauen
$session = @new COM( "Lotus.NotesSession" );
if (!$session) {
$this->lotuslog( "Leider konnte keine Verbindung zum Server hergestellt werden");
return false;
}
$session->Initialize();
if ('' == $myConfig->sLotusDB) {
$myConfig->sLotusDB = 'names.nsf';
}
$dbInput = $session->getDatabase( "", $myConfig->sLotusDB );
if( !$dbInput ) {
$this->lotuslog( "Leider wurde die Datenbank für die Verarbeitung nicht gefunden");
return false;
}
$view = $dbInput.GetView("Mail Users");
$viewnav = $view.CreateViewNav();
$pointer = $viewnav.GerFirstDocument();
while ($pointer) {
$doc = $pointer.Document;
$item1 = $doc.GetFirstItem("FullName");
$wert = $item1.Values;
echo "Name: $wert<br>";
$pointer = $viewnav.GetNextDocument;
}
?>
</body>
</html>

Ich hab mich ein wenig schwer getan, den Namen einer View zu finden. Auch weiß nicht, wie die Authentifizierung stattfindet. Soweit ich verstanden habe, wird sich an der lokalen notes.ini orientiert, damit stehen ja Server und Benutzer-ID schonmal fest, aber nicht das Kennwort.

Das Script erzeugt derzeit keine Ausgabe noch eine Fehlermeldung noch sonstwas. Das Script scheint endlos laufen zu wollen. Also Fischen im Trüben.

Vielleicht hat jemand ein einfaches Beispielscript zur Hand?  Knuddeln

Gespeichert

Manche drücken nur deshalb ein Auge zu, um besser zielen zu können.
Manche stehen nur hinter einem, damit sie besser in den Rücken fallen können.
Thomas Schulte
@Notes Preisträger
Moderatoren
Gold Platin u.s.w. member:)
*****
Online Online

Geschlecht: Männlich
Beiträge: 4173


Ich glaub mich tritt ein Pferd


WWW
« Antworten #10 am: 09.02.07 - 15:21:18 »

Es wundert mich, dass Du (Thomas Schulte) überhaupt die COM Schnittstelle empfiehlst (... geht ganz gut mit der COM Schnittstelle...) obwohl Du massive Probleme hattest (Zugriffsprobleme mit Viertelstundentakt und letztendlich mindestens 1 Neustart pro Tag)
Ich hab da zwei Urteile was das angeht. Bei der einen Installation fliegt uns das regelmäßigst um die Ohren. Die andere läuft mit deutlich mehr Last seit drei Jahren stabil.
In der einen (der die nicht läuft) wird kontinuierlich gebastelt.
Ich kann dir nicht sicher sagen ob an den Abstürzen der Domino Server, Windows oder PHP schuld ist. Fakt ist nur das es abraucht. Und da in diesem Fall eh der Umstieg auf Webservices geplant ist ....

Wenn ich mit dem heutigen Stand der Domino Technik, sprich V7, eine Empfehlung abgeben würde dann würde die immer lauten. Geh auf Webservices. Danach hast du aber nicht gefragt.  Grin
Gespeichert

Thomas Schulte

Lotus Domino V7.0.2/V6.5.3 Server + Clients, Server OS Linux, Win2000/2003, Clients 2000/XP Linux
PCLP R4, R5
Websphere Application Server, Quickplace, Sametime

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach
Pitiyankee
Gold Platin u.s.w. member:)
*****
Offline Offline

Beiträge: 2859


WWW
« Antworten #11 am: 09.02.07 - 15:50:32 »

Eine Alternative zu SOAP Webservices wäre es, von php aus einfach einen Notes-Agenten aufzurufen. http://<server>/db.nsf/RemoteAgent?openAgent&_werte_als_url_parameter. Auf die Art kann man sogar kleinere xml-encodierte Daten an Domino senden. Der Agent kann dann eine eigene xml Instanz generieren, die an php zurückgesendet wird. Hier steht Ende Februar ein Projekt an, wo es um Austausch Tomcat initiiert Verbindung mit Domino und Domino schickt was zurück. Und ich werde mich für die obige Lösung aussprechen. Nix SOAP.

Allerdings sind die XML Daten der DominoViews schwer zu parsen
Find ich nicht. Man sollte dafür auf jeden Fall sowas wie SAX nehmen.
« Letzte Änderung: 09.02.07 - 19:00:42 von Axel Janssen » Gespeichert

As far as Connections goes, I consider it as a much more "classic" IBM software. Much like Websphere Portal when portals were the hype. Very powerfull but very complex, very demanding on infrastructure to set up and often sold for the wrong reasons and then a strong deception for customers.

Michael Bourak
---

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
schroederk
Gold Platin u.s.w. member:)
*****
Offline Offline

Geschlecht: Männlich
Beiträge: 896

Ich liebe dieses Forum!


« Antworten #12 am: 12.02.07 - 06:57:58 »

Hmm, klingt an sich ganz interessant, obwohl ich lieber Notes so unangetastet lasse wie es geht.
Ich bin selber leider kein Notes-Profi, schon gar keiner der sich mit Lotusscript oder so auskennt.

Derzeit ist meine Aufgabe, 1. alle erforderlichen Daten aus dem Server-Adressbuch zu lesen und dort einen Agenten hinzuzufügen... Ich kenn mich, wie gesagt, zu wenig aus.
2. Kalenderdaten in einen allgemeinen Kalender und auch in die jeweiligen persönlichen Kalender zu schieben.

Ich hab viel mit Redundanzen zu kämpfen, sodass ich mit bis zu drei Datenpools leben muss: SAP, Notes und Intranet. Mit SAP kann ich mittlerweile ganz gut kommunizieren, vorrausgesetzt ich finde die passenden BAPIs und diese sind auch remotefähig, aber mit Notes...
Gespeichert

Manche drücken nur deshalb ein Auge zu, um besser zielen zu können.
Manche stehen nur hinter einem, damit sie besser in den Rücken fallen können.
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  


Einloggen mit Benutzername, Passwort und Sitzungslänge

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006, Simple Machines Prüfe XHTML 1.0 Prüfe CSS
Impressum Atnotes.de - Powered by Syslords Solutions - Datenschutz | Partner: Tinte / Toner günstig