Autor Thema: Aus einem Script auf Notes-DB's zugreifen  (Gelesen 1854 mal)

Offline AivisLolop

  • Frischling
  • *
  • Beiträge: 2
  • I love YaBB 1G - SP1!
Aus einem Script auf Notes-DB's zugreifen
« am: 23.08.02 - 13:43:06 »
Hallo!!

Ich möchte aus einem Script heraus auf eine Lotus Notes Datenbank zugreifen. Weiß jemand ob es da Perl/DBI Module gibt??? Oder gibt es da sonst irgendwelche Möglichkeiten?
Es muss auch nicht unbedingt mit Perl gehen. C/C++ währe auch net schlecht.

Bitte helft mir.

MfG,
Aivis Lolop
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: Aus einem Script auf Notes-DB's zugreifen
« Antwort #1 am: 23.08.02 - 13:54:01 »
Wie soll dein "Script" denn aussehen ( Visual Basic, VBA ?? ).

Bei C/C++ kanst du über die C API von Notes zugreifen.

eknori
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline AivisLolop

  • Frischling
  • *
  • Beiträge: 2
  • I love YaBB 1G - SP1!
Re: Aus einem Script auf Notes-DB's zugreifen
« Antwort #2 am: 23.08.02 - 13:58:48 »
Hallo eknori,

wie das Script aussehen soll, weiß ich noch net ( Am liebsten Perl :-)   ). Da hat mein Chef noch mit Infos gegeizt *ggg*.

Wenn ich mittels C API von Notes auf eine Notes Datenbank zugreife, geschieht das dann mittels Embedded SQL oder so?

Klär mich doch bitte mal auf, wie so etwas aussehen könnte.

Danke auch!

MfG,
Aivis Lolop
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline Meff

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.095
  • Geschlecht: Männlich
  • Das Denken der Zukunft muß Kriege unmöglich machen
    • apparet id etiam caeco
Re: Aus einem Script auf Notes-DB's zugreifen
« Antwort #3 am: 24.08.02 - 09:56:26 »
Was willst Du eigentlich genau machen ???

Meff ;)
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
"Zwei Dinge sind zu unserer Arbeit nötig: Unermüdliche Ausdauer und die Bereitschaft, etwas, in das man viel Zeit und Arbeit gesteckt hat, wieder wegzuwerfen."
Albert Einstein

Offline jofa

  • Senior Mitglied
  • ****
  • Beiträge: 265
  • Geschlecht: Männlich
  • try and error !Y!
Re: Aus einem Script auf Notes-DB's zugreifen
« Antwort #4 am: 26.08.02 - 10:03:39 »
Hi Aivis,

also ich habe es hinbekommen mit der Perl Version von ActiveState:

Ein Beispiel:

---begin---

#!/usr/bin/perl -w
use strict;
use Win32::OLE;

my %count;
my $Buffer;
my $choice;
my $doc;
my $Document;
my %noteshash = ();
my $num;
my $userid = "mail/meinemaildb.nsf";
my $search;
my $server = "myhomeserver.myfirm.de";
my $val;
my $VERSION = '1.0';

my $Notes = Win32::OLE->new('Notes.NotesSession')or die "Cannot start Lotus Notes Session object.\n";
my $Database = $Notes->GetDatabase($server, $userid) or die "Could not open database.\n";
my $AllDocuments = $Database->GetView('($Inbox)');
#my $Count = $AllDocuments->Count;
#my @counted = (1 .. $Count);

$doc = $AllDocuments->GetFirstDocument;

print "\n\nPlease wait while the notes mail file is processed . . .\n\n";
#foreach $doc (@counted) {
while ($doc) {
     $val = $doc->GetItemValue('Subject');
     print @$val[0]."\n";
     $doc = $AllDocuments->GetNextDocument($doc);
#      $val = sprintf "$doc. %s", $Document->GetFirstItem('Subject')->{Text};
#      $noteshash{$doc}=$val;
}

while ($choice ne "Q"){
print "\n\nWelcome to the Perl Notes client.\n";
print "Press I to look at an index of email.\n";
print "Press B to look at the body of a message.\n";
print "Press Q to exit the program.\n";
chomp($choice = <STDIN>);
$choice =~ tr/a-z/A-Z/;

     if ($choice eq "I") {
     &idex;      
     }

     if ($choice eq "B") {
     &body;
     }
     
     if ($choice eq "Q") {
     exit;      
     }
}

sub idex {
my $docnum;

print "What is the first number you would like to see? ";
chomp($docnum = <STDIN>);

my $limit = $docnum + 5;
     for ($docnum; $docnum < $limit; $docnum++) {
     $Document = $AllDocuments->GetNthDocument($docnum);
     $val = $Document->GetItemValue('Subject');
     print "Number: $docnum Subject: @$val[0]\n";
     }
}
     
sub body {
print "What document would you like to look at? ";
chomp($doc = <STDIN>);
$Document = $AllDocuments->GetNthDocument($doc);
# my @Attributes = $Buffer->info();
print "\n\n$doc\n".$Document->GetFirstItem('Body')->{Text};
}

---end---

Ich habe zunächst CygWin installiert, danach Perl von ActiveState, beides verlinkt ... klappt. Allerdings musst Du einige der benötigten Module nachladen, aber nicht von CPAN :-( sondern direkt mit dem Modulemanager von ActiveState: ppm3

Gruss JoFa
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
--
MAINTANACE FREE ---
Impossible to fix. ;-)
ca. 110 Server unter Win32 und Linux ab 5.0.9a bis R6.5.5dt.
Clients: 5.0.9a, 5.0.10, 5.0.11, 5.0.12, 6.0.1CF1, 6.0.2CF2, 6.5, 6.5.1, 6.5.2, 6.5.3, 6.5.4, 6.5.5, 7.0.

Offline jofa

  • Senior Mitglied
  • ****
  • Beiträge: 265
  • Geschlecht: Männlich
  • try and error !Y!
Re: Aus einem Script auf Notes-DB's zugreifen
« Antwort #5 am: 26.08.02 - 10:13:12 »
Nachtrag:

drei nützliche Links:

http://aspn.activestate.com/ASPN/Perl/Reference/Products/ActivePerl/faq/Windows/ActivePerl-Winfaq12.html

http://aspn.activestate.com//ASPN/Perl/Reference/Products/ActivePerl/faq/Windows/ActivePerl-Winfaq12.html#use_notes

http://aspn.activestate.com//ASPN/Perl/Reference/Products/ActivePerl/faq/Windows/ActivePerl-Winfaq12.html#convert_vba

Viel Spass ... ach so, es muss auf der Workstation, auf der Du Deine Scripte laufen lassen willst natürlich ein Notes Client installiert und konfiguriert sein.

Interessant wäre es noch zu testen ob es auch unter Linux geht mit einem lauffähigem Notes CLient unter Wine  ;D ;D ;D --- Hierzu wäre ich Anregungen oder Erfahrungen sehr dankbar :-)

Gruss Jofa
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
--
MAINTANACE FREE ---
Impossible to fix. ;-)
ca. 110 Server unter Win32 und Linux ab 5.0.9a bis R6.5.5dt.
Clients: 5.0.9a, 5.0.10, 5.0.11, 5.0.12, 6.0.1CF1, 6.0.2CF2, 6.5, 6.5.1, 6.5.2, 6.5.3, 6.5.4, 6.5.5, 7.0.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz