Ofarim Free SQL Client
======================

Ofarim Free ist ein skriptbasierter Mini-SQL-Client, der als HTA (Hypertext Application) ausgefhrt ist. Die ausfhrbare Datei heit ofarim_free.hta.

Ofarim Free gewhrt Zugriff auf verschiedene Datenbanken. Momentan sind dies:
- MDAC-Zugriff SQL Server (2005, 2000 oder 7.0) und die kostenlose Runtime-Version MSDE bzw. Express
- OLEDB-Zugriff auf Azure SQL Database (auch Azure Deutschland)
- Zugriff auf SQL Server 2005 (und 2000) ber den SQL Native Client (von SQL 2005, muss extra installiert sein)
- Jet-Datenbanken (Access)
- dBase-Datenbanken
- Textdateien mit Trennzeichen (z.B. CSV-Dateien)
- ADSI (Abfrage des Active Directory)

Weitere Datenbanktypen sind relativ leicht hinzuzufgen. Dies wird in knftigen Versionen vermutlich auch geschehen.

Ofarim Free ist fr Situationen geeignet, wo SQL-Datenbanken abgefragt bzw. genutzt werden mssen, aber kein "groer" SQL-Client zur Verfgung steht. Es knnen an den SQL Server nahezu alle SQL-Kommandos abgesetzt werden, die der SQL Server versteht (einschlielich Gespeicherte Prozeduren). Bei anderen Datenbanktypen hngt dies vom Provider ab.
Sofern eine Anweisung Daten zurckgibt, knnen sie innerhalb des Ofarim-Programmfensters oder alternativ als Excel-Tabelle angezeigt werden (sofern Excel lokal installiert ist).
Ofarim ist in der Leistungsfhigkeit sehr eingeschrnkt. Er soll vor allem fr kleine Zugriffe oder fr Tests von SQL-Anweisungen genutzt werden.


Systemvoraussetzungen
=====================

Da Ofarim Free die Client-Funktionalitt der MDAC nutzt und gleichzeitig als HTA implementiert ist, sollte es auf allen Windows-Systemen ab Windows 2000 ausfhrbar sein.
Die Nutzung des SQL Native Client von SQL Server 2005 setzt voraus, dass dieser auf dem System installiert wurde.


Dateien
=======

Folgende Dateien gehren zu Ofarim Free:
- ofarim_free.hta (ausfhrbare Datei)
- styles.css (Stylesheet fr die Optik der Oberflche)
- ofarim.ico (Icon-Datei)
- Ofarim_Free_ReadMe.txt (diese Datei)

Ofarim Free darf nur vollstndig weitergegeben werden.


Nutzung und Oberflche
======================

Ofarim Free wird per Doppelklick auf ofarim_free.hta gestartet. Zu jedem Eingabefeld ist eine Schnellzugriffstaste definiert, sodass man Ofarim per Tastatur schnell bedienen kann. Die Taste ist in der Bezeichnung des Feldes durch eckige Klammern gekennzeichnet (Beispiel: [D]atenbank - Zugriffstaste D). Die Zugriffstaste wird durch gleichzeitiges Drcken von Alt genutzt.

MS SQL Server (SQL Server/MSDE):
--------------------------------
Im Feld "Server" gibt man den Namen des SQL-Servers (bzw. des Rechners mit MSDE) an, den man nutzen will. Handelt es sich um eine lokale Installation, reicht ein Punkt aus.

Das Feld "Timeout" ermglicht die Angabe eines Verbindungs- und Befehlstimeouts in Sekunden. Nach dieser Anzahl Sekunden wird ein erfolgloser Verbindungsversuch abgebrochen.

Unter "Username" und "Passwort" kann man die Anmeldedaten eines SQL-Anmeldekontos (z.B. sa) angeben. Falls die Windows-Anmeldung gewnscht ist, mssen beide Felder leer bleiben!

Unter "Datenbank" lsst sich die Datenbank auswhlen, mit der man arbeiten will. Mit dem Button "DB-Liste auslesen" kann man ermitteln, welche Datenbanken zur Verfgung stehen.

MS SQL Server 2005 Native Client (muss installiert sein):
---------------------------------------------------------
Im Feld "Server" gibt man den Namen des SQL-Servers an, den man nutzen will. Handelt es sich um eine lokale Installation, reicht ein Punkt aus.

Das Feld "Failover-Server" ist nur interessant, wenn eine Datenbankspiegelung (Database Mirroring) eingerichtet ist - ein neues Feature von SQL Server 2005. Falls dies der Fall ist, kann der Failover-Server hier eingetragen werden. Beim Versuch, auf eine gespiegelte Datenbank zuzugreifen, weicht Ofarim im Bedarfsfall automatisch auf den Failover-Server aus.

Das Feld "Timeout" ermglicht die Angabe eines Verbindungs- und Befehlstimeouts in Sekunden. Nach dieser Anzahl Sekunden wird ein erfolgloser Verbindungsversuch abgebrochen.

Unter "Username" und "Passwort" kann man die Anmeldedaten eines SQL-Anmeldekontos (z.B. sa) angeben. Falls die Windows-Anmeldung gewnscht ist, mssen beide Felder leer bleiben!

Unter "Datenbank" lsst sich die Datenbank auswhlen, mit der man arbeiten will. Mit dem Button "DB-Liste auslesen" kann man ermitteln, welche Datenbanken zur Verfgung stehen.

Jet, dBase, Text:
-----------------
Im Feld "Datei" bzw. "Dateipfad" wird die Datei (Jet) bzw. der Ordner, in dem die Datei liegt (dBase, Text) angegeben. Bei Ordner-Angaben muss am Ende ein Backslash \ stehen.

ADSI:
-----
Es wird kein Servername angegeben. Die Angabe, welche Domne, welcher Container oder welcher Server abgefragt wird, wird in den Pseudo-Tabellennamen im Abfragetext kodiert (s.u.).

Alle:
-----
Das Feld "SQL-Skriptdatei" gestattet das ffnen eines SQL-Skripts. Dieses muss allerdings im selben Ordner abgelegt sein wie Ofarim selbst.

Die Auswahl "Ausgabe als" ermglicht das Anzeigen der abgefragten Daten als HTML-Tabelle im Ofarim-Fenster selbst oder als separate Excel-Tabelle.
Achtung: Beide Varianten sind eher als Vorschau-Mglichkeit gedacht. Die HTML-Ausgabe groer Datenmengen kann zum Absturz des Internet Explorer fhren (der die Ofarim-Oberflche darstellt), daher sollte die Anzahl der Zeilen und Zeichen immer begrenzt sein (Standard: je 100). 
Die Excel-Ausgabe ist sehr simpel implementiert und daher sehr (!) langsam. Alternativ dazu lsst sich die HTML-Ausgabe auch als Tabelle abspeichern (im HTML-Format), die dann mit Excel geffnet werden kann. Das geht viel schneller.

Im Feld "Abfragetext" kann ein beliebiges SQL-Kommando (in der Syntax, die die Datenbank versteht) eingegeben werden, oder auch mehrere. 
- Bei dBase- und Textdateien ist der Tabellenname gleich dem Dateinamen (Beispiel: SELECT * FROM daten.csv)
- Bei ADSI ist der Tabellenname die Angabe der Domne bzw. des Containers 
(Beispiel: SELECT name,sAMAccountName,profilePath FROM 'LDAP://DC=ar-demo,DC=local' WHERE objectClass='user' and objectCategory='person')

Mit dem Button "Text speichern" lsst sich ein erarbeitetes Skript im selben Ordner speichern, in dem auch Ofarim abgelegt ist.

Das Kontrollkstchen "Connection String anzeigen" ermglicht, neben dem Ergebnis der Abfrage auch den Verbindungsstring auszugeben.

"Statustexte unterdrcken" schaltet die Statusmeldungen ab. Vorsicht, dadurch werden auch Fehler nicht mehr angezeigt! Die beiden Kontrollkstchen lassen sich nicht gemeinsam auswhlen (weil das unsinnig wre).

Der Button "Jetzt abfragen" startet die Abfrage.

Der Button "Nur Connection String anzeigen" gibt den Verbindungsstring an, ohne die Abfrage auszufhren.

Im "Status"-Bereich werden Meldungen von Ofarim und vom Datenbankserver angezeigt. Die Statusmeldungen lassen sich mit dem Button "Statustexte lschen" entfernen, um das Fenster bersichtlich zu halten.

Die zurckgegebenen Daten werden unter "Ergebnis" angezeigt. Falls mehrere Resultsets anzuzeigen sind, erscheinen diese nacheinander als Tabellen.
Unter jeder Ergebnistabelle erscheint ein Button zum Speichern der Tabelle. Die Tabelle wird als HTML-Datei im selben Ordner gespeichert wie Ofarim selbst. Sie kann danach z.B. mit Excel geffnet werden, um die Daten weiterzuverarbeiten.


Lizenz und Gewhrleistung
=========================

Ofarim Free wird zur Nutzung auf eigene Gefahr weitergegeben. Der Autor ist nicht verantwortlich fr evtl. Schden, die durch die Nutzung von Ofarim Free entstehen. Beachten Sie, dass jedes SQL-Kommando ausgefhrt wird und dadurch auch Datenverluste oder Sicherheitsprobleme entstehen knnen. Hierfr ist die ausfhrende Person selbst zutndig.  
Ofarim Free kann frei weitergegeben werden. Wenn Sie das Programm vrndern oder erweitern, geben Sie es bitte unter einem anderen Namen weiter, vermerken Sie aber im Programmtext die Herkunft des Ursprungscodes. Solange Sie das Programm unter dem Namen "Ofarim" bzw. "Ofarim Free" weitergeben, mssen die zugehrigen Dateien vollstndig und unverndert bleiben.


Ich wnsche viel Spa und Erfolg!

Nils Kaczenski
(Vorname at Nachname .de)