Embedded SQL mit C und Oracle

Größe: px
Ab Seite anzeigen:

Download "Embedded SQL mit C und Oracle"

Transkript

1 Embedded SQL mit C und Oracle Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com Inhaltsverzeichnis 1 Einleitung 2 2 SQL in Programmen SQL-Kommandos im Quelltext Verbindung zur Datenbank Herstellen der Verbindung Lösen der Verbindung Kommunkation Datenbank Programm Zeichenketten & Oracle Transaktionen Beispielprogramm Compilation Precompiler-Ausgabe SELECT in Programmen 7 5 Weitere Embedded-SQL-Kommandos Programmieraufgaben Hinweise Abfragen mit mehreren Ergebnistupeln Bulk Select Cursor-Select Einfache Cursor-Abfragen Cursor-Abfragen mit where current Oracle-Zusätze bei Cursor-Abfragen Implizite Fehlerbehandlung 13 8 weitere Aufgaben 14 Hinweis: Alle Beispielprogramme finden Sie im Datenbank-Portal unter Quelltexte. 1

2 2 SQL IN PROGRAMMEN 1 Einleitung SQL kann nicht nur mit interaktiven Kommandos in sqlplus oder tora benutzt werden, sondern SQL-Kommandos können auch in Programme eingebettet werden, die in klassischen Programmiersprachen geschrieben wurden, z. B. C oder C++. Voraussetzung ist, dass neben dem Compiler für die jeweilige Sprache der passende Precompiler vorhanden ist, der die eingebetteten SQL-Kommandos in Quelltext der Wirtssprache (host language) umsetzt. Im folgenden wird nur C verwendet, aber es ist mit C++ genauso möglich. Für C++ bietet sich allerdings auch die Verwendung eines objektorientierten Interfaces an, sofern es das für die jeweilige Datenbank gibt. Für C (und C++) gibt es je nach Datenbank auch ein sogenanntes Call-Level-Interface, bei dessen Verwendung man direkt Bibliotheksaufrufe in den Quellcode einbaut. Embedded SQL ist allerdings bequemer in der Handhabung. Darüber hinaus ist der Zugriff auf Datenbanken über genormte Schnittstellen von Bedeutung, hierbei ist besonders das plattformunabhängige JDBC zu erwähnen. Dies wird aber in diesem Dokument nicht erläutert, da es hier nicht um Java geht. Grundsätzlich funktioniert die Programmierung mit Embedded SQL mit allen Programmiersprachen und mit allen SQL-Datenbanken im wesentlichen gleich sofern sie Embedded SQL überhaupt unterstützen. In Details gibt es aber Unterschiede. Dieser Text bezieht sich ausdrücklich auf Oracle und C. 2 Verwendung von SQL in Programmen In Programmen werden vorwiegend Datenmanipulationsbefehle benutzt, seltener Administrationskommandos für die Datenbank, die die Struktur verändern. Es gibt davon vier: SELECT Suchen von Daten INSERT Einfügen von Tupeln DELETE Löschen von Tupeln UPDATE Ändern von Attributwerten Diese Befehle können auf verschiedene Arten Datenmanipulationen durchführen. Nicht alle Kombinationen sind möglich. Die möglichen Operationen sind angegeben (S=SELECT, F=FETCH, I=INSERT, D=DELETE, U=UPDATE, WC=DELETE/UPDATE WHERE CURRENT): 1. Einfache Datenmanipulation: (S, I, D, U) Alle Operationen betreffen die Übertragung von max. einem Tupel aus der Datenbank ins Programm oder umgekehrt. 2. Sequentielle Tabellenverarbeitung: (S, F, WC) Mit Hilfe eines Cursors (Tupelzeiger) können viele Tupel nacheinander bearbeitet werden. 2

3 2 SQL IN PROGRAMMEN 2.1 SQL-Kommandos im Quelltext 3. Bulk-Operation (Array-Operation): (S, F, I) Es werden viele Tupel mit einem Befehl bearbeitet. 4. Dynamische Operation: (S, F, I, D, U) Die Operation wird erst zur Laufzeit spezifiziert. Diese Art Programme werden in diesem Dokument nicht erläutert. 2.1 SQL-Kommandos im Quelltext Die eingebetteten SQL-Kommandos müssen als solche für den Precompiler kenntlich gemacht werden. Ein SQL-Kommando sieht so aus: exec sql... ; Alles zwischen exec sql und dem Semikolon wird vom SQL-Precompiler in reinen C- Quelltext umgewandelt. Das Original-Kommando wird also durch C-Code ersetzt. Gelegentlich kann man es noch im C-Code erkennen, aber das ist nicht immer der Fall. Der SQL-Precompiler-Output wird anschließend mit dem C-Compiler ganz normal compiliert und unter Verwendung datenbankspezifischer Bibliotheken gelinkt. 2.2 Verbindung zur Datenbank Herstellen der Verbindung Vom fertigen Programm muss eine Verbindung zur Datenbank hergestellt werden, so wie das bei tora auch der Fall ist. Dazu muss man ausdrücklich ein connect-statement verwenden, was bei Oracle in der Syntax vom ANSI-Standard abweicht. Bei ANSI-Datenbanken schreibt man connect to :datenbank, wobei :datenbank die Datenbank bzw. der Server ist, mit der man die Verbindung herstellen möchte. Bei Oracle sieht es im Programm so aus: exec sql connect :user identified by :password using :connectstring ;, wobei connectstring ; einen Oracle-Net8-Database Identification String enthält. Dieser wird mit Hilfe einer Datei namens tnsnames.ora einem Server und einer Datenbank zugeordnet. Wahlweise kann man statt des Benutzernamens und des Passwords separat exec sql connect :user_passwd angeben, wobei im user_passwd Benutzernamen und Password dann durch einen Slash getrennt werden. Die Variablen :datenbank, :user, :password ; und :connectstring ; sind sogenannte Hostvariablen (siehe Abschnitt 2.3 auf der nächsten Seite). Man kann sie im Quelltext mit festen Werten initialisieren (bietet sich für den Datenbanknamen an, bei uns ora10.bg.bib.de) oder auch zur Laufzeit mit Werten versehen, z. B. durch Einlesen. Das ist insbesondere für das Password anzuraten, wobei man da noch das Bildschirmecho abschalten muss, damit einem niemand das Password vom Bildschirm ablesen kann. Hierzu können Sie Routinen in /usr/local/include/liesterm.h finden. Die Bibliotheksdatei libbib.a in /usr/local/lib/ wird von unserem Script sqlproc automatisch dazugebunden. 3

4 2.3 Kommunkation Datenbank Programm 2 SQL IN PROGRAMMEN Tabelle 1: Nullwerte und ihre Bedeutung Wert Beschreibung 1 Das Attribut hatte den Nullwert 0 Es war ein Wert vorhanden, der übertragen wurde. > 0 Es war ein Zeichenkettenwert vorhanden, der aber abgeschnitten wurde. Es wurden nur so viele Zeichen übertragen wie in die Hostvariable passten. Wert gibt an, wieviele Zeichen hätten übertragen werden sollen Lösen der Verbindung Das Lösen der Verbindung zur Datenbank geschieht automatisch beim Beenden des Programms, d. h. man ist nicht gezwungen, dies explizit zu tun. Das ist also genauso wie bei Dateien, die beim Ende des Programms ebenfalls automatisch geschlossen werden. Trotzdem ist es natürlich guter Stil, die Verbindung zu schließen. Im ANSI-SQL-Standard geschieht das mittels exec sql disconnect;, was außerhalb von Transaktionen zu geschehen hat, bei Oracle mit exec sql commit release; (bei Durchführen einer Transaktion) bzw. exec sql rollback release; (bei Abbrechen einer Transaktion). 2.3 Kommunikation zwischen Datenbank und Programm Zwischen Programm und Datenbank werden Daten ausgetauscht, z. B. Datenbank Programm beim select und umgekehrt beim insert. Dies geschieht über sogenannte Host- Variablen, die in den SQL-Kommandos durch einen vorangestellten Doppelpunkt gekennzeichnet werden. Es kann sich bei den Variablen um globale oder auch lokale Variablen handeln. Nullwerte werden, da sie nicht in den Variablen selbst darstellbar sind, über zusätzliche Variablen vom Typ short int dargestellt (im Standard wird nur integer als Datentyp erwähnt, bei Oracle müssen Sie short sein). Diese werden Nullwert-Indikatoren genannt und werden in der Tabelle 1 erläutert. Beim Abfragen von Daten (SELECT) muss man stets Nullwert-Indikatoren verwenden, wenn ein Attribut Nullwerte zulässt, damit es zur Laufzeit keine unerwarteten Fehler gibt. Aber auch beim Einfügen von Daten (INSERT)verwendet man Nullwert-Indikatoren, die man mit 1 füllt, wenn man einen Nullwert übertragen möchte, und ansonsten mit 0. Man kann auch beim Abfragen von not-null-zeichenketten-attributen Indikatoren verwenden, aber dann ist der Indikatorwert 0, wenn alles gut gegangen ist. Für den Fall, dass die Variable zu kurz war, um den Wert des Attributs aufzunehmen, enthält die Indikatorvariable die Anzahl Zeichen, die hätten übertragen werden sollen. Das Datenbanksystem muss dem Programm über die reinen auszutauschenden Daten hinaus auch noch mitteilen, ob die gewünschten Operationen ausgeführt werden konnten. Dazu dient die SQL-Communication Area, kurz sqlca. Sie muss im Programm glo- 4

5 2 SQL IN PROGRAMMEN 2.3 Kommunkation Datenbank Programm Tabelle 2: ANSI-sqlcode-Werte und ihre Bedeutung Werte sqlcode = 0 sqlcode < 0 sqlcode = 100 Bedeutung kein Fehler, keine Warnung Fehler, Kommando nicht ausgeführt kein passendes Tupel gefunden Damit dieser im ANSI-Standard festgelegte Wert von Oracle gemeldet wird, muss man beim Preprocessing MODE=ANSI angeben, was unser Script sqlproc aber immer tut. Tabelle 3: Oracle-sqlcode-Werte und ihre Bedeutung sqlcode-werte Bedeutung 1017 Autorisierung falsch, keine Anmeldung an der Datenbank möglich Literal (z. B. für Datum/Zeit-Wert) entspricht nicht dem Format. Hinweis: Durch die im b.i.b. eingestellten Werte verlangt Oracle Datumswerte nach dem Schema von ISO8601, z. B Primärschlüssel-/Uniqueklausel-Verletzung 2291 Fremdschlüssel-Verletzung, Eltern-Datensatz nicht gefunden 2292 Fremdschlüssel-Verletzung, Kind-Datensatz gefunden 2290 Check-Constraint-Verletzung 2112 Mehrere Ergebnistupel bei einem Single Select Weitere Werte schauen Sie bitte in den Oracle-Unterlagen nach (z. B. online über das Datenbanken-Portal). bal deklariert werden, was durch das Kommando exec sql include sqlca; geschieht. Es handelt sich dabei um eine Datenstruktur, von der u. a. folgende Komponenten zur Status-Überprüfung benutzt werden: sqlcode und sqlerrm.sqlerrmc. Bei Oracle sollte man vorher das Symbol SQLCA_INIT definieren, damit die sqlca initialisiert wird. Die Bedeutung der Variablen sqlcode nach ANSI ist in der Tabelle 2 erläutert. Weitere Werte sind datenbankabhängig, siehe Tabelle 3. Tip: In dem vom Precompiler erzeugten C-Code ist die SQL Communication Area schön kommentiert enthalten. Schauen Sie mal rein! Zeichenketten & Oracle Bei Zeichenketten gibt es im Zusammenhang mit Oracle einige Besonderheiten zu berücksichtigen. Oracle verwaltet Zeichenketten wie die Programmiersprache Pascal, d. h. nicht als 5

6 2.3 Kommunkation Datenbank Programm 2 SQL IN PROGRAMMEN ASCII-NUL-terminierte Arrays, sondern mit einer separaten 16 Bit großen Längenangabe. Die Konvertierung zwischen der C-Darstellung und der Oracle-Darstellung geschieht nicht automatisch; der Precompiler fügt den hierzu notwendigen Code nicht in das Programm ein im Gegensatz zu den Precompilern anderer Datenbanken. Verwendet man als Hostvariablen char-arrays wie in C üblich, so werden diese beim Lesen von Daten aus der Datenbank immer mit Blanks bis zum Ende vollgeschrieben, auch wenn der Attributwert vom Typ varchar kürzer ist (blank-padded). Alternativ dazu kann man die Hostvariablen als varchar deklarieren, was vom Precompiler in eine Struktur umgewandelt wird. Hier ein Beispiel: varchar vorname [16]; wird vom Precompiler umgewandelt in struct { unsigned short len; unsigned char arr[16]; } vorname; Das muss man bei der folgenden C-Programmierung natürlich berücksichtigen. Der Versuch, den Vornamen jetzt mittels printf ("%s\n", vorname); auszugeben, ist zum Scheitern verurteilt (leider erst zur Laufzeit, weil der C-Compiler die Parameter von printf hinter der Formatangabe wegen der Ellipse nicht prüfen kann) es gibt evtl. einen Segmentation Fault (nicht immer reproduzierbar). Statt dessen muss man folgendes verwenden: vorname.arr[vorname.len] = '\0'; printf ("Vorname: '%s'\n", vorname.arr); Diese Vorgehensweise entspricht soweit dem ANSI-SQL-Standard. Aber man muss beim Eintragen von Zeichenketten in die Datenbank vorher mittels strlen die Länge ermitteln und in das len-element der Struktur eintragen: vorname.len = strlen (vorname.arr); exec sql insert into tabelle values (:nr, :vorname); Eine weitere Besonderheit ist, dass Oracle bei der Verarbeitung davon ausgeht, dass die leere Zeichenkette identisch ist mit dem NULL-Value. Das ist leider nicht so, denn die Information, dass eine Zeichenkette leer ist, ist nicht identisch mit der fehlenden oder nicht zutreffenden Information. Man kann also im Gegensatz zu anderen, ANSI-konformen Datenbanken in ein NOT NULL-Attribut keine leere Zeichenkette eintragen. Ein möglicher Workaround ist, eine Zeichenkette einzutragen, die aus einem Leerzeichen besteht. 6

7 4 SELECT IN PROGRAMMEN 2.4 Transaktionen 2.4 Transaktionen Bei Oracle behindern sich beliebig viele Lesetransaktionen und eine Schreibtransaktion nicht gegenseitig. Die Lesetransaktionen bekommen immer die Daten geliefert, wie sie zum Zeitpunkt des Beginns in der Datenbank gestanden haben. Sie werden nötigenfalls aus dem Rollback-Segment der Datenbank gelesen, wenn sie zwischenzeitlich durch eine Schreibtransaktion verändert wurden. Änderungen am Datenbestand müssen mittels commit work dauerhaft gemacht werden. Wahlweise können alle Änderungen einer Transaktion auch ungeschehen gemacht werden, indem man statt dessen rollback work verwendet. Das im Standard enthaltene Wort work hinter dem commit ist bei Oracle optional, sollte aber der Portabilität wegen verwendet werden. Transaktionen beginnen automatisch, sobald man Aktionen mit der Datenbank macht. Beendet werden sie durch eines der oben genannten Kommandos oder durch Beenden der Verbindung zur Datenbank. Änderungen an der Datenbankstruktur führen übrigens vorher und nachher automatisch und ungefragt ein commit work aus. 3 Erstes Beispielprogramm Das Beispielprogramm finden Sie in der Datei sqlprogc_beispiel1.pc; es wird die bekannte Sportlerdatenbank verwendet (bzw. die Tabelle sp_spieler darin). 3.1 Compilation eines SQL-Programms Ein C-Programm mit Embedded SQL muss mehrfach übersetzt werden. Daher haben wir auf unserer Maschine ein kleines Script für diesen Zweck mit dem Namen sqlproc. Schauen Sie es sich bitte genau an, denn schließlich sollen Sie auch ohne dieses Script in der Lage sein, ein SQL-Programm in eine ausführbare Datei umzuwandeln. 3.2 Vom SQL-Precompiler umgewandelte EXEC-SQL-Aufrufe Übersetzen Sie das Beispielprogramm sqlprogc_beispiel1.pc und drucken Sie den Quellcode sowie den erzeugen C-Quelltext sqlprogc_beispiel1.c aus. Vergleichen Sie die Dateien und suchen Sie die exec sql-anweisungen im übersetzten Code. 4 Das SELECT-Kommando in Programmen Nach der Eingabe von Daten mit dem insert-kommando wollen wir nun Daten aus dem Bestand abfragen. Vom select-kommando gibt es mehrere Varianten: das Single Select, das Bulk Select und das Sequential Select. Das erste wird hier erläutert, das Bulk Select in Abschnitt 6.1 auf Seite 10 und das Sequential Select (auch Cursor-Select genannt) in Abschnitt 6.2 auf Seite 11. 7

8 5 WEITERE EMBEDDED-SQL-KOMMANDOS Das Single Select muss so formuliert sein, dass das Ergebnis nicht mehr als ein einziges Tupel umfasst; andernfalls kommt es zu einem Fehler ( 2112) in sqlca.sqlcode). Das Programm stellt für das Ergebnis des Kommandos nur einen Datensatz zur Verfügung, der sofort gefüllt wird, sofern ein Tupel gefunden wird. Beispiel für eine Deklaration: exec sql begin declare section; char SpielName [16]; /* alle Zeichenketten 1 Byte laenger, */ char Vorname [ 4]; /* damit Platz fuer Terminator \0 ist. */ char PLZ [ 6]; char Ort [21]; exec sql end declare section; Zeichenketten sollten grundsätzlich 1 Byte länger als in SQL deklariert werden, damit Platz für das Terminatorzeichen '\0' ist, was von Oracle bei char-variablen leider nur ganz am Ende angehängt wird, so dass alle Zeichenketten bis zum Ende mit Blanks aufgefüllt geliefert werden. Dies kann man durch die Verwendung von varchar-variablen verhindern, die vom Precompiler in Strukturen umgesetzt werden (siehe Abschnitt 2.3 auf Seite 5). Das Select-Statement sieht im Programm dann so aus: exec sql select spielname, vorname, plz, ort into :spielname, :vorname, :plz, :ort from spieler where spielnr = :spielnr; Dieses Select erzeugt wegen der Eindeutigkeit der Spielernummer garantiert höchstens ein Tupel. Die Variable sqlcode aus der sqlca kann den Wert 100 enthalten, wenn kein passendes Tupel enthalten ist; oder es kann ein Fehler auftreten, wenn mehr als ein passendes Tupel gefunden wurde. Die Select-Kommandos können auch bei einem Single Select beliebig komplex sein. Ein komplettes Beispielprogramm mit einem Single-Select finden Sie unter singleselect.pc. Schauen Sie es sich mit besonderem Augenmerk auf die Behandlung von Nullwerten an. Bei allen Attributen, die Nullwerte enthalten können (also nicht mit not null versehen sind), ist es zwingend erforderlich, dass ein Nullwert-Indikator verwendet wird. Dabei handelt es sich um eine Integer-Host-Variable (bei Oracle abweichend vom Standard zwingend short int), die hinter dem Attribut ohne Komma dazwischen angegeben wird. Diese Variable wird mit einer Null gefüllt, wenn ein gültiger Wert geliefert wurde (also logisch false). Falls im Attribut ein Nullwert stand, bekommt der Nullwert-Indikator einen Wert ungleich Null (also logisch true). 5 Weitere Embedded-SQL-Kommandos Im folgenden sollen Sie außer dem Single Select und dem Insert auch Delete und Update einsetzen. Delete unterscheidet sich nicht von der interaktiven Version. Bei Update lautet 8

9 5 WEITERE EMBEDDED-SQL-KOMMANDOS 5.1 Programmieraufgaben die Syntax: exec sql update tabellenname set attribut = attributwert /:hostvariable where bedingung ;. Es kann also wahlweise ein direkter Attributwert oder eine Hostvariable angegeben werden, deren Inhalt dem genannten Attribut aller Tupel zugewiesen wird, die auf die Bedingung passen. 5.1 Programmieraufgaben mit Embedded SQL zur Krankenhaus-Datenbank Schreiben Sie ein C-Programm ggf. mit Unterprogrammen, das folgendes leistet: 1. Erfassen von Daten (insert) ˆ Station ˆ Zimmer ˆ Medikament ˆ Patient (Zimmer darf nicht überbelegt werden!) ˆ Angestellter/Arzt (Fach + Telefonnummer oder keins von beiden!) ˆ Behandlung ˆ Verordnung 2. Lesen von Daten (single select) Daten für ein Zimmer anzeigen, d. h. Stationsname, Zimmernummer und Anzahl der freien und belegten Betten. 3. Verändern von Daten (update) ˆ Verlegen eines Patienten von einem Zimmer in ein anderes, wobei auch hier das neue Zimmer nicht überbelegt werden darf. ˆ Eintragen/Ändern/Löschen einer Diagnose 4. Löschen von Daten (delete) Entlassung eines Patienten, wobei nach Eingabe der Patientennummer sämtliche den Patienten betreffenden Daten aus der Datenbank gelöscht werden. Natürlich wird vorher gefragt, ob man den Patienten mit soundsoviel Behandlungen und soundsoviel Verordnungen wirklich löschen möchte, sofern der Patient noch in Behandlung ist. 5.2 Hinweise zu den Programmieraufgaben Arbeiten Sie mit Haupt- und Untermenüs, wobei das Hauptmenü die obigen Punkte zur Auswahl anbietet. Schließen Sie jede Transaktion (aber nicht unbedingt jedes SQL-Statement) mit commit work ab. Möchten Sie zwischendurch eine Transaktion abbrechen, so verwenden Sie rollback work. Vor der Programmierung sollen Struktogramme entworfen werden, die die SQL-Anweisungen bereits enthalten. Dies dient der Konzentration auf Abläufe und Datenbanken, ohne gleichzeitig an die Programmiersprache denken zu müssen. Bauen Sie Fehlerbehandlungen mit Klartext-Meldungen in Deutsch für alle Fehlersituationen ein, die Sie vorhersehen können, beispielsweise Station nicht vorhanden! bei der 9

10 6 ABFRAGEN MIT MEHREREN ERGEBNISTUPELN Zimmereingabe. Nur für nicht vorhersehbare Fehler soll die Standard-Fehlerbehandlung einer Funktion StatusAnzeige() oder ähnlich verwendet werden. 6 Abfragen mit mehreren Ergebnistupeln Wenn bei einem SELECT mehr als ein einziges Tupel herauskommen kann, reicht ein Single Select nicht aus. Man muss ein Bulk Select oder eine sequentielle Tabellenverarbeitung mit cursor und fetch machen. 6.1 Bulk Select Abfragen mehrerer Tupel auf einmal Bei einem Bulk Select wird die Ergebnistabelle auf einmal in den Datenbereich des Programms übertragen. Das bedeutet, dass das Programm einen ausreichend großen Datenbereich zur Verfügung stellen muss. Der Programmierer muss also schon zur Compilationszeit abschätzen, wieviele Tupel/Datensätze beim Select entstehen können. Bulk Select ist im ANSI-SQL-Standard nicht enthalten, wird aber von vielen Datenbanksystemen angeboten aber natürlich nicht auf exakt gleiche Art. Im Gegensatz zum Single Select werden hier nicht einzelne Host-Variablen angelegt, sondern Host-Arrays (siehe Kapitel 8 im Oracle.Pro*C/C++ Precompiler Programmer s Guide). exec sql begin declare section; int nr [20]; /* 20 int-werte */ char spielname[20][30]; /* 20 Zeichenketten der Länge 29 */ exec sql end declare section; Bei obiger Deklaration war keine Indikatorvariable notwendig, weil alle Attribute mit not null versehen sind. Werden Indikatorvariablen benötigt, so sind sie ebenfalls als Array zu deklarieren. Die Aufrufsyntax des Bulk Select unterscheidet sich vom gewöhnlichen Select kaum und sieht beispielsweise so aus: exec sql select spielnr, spielname into :nr, :spielname from spieler; In der Variablen sqlerrd [2] der SQL Communication Area teilt uns SQL mit, wieviele Tupel in unser Array übertragen worden sind. Dies ist eine weitere Statusinformation über den sqlcode hinaus. Zur Weiterverarbeitung in unserem Programm benötigen wir diese Angabe z. B. in einer for-schleife: for (i=0; i<sqlca.sqlerrd[2]; i++) { printf ("Spieler[%d]: %d, %s\n", i, nr[i], spielname[i]); } 10

11 6 ABFRAGEN MIT MEHREREN ERGEBNISTUPELN 6.2 Cursor-Select Falls die Arrays groß genug waren, um alle Daten aufzunehmen, enthält sqlca.sqlcode den Wert 100, da das Ende der Daten erreicht wurde. Sollte es mehr Spieler geben als in die Arrays passen, so gibt es wieder den Fehlerstatus 2112 in sqlca.sqlcode, Die Variable sqlca.sqlerrd[2] enthält jetzt auch die Anzahl der passenden Tupel, aber es sind nicht alle Daten übertragen worden. Ein vollständiges Beispielprogramm finden Sie in bulkselect.pc 6.2 Sequentielle Tabellenverarbeitung mit Cursor Einfache Cursor-Abfragen Bei der sequentiellen Tabellenverarbeitung wird von SQL im Hintergrund eine Tabelle erzeugt, die das Ergebnis des Select enthält. Das Programm benötigt wie beim Single Select nur die Variablen für ein einziges Tupel, weil diese aus der Hintergrundtabelle wie aus einer sequentiellen Datei gelesen werden. Ein Cursor dient als Satzzeiger auf die Hintergrundtabelle. Bei diesem sequential Select muss man nicht vorher wissen, wieviele Tupel die Ergebnistabelle enthalten wird. Dafür ist die Anzahl der Zugriffe auf die Datenbank viel höher, und Sperren auf den Datenbestand bestehen im Allgemeinen länger. Folgende Embedded-SQL-Kommandos gibt es für das Arbeiten mit sequential Selects: declare cursorname cursor for selectcommand ; verbindet einen Cursor über seinen Namen mit einem spezifizierten Select-Kommando. Der Cursor ist ein Zeiger auf ein Tupel der Ergebnistabelle, die durch das Select erzeugt werden kann. Die Ergebnistabelle wird durch declare cursor noch nicht erzeugt. open cursorname ; führt das mit dem Cursor verbundene Select-Kommando tatsächlich durch und erzeugt die Ergebnistabelle ( active set ) im Hintergrund. Der Cursor steht jetzt vor dem ersten Tupel. Ab jetzt können Sperren auf die Datenbank bestehen. fetch cursorname into hostvariablen ; bewegt den Cursor auf das nächste Tupel der Ergebnistabelle und überträgt die Werte des neuen Tupels in die Hostvariablen. delete from tablename where current of cursorname ; löscht das Tupel, auf das der Cursor zeigt. Der Cursor steht anschließend vor dem nächsten Tupel (nicht auf dem nächsten). Geht natürlich nur bei Abfragen auf eine Einzeltabelle, nicht bei Joins. update tablename set columnname = expression where current of cursorname ; verändert in dem Tupel, auf das der Cursor zeigt, das genannte Attribut entsprechend dem im Ausdruck angegebenen Wert. Es können mehrere Anweisungen columnname = expression verwendet werden, die durch Komma getrennt werden. expression kann ein SQL-Ausdruck, eine Hostvariable (ggf. mit Nullwertindikator), ein Literal oder NULL sein. 11

12 6.2 Cursor-Select 6 ABFRAGEN MIT MEHREREN ERGEBNISTUPELN close cursorname ; deaktiviert die Ergebnistabelle (active set). Nach close sind fetch, delete where current und update where current nicht mehr möglich. Durch commit work und rollback work werden alle Cursor ebenfalls geschlossen. Um die Strafentabelle mit sequentieller Tabellenverarbeitung anzuzeigen, programmiert man beispielsweise so (ohne die notwendige Fehlerprüfung): exec sql declare kursor cursor for select zahlnr, st.spielnr, spielname, datum, betrag from strafen st, spieler sp where st.spielnr = sp.spielnr; exec sql open kursor; while (1) { exec sql fetch kursor into :zahlnr, :spielnr, :spielname, :datum, :betrag; if (sqlca.sqlcode!= 0) break; printf ("%4d %4d %-30s %10s %10.2f\n", zahlnr, spielnr, spielname, datum, betrag); } exec sql close kursor; Es finden bei der sequentiellen Tabellenverarbeitung dieselben Fehlercodes Anwendung wie beim Single Select. Es wird aus der Ergebnistabelle gelesen, bis kein Tupel mehr übrig ist dann wird sqlca.sqlcode den Wert 100 erhalten. Das vollständige Programm (mit der notwendigen Fehlerprüfung) finden Sie in der Datei cursor_strafen.pc Aufgabe: Bauen Sie in die Patientenaufnahme ein, dass bei der Eingabe eines belegten Zimmers eine Liste aller anderen Zimmer derselben Station angezeigt wird, in denen noch Betten frei sind. Sind auf der Station keine Zimmer mehr frei, soll auch dies im Klartext gemeldet werden Cursor-Abfragen mit where current Möchte man am aktuellen Tupel nach dem FETCH Änderungen vornehmen oder das Tupel löschen, so kann man die besondere Klausel WHERE CURRENT OF cursorname benutzen. Das sieht dann so aus: exec sql update spieler set gebjahr = gebjahr +1 where current of kursor; 12

13 7 IMPLIZITE FEHLERBEHANDLUNG oder exec sql delete spieler where current of kursor; Ein vollständiges Beispiel finden Sie unter dem Namen cursor_update_where_current.pc Oracle-Zusätze bei Cursor-Abfragen Oracle erlaubt bei Cursor-Abfragen ein FETCH auch mit Arrays, was auch BULK FETCH genannt wird. Hierbei werden die Tupel nicht einzeln, sondern in Gruppen abgeholt. Näheres dazu finden Sie in der Oracle-Dokumentation unter der Überschrift Cursor Fetches im Kapitel 8 des Oracle.Pro*C/C++ Precompiler Programmer s Guide. 7 Implizite Fehlerbehandlung Bislang haben wir alle Fehler, die in den Programmen auftreten konnten, explizit behandelt, d. h. die Rückmeldungen von SQL wurden von unseren Programmcode ausgewertet. SQL bietet aber noch eine andere Art der Fehlerbehandlung an, bei der man weniger schreiben muss, dafür aber auch weniger Möglichkeiten hat. Am Anfang des Programms wird eine whenever-anweisung verwendet. Die Parameter dieser Anweisung sind in Tabelle 4 auf der nächsten Seite erläutert. exec sql whenever condition action ; Solange keine whenever-anweisung im Programm verwendet wurde, gilt die Aktions-Voreinstellung continue. Das Kommando whenever condition continue wird nur dazu gebraucht, ein früheres whenever mit einer anderen Aktion wieder auf diesen voreingestellten Wert zurückzusetzen. Die mit whenever festgelegten Aktion gelten solange, bis ein erneutes whenever verwendet wird. Die whenever-anweisungen werden vollständig vom Precompiler ausgewertet und bewirken die Erzeugung von entsprechenden C-Anweisungen. Eine stop-aktion hält das Programm unter Zurückfahren der aktuellen Transaktion an, zeigt aber leider keinerlei Meldung über den Grund an. Eine continue-aktion sollte man nur dann einstellen, wenn man die Fehlerbehandlung selbst übernimmt, denn ignorierte Fehler führen zu nicht absehbaren Reaktionen des Programms. Das Springen zu einer Marke sollte nur in Notfällen verwendet werden. Eine do break-aktion gibt es nur bei wenigen Datenbanken; außerdem ist hierbei zu berücksichtigen, dass ein break nur in einer Schleife oder einem switch-statement auftauchen darf. Fügt der Precompiler es an anderer Stelle ein, so erzeugt das einen Fehler beim C-Compiler. Gleiches gilt für do continue. Die Aktion do Funktionsaufruf (...) ist ebenfalls Oracle-spezifisch, sollte also mit Vorsicht eingesetzt werden. 13

14 8 WEITERE AUFGABEN Tabelle 4: WHENEVER-Übersicht Anweisungsteil Schlüsselwort Bedeutung condition sqlerror sqlcode < 0 sqlwarning sqlwarn [0] = W (kein ANSI-SQL) not found sqlcode = 100 action stop Programmende mit rollback work continue keine Aktion, wie ohne WHENEVER goto label Sprung zur Marke (igitt!!) do break führt break aus (kein ANSI-SQL) do continue führt continue aus (kein ANSI-SQL) do Funktionsaufruf ruft genannte C-Funktion auf; nach Verlassen der Funktion läuft das Programm ganz normal weiter (kein ANSI- SQL) 8 weitere Aufgaben 1. Auch wenn Sie es außerhalb dieser Übung niemals verwenden: Schlagen Sie in einem C-Buch nach, wie man mit goto umgeht und bauen Sie es in ein Programm mit whenever ein. 2. Verwenden Sie whenever in einem Ihrer Programme und schauen Sie nach, was der SQL-Precompiler aus Ihren SQL-Statements macht. Was verändert sich gegenüber der Voreinstellung? Vergleichen Sie mit SQL-Precompiler-Outputs ohne whenever. Tip hierzu: Vergleichen Sie die zwei C-Quellcodes mit tkdiff (geht nur unter X). 3. Schauen Sie sich das Beispielprogramm whenever.pc zur Verwendung von whenever an. Bauen Sie in das Programm folgende Fehler ein und schauen Sie, wie das Programm darauf reagiert: a) connect-problem: Geben Sie eine Datenbank an, die nicht existiert. b) select-problem: Geben Sie eine Tabelle oder ein Attribut an, das nicht existiert. c) select-problem: Verwenden Sie bei einem Attribut einen falschen Datentyp oder ein nicht existierendes Attribut. d) insert-problem: Versuchen Sie, ein Tupel einzutragen, das nicht eingetragen werden darf, weil es gegen eine Bedingung (Primärschlüssel, Fremdschlüssel, Checkbedingung) vestößt. $Id: SQL-Programmierung-C-Oracle.tex,v :56:02 hj Exp $ 14

Embedded SQL mit C und PostgreSQL

Embedded SQL mit C und PostgreSQL Embedded SQL mit C und PostgreSQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2008-06-26 Inhaltsverzeichnis 1 Einleitung 1 2 SQL in Programmen 2 2.1 SQL-Kommandos im Quelltext........................

Mehr

2. Datenbank-Programmierung

2. Datenbank-Programmierung 2. Datenbank-Programmierung SQL ist eingeschränkt bezüglich der algorithmischen Mächtigkeit, z.b. Berechnung einer transitiven Hülle ist in Standard-SQL nicht möglich. Die Einschränkung ist von Bedeutung

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

3 Embedded SQL. 3.1 Theorie. 3.1.1 Was ist Embedded SQL?

3 Embedded SQL. 3.1 Theorie. 3.1.1 Was ist Embedded SQL? 3 Embedded SQL 3.1 Theorie 3.1.1 Was ist Embedded SQL? Nachdem bisher alle SQL-Anweisungen über den CLP abgewickelt wurden, sollen diese Anweisungen nun in eine Host-Sprache eingebettet werden. Wir werden

Mehr

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1 Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Fallbeispiel: Eintragen einer Behandlung

Fallbeispiel: Eintragen einer Behandlung Fallbeispiel: Eintragen einer Behandlung Im ersten Beispiel gelernt, wie man einen Patienten aus der Datenbank aussucht oder falls er noch nicht in der Datenbank ist neu anlegt. Im dritten Beispiel haben

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

1 Vom Problem zum Programm

1 Vom Problem zum Programm Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

3. Stored Procedures und PL/SQL

3. Stored Procedures und PL/SQL 3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln

Mehr

Gesicherte Prozeduren

Gesicherte Prozeduren Gesicherte Prozeduren Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln zurückgeliefert.

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views in SQL. 2 Anlegen und Verwenden von Views 2 Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig

Mehr

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man

Mehr

AUF LETZTER SEITE DIESER ANLEITUNG!!!

AUF LETZTER SEITE DIESER ANLEITUNG!!! BELEG DATENABGLEICH: Der Beleg-Datenabgleich wird innerhalb des geöffneten Steuerfalls über ELSTER-Belegdaten abgleichen gestartet. Es werden Ihnen alle verfügbaren Belege zum Steuerfall im ersten Bildschirm

Mehr

Hinweise zum Übungsblatt Formatierung von Text:

Hinweise zum Übungsblatt Formatierung von Text: Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger

Mehr

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote Zweck dieser Anleitung ist es einen kleinen Überblick über die Funktion Last Minute auf Swisshotelportal zu erhalten. Für das erstellen

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Änderungsbeschreibung HWS32 SEPA Überweisungen

Änderungsbeschreibung HWS32 SEPA Überweisungen Änderungsbeschreibung HWS32 SEPA Überweisungen Inhaltsverzeichnis SEPA ÜBERWEISUNGEN... 2 INSTALLATION... 2 ÄNDERUNGEN IN DER ADRESSVERWALTUNG... 4 ÄNDERUNGEN IM RECHNUNGSEINGANGSBUCH... 5 DIE ÜBERWEISUNGSPROGRAMME

Mehr

Dealer Management Systeme. Bedienungsanleitung. Freicon Software Logistik (FSL) für Updates

Dealer Management Systeme. Bedienungsanleitung. Freicon Software Logistik (FSL) für Updates Bedienungsanleitung Freicon Software Logistik (FSL) für Updates Inhaltsübersicht 1 Allgemeine Voraussetzungen 3 2 Datensicherung 4 3 Download des Updates 6 4 Update 8 5 Programm Update 11 Kundeninformation

Mehr

Informatik 12 Datenbanken SQL-Einführung

Informatik 12 Datenbanken SQL-Einführung Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Herzlich Willkommen bei der BITel!

Herzlich Willkommen bei der BITel! Herzlich Willkommen bei der BITel! Damit Sie auch unterwegs mit dem iphone Ihre E-Mails abrufen können, zeigen wir Ihnen Schritt für Schritt wie Sie Ihr BITel-Postfach im iphone einrichten. Los geht's:

Mehr

Kurzanleitung. Toolbox. T_xls_Import

Kurzanleitung. Toolbox. T_xls_Import Kurzanleitung Toolbox T_xls_Import März 2007 UP GmbH Anleitung_T_xls_Import_1-0-5.doc Seite 1 Toolbox T_xls_Import Inhaltsverzeichnis Einleitung...2 Software Installation...2 Software Starten...3 Das Excel-Format...4

Mehr

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC.

Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Anleitung Konverter Letzte Aktualisierung dieses Dokumentes: 14.11.2013 Der vorliegende Konverter unterstützt Sie bei der Konvertierung der Datensätze zu IBAN und BIC. Wichtiger Hinweis: Der Konverter

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Anleitung für den Euroweb-Newsletter

Anleitung für den Euroweb-Newsletter 1. Die Anmeldung Begeben Sie sich auf der Euroweb Homepage (www.euroweb.de) in den Support-Bereich und wählen dort den Punkt Newsletter aus. Im Folgenden öffnet sich in dem Browserfenster die Seite, auf

Mehr

Datenaustausch mit Datenbanken

Datenaustausch mit Datenbanken Datenaustausch mit Datenbanken Datenbanken Einführung Mit dem optionalen Erweiterungspaket "Datenbank" können Sie einen Datenaustausch mit einer beliebigen Datenbank vornehmen. Der Datenaustausch wird

Mehr

Dokumentation zum Spielserver der Software Challenge

Dokumentation zum Spielserver der Software Challenge Dokumentation zum Spielserver der Software Challenge 10.08.2011 Inhaltsverzeichnis: Programmoberfläche... 2 Ein neues Spiel erstellen... 2 Spielfeldoberfläche... 4 Spielwiederholung laden... 5 Testdurchläufe...

Mehr

SQL (Structured Query Language) Schemata Datentypen

SQL (Structured Query Language) Schemata Datentypen 2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente

Mehr

Installation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden

Installation von Druckern auf dem ZOVAS-Notebook. 1. Der Drucker ist direkt mit dem Notebook verbunden Installation von Druckern auf dem ZOVAS-Notebook Bei der Installation eines Druckers muss grundsätzlich unterschieden werden, ob der Drucker direkt am Notebook angeschlossen ist oder ob ein Drucker verwendet

Mehr

TECHNISCHE INFORMATION LESSOR LOHN/GEHALT BEITRAGSNACHWEIS-AUSGLEICH BUCH.-BLATT MICROSOFT DYNAMICS NAV

TECHNISCHE INFORMATION LESSOR LOHN/GEHALT BEITRAGSNACHWEIS-AUSGLEICH BUCH.-BLATT MICROSOFT DYNAMICS NAV MICROSOFT DYNAMICS NAV Inhaltsverzeichnis TECHNISCHE INFORMATION: Einleitung... 3 LESSOR LOHN/GEHALT Beschreibung... 3 Prüfung der Ausgleichszeilen... 9 Zurücksetzen der Ausgleichsroutine... 12 Vorgehensweise

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware Datenübernahme von HKO 5.9 zur Advolux Kanzleisoftware Die Datenübernahme (DÜ) von HKO 5.9 zu Advolux Kanzleisoftware ist aufgrund der von Update zu Update veränderten Datenbank (DB)-Strukturen in HKO

Mehr

Auslesen der Fahrtdaten wiederholen Schritt für Schritt erklärt (Funktion Abfrage zur Datensicherung erstellen )

Auslesen der Fahrtdaten wiederholen Schritt für Schritt erklärt (Funktion Abfrage zur Datensicherung erstellen ) + twinline GmbH + Am Heidekrug 28 + D-16727 Velten Auslesen der Fahrtdaten wiederholen Schritt für Schritt erklärt (Funktion Abfrage zur Datensicherung erstellen ) Der gewöhnliche Auslesevorgang der aktuellen

Mehr

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Tutorial: Wie erfasse ich einen Termin? In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können. Neben den allgemeinen Angaben zu einem

Mehr

Erstellen einer PostScript-Datei unter Windows XP

Erstellen einer PostScript-Datei unter Windows XP Erstellen einer PostScript-Datei unter Windows XP Sie möchten uns Ihre Druckvorlage als PostScript-Datei einreichen. Um Fehler in der Herstellung von vorneherein auszuschließen, möchten wir Sie bitten,

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

Mehr

Tutorial: Wie nutze ich den Mobile BusinessManager?

Tutorial: Wie nutze ich den Mobile BusinessManager? Tutorial: Wie nutze ich den Mobile BusinessManager? Im vorliegenden Tutorial erfahren Sie, wie Sie mit Hilfe des Mobile BusinessManagers über ein mobiles Endgerät, z. B. ein PDA, jederzeit auf die wichtigsten

Mehr

3 ORDNER UND DATEIEN. 3.1 Ordner

3 ORDNER UND DATEIEN. 3.1 Ordner Ordner und Dateien PC-EINSTEIGER 3 ORDNER UND DATEIEN Themen in diesem Kapitel: Erstellung von Ordnern bzw Dateien Umbenennen von Datei- und Ordnernamen Speicherung von Daten 3.1 Ordner Ordner sind wie

Mehr

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole Lavid-F.I.S. Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der Lavid Software GmbH Dauner Straße 12, D-41236 Mönchengladbach http://www.lavid-software.net Support:

Mehr

WLAN und VPN im b.i.b. mit Windows (Vista Home Premium SP1) oder Windows 7

WLAN und VPN im b.i.b. mit Windows (Vista Home Premium SP1) oder Windows 7 WLAN Bei Windows Vista Home Premium mit Service Pack 1 wrd unten rechts im Tray angezeigt, wenn Drahtlosnetzwerke verfügbar sind, ebenso bei Windows 7. Solange keine Verbindung mit diesen Drahtlosnetzwerken

Mehr

Grafstat Checkliste Internetbefragung

Grafstat Checkliste Internetbefragung Grafstat Checkliste Internetbefragung ( A ) Datensammelpunkt im Formular eintragen ( B ) Befragung auf dem Datensammelpunkt anmelden ( C ) Formular ins Internet stellen (z.b. Homepage) ( D ) Befragung

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Klicken Sie auf Weiter und es erscheint folgender Dialog

Klicken Sie auf Weiter und es erscheint folgender Dialog Datenimport Hier wird der Import von Excel-Daten in das Programm Videka TS beschrieben. Der Import mit den Programmen Aring s AdressMogul und Aring s promptbill läuft genauso ab, wie hier beschrieben.

Mehr

Version 1.0 [Wiederherstellung der Active Directory] Stand: 11.01.10. Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

Version 1.0 [Wiederherstellung der Active Directory] Stand: 11.01.10. Professionelle Datensicherung mit SafeUndSave.com. Beschreibung. Version 1.0 [] Stand: 11.01.10 Beschreibung Safe und Save WWS2000 durch den Verzeichniswiederherstellungsmodus Seite 1 von 9 Version 1.0 [] Stand: 11.01.10 1. HISTORIE... 3 2. EINLEITUNG... 4 3. VORAUSSETZUNGEN...

Mehr

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Um mit IOS2000/DIALOG arbeiten zu können, benötigen Sie einen Webbrowser. Zurzeit unterstützen wir ausschließlich

Mehr

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen Stand: 13.12.2010 Die BüroWARE SoftENGINE ist ab Version 5.42.000-060 in der Lage mit einem Microsoft Exchange Server ab Version 2007 SP1

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

Mehr

(im Rahmen der Exchange-Server-Umstellung am 15.-17.04.2005)

(im Rahmen der Exchange-Server-Umstellung am 15.-17.04.2005) Outlook-Umstellung (im Rahmen der Exchange-Server-Umstellung am 15.-17.04.2005) Die Umstellung des Microsoft Mailserver-Systems ntmail (Exchange) erfordert vielfach auch eine Umkonfiguration des Programms

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation (Bei Abweichungen, die bspw. durch technischen Fortschritt entstehen können, ziehen Sie bitte immer das aktuelle Handbuch

Mehr

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2 Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2 Installationsvoraussetzungen: Die Update-Routine benötigt das DotNet-Framework 4.0 Client Profile, das normalerweise über

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Wir basteln einen Jahreskalender mit MS Excel.

Wir basteln einen Jahreskalender mit MS Excel. Wir basteln einen Jahreskalender mit MS Excel. In meinen Seminaren werde ich hin und wieder nach einem Excel-Jahreskalender gefragt. Im Internet findet man natürlich eine ganze Reihe mehr oder weniger

Mehr

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten! Anmeldung über SSH Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten! Besitzer der Homepage Advanced und Homepage Professional haben die Möglichkeit, direkt

Mehr

Handbuch. Adressen und Adressenpflege

Handbuch. Adressen und Adressenpflege Handbuch Adressen und Adressenpflege GateCom Informationstechnologie GmbH Am Glocketurm 6 26203 Wardenburg Tel. 04407 / 3141430 Fax: 04407 / 3141439 E-Mail: info@gatecom.de Support: www.gatecom.de/wiki

Mehr

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de

Bedienungsanleitung. Stand: 26.05.2011. Copyright 2011 by GEVITAS GmbH www.gevitas.de GEVITAS-Sync Bedienungsanleitung Stand: 26.05.2011 Copyright 2011 by GEVITAS GmbH www.gevitas.de Inhalt 1. Einleitung... 3 1.1. Installation... 3 1.2. Zugriffsrechte... 3 1.3. Starten... 4 1.4. Die Menü-Leiste...

Mehr

Schulberichtssystem. Inhaltsverzeichnis

Schulberichtssystem. Inhaltsverzeichnis Schulberichtssystem Inhaltsverzeichnis 1. Erfassen der Schüler im SBS...2 2. Erzeugen der Export-Datei im SBS...3 3. Die SBS-Datei ins FuxMedia-Programm einlesen...4 4. Daten von FuxMedia ins SBS übertragen...6

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

Persönliches Adressbuch

Persönliches Adressbuch Persönliches Adressbuch Persönliches Adressbuch Seite 1 Persönliches Adressbuch Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. ALLGEMEINE INFORMATIONEN ZUM PERSÖNLICHEN

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

Mehr

Info zum Zusammenhang von Auflösung und Genauigkeit

Info zum Zusammenhang von Auflösung und Genauigkeit Da es oft Nachfragen und Verständnisprobleme mit den oben genannten Begriffen gibt, möchten wir hier versuchen etwas Licht ins Dunkel zu bringen. Nehmen wir mal an, Sie haben ein Stück Wasserrohr mit der

Mehr

FORUM HANDREICHUNG (STAND: AUGUST 2013)

FORUM HANDREICHUNG (STAND: AUGUST 2013) FORUM HANDREICHUNG (STAND: AUGUST 2013) Seite 2, Forum Inhalt Ein Forum anlegen... 3 Forumstypen... 4 Beiträge im Forum schreiben... 5 Beiträge im Forum beantworten... 6 Besondere Rechte der Leitung...

Mehr

Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme

Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme Stand: 01.06.2015 SFirm 3.1 wird als separates Programm in eigene Ordner installiert. Ihre Daten können Sie nach der Installation bequem

Mehr

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

Cookies. Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel

Cookies. Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel Krishna Tateneni Jost Schenck Übersetzer: Jürgen Nagel 2 Inhaltsverzeichnis 1 Cookies 4 1.1 Regelungen......................................... 4 1.2 Verwaltung..........................................

Mehr

Benutzerhandbuch MedHQ-App

Benutzerhandbuch MedHQ-App Benutzerhandbuch MedHQ-App T h o r D y n a m i c s G m b H A m B ü c h e n b e r g s k a m p 2 2 2 1 0 3 9 B ö r n s e n V e r s i o n 1. 0 S t a n d : 0 4 / 2 0 1 5 z u r M e d H Q - A p p - V e r s i

Mehr

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach - Projekt Personalverwaltung Erstellt von Inhaltsverzeichnis 1Planung...3 1.1Datenbankstruktur...3 1.2Klassenkonzept...4 2Realisierung...5 2.1Verwendete Techniken...5 2.2Vorgehensweise...5 2.3Probleme...6

Mehr

FastViewer Remote Edition 2.X

FastViewer Remote Edition 2.X FastViewer Remote Edition 2.X Mit der FastViewer Remote Edition ist es möglich beliebige Rechner, unabhängig vom Standort, fernzusteuern. Die Eingabe einer Sessionnummer entfällt. Dazu muß auf dem zu steuernden

Mehr

Mediumwechsel - VR-NetWorld Software

Mediumwechsel - VR-NetWorld Software Mediumwechsel - VR-NetWorld Software Die personalisierte VR-NetWorld-Card wird mit einem festen Laufzeitende ausgeliefert. Am Ende der Laufzeit müssen Sie die bestehende VR-NetWorld-Card gegen eine neue

Mehr

Apartment App. Web Style Guide

Apartment App. Web Style Guide Apartment App Web Style Guide Login Zum Anmelden müssen Sie zu der App URL noch /typo3 hinzufügen. Sie sollten dann dieses Anmeldeformular sehen: Geben Sie hier Ihren Benutzernamen und das Passwort ein

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Anleitung zur Erstellung einer Batchdatei - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart - Mögliche Anwendungen für Batchdateien: - Mit jedem Systemstart vordefinierte Netzlaufwerke

Mehr

E-Mail-Versand an Galileo Kundenstamm. Galileo / Outlook

E-Mail-Versand an Galileo Kundenstamm. Galileo / Outlook E-Mail-Versand an Galileo Kundenstamm Galileo / Outlook 1 Grundsätzliches...1 2 Voraussetzung...1 3 Vorbereitung...2 3.1 E-Mail-Adressen exportieren 2 3.1.1 Ohne Filter 2 3.1.2 Mit Filter 2 4 Mail-Versand

Mehr