Autor Thema: Zugriff auf Notes-DBs mit php  (Gelesen 5255 mal)

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Zugriff auf Notes-DBs mit php
« 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!

Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Zugriff auf Notes-DBs mit php
« Antwort #1 am: 07.02.07 - 09:05:41 »
Php und Notes geht bei Windows Systemen ganz gut mit der COM Schnittstelle.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"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

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Zugriff auf Notes-DBs mit php
« Antwort #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ß
Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Zugriff auf Notes-DBs mit php
« Antwort #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
Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Zugriff auf Notes-DBs mit php
« Antwort #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  ???
Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline heini_schwammerl

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
Re: Zugriff auf Notes-DBs mit php
« Antwort #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. 

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Zugriff auf Notes-DBs mit php
« Antwort #6 am: 07.02.07 - 14:32:23 »
Wie das geht und Codebeispiele gab es schon mal hier.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"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

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Zugriff auf Notes-DBs mit php
« Antwort #7 am: 07.02.07 - 14:33:37 »
Das war zwar "nur" schreibend. Aber lesend ist im Prinzip das selbe.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"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

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Zugriff auf Notes-DBs mit php
« Antwort #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.


Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Zugriff auf Notes-DBs mit php
« Antwort #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?  :knuddel:

Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Zugriff auf Notes-DBs mit php
« Antwort #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.  ;D
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"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

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Zugriff auf Notes-DBs mit php
« Antwort #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 »
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 schroederk

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.924
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re: Zugriff auf Notes-DBs mit php
« Antwort #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...
Ich wäre ja gerne weniger egoistisch, aber was hab ich davon?

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz