Verbindungsorientierter Zugriff.
Für diese und die folgenden Übungen wird eine MS Access-Datenbank verwendet. Diese ist ähnlich in der
Struktur wie die SQL Server-Datenbank, die in Abschnitt 5.3 des Buches verwendet wurde.
Die Datenbank hat folgende Struktur:
Sie finden die Datenbankdatei hier (gezippt).
Entwickeln Sie ein Kommandozeilenprogramm 'SqlBatch', welches eine Textdatei
mit mehreren SQL-Anweisungen einliest und diese Anweisungen ausführt.
Die Textdatei ist so aufgebaut, dass in der ersten Zeile die
Verbindungsinformation (ConnectionString) zu finden ist und danach die SQL-Kommandos.
Die SQL-Kommandos werden jeweils durch einen Strichpunkt (';') beendet (siehe Beispiel).
Das Ergebnis (falls vorhanden) und auch die Fehler sollen in eine
Ausgabedatei gespeichert werden. Bei SELECT-Anweisungen soll das Ergebnis tabellarisch ausgegeben werden,
sonst soll die Ausgabe die Anzahl der modifizierten Datensätze enthalten.
Nehmen sie bei der tabellarischen Formatierung die Größe der Datenbankspalte zu Hilfe.
Alle SQL-Anweisungen sollen in einer eigenen Transaktion ausgeführt werden.
Schlägt eine SQL-Anweisung fehl, so werden die bereits getroffenen Anweisungen wieder rückgängig gemacht.
Beispiel:
Die Datei 'sqlcmd.txt' enthalte folgende Kommandos:
provider=SQLOLEDB;Integrated Security=SSPI; data source=127.0.0.1\NetSDK; database=NETBOOK;
SELECT * FROM Contact;
SELECT * FROM Person;
UPDATE Person
SET Name = 'Modified'
WHERE ID = 1;
SELECT * FROM Person;
Aufruf von SqlBatch:
>SqlBatch sqlcmd.txt result.txt
Ergebnis in result.txt