SOG-Helpcenter Logo SOG Business - Software

SOGSQL - Ausführung von SQL-Kommandos


Das Programm SOGSQL erlaubt die interaktive Ausführung von SQL Kommandos.
SQL Scripte können aus Dateien gelesen oder direkt eingegeben werden.
Bei der Ausführung wird die "SOG Generic SQL Syntax" unterstützt.

Aufruf



    sogsql [Parameter...] [SqlDatei]

Mögliche Parameter

 

 

-x

Ausführung eines Datenbankupdates oder eine SQL-Datei ohne weitere Nachfrage. Nach Ausführung beendet sich SOG SQL nicht.

-X

Ausführung eines Datenbankupdates oder eine SQL-Datei ohne weitere Nachfrage. SOGSQL anschließend automatisch beenden. Sollten Fehler auftreten, bleibt SOGSQL stehen, und zeigt diese an.

-R

Startet die automatische Datenbankaktualisierung.

-RU update

Startet die automatische Datenbankaktualisierung für den ausgewählten Updateteil.

-RI update

Startet die automatische Datenbankaktualisierung außer für den ausgewählten Updateteil.

-hhproj Projekt

Setzt das aktuelle Projekt.

-hhfirm Firma

Setzt die aktuelle Firma.

-step

Setzt den Einzelschrittmodus für die Ausführung der automatischen Datenbankaktualisierung.

-dbrel Scriptname

Erzeugt ein dbrel-Create Script, und beendet sich wieder.

-con Verbindung

Stellt die gewünschte Datenbankevrbindung ein. Initialwert=Global.

-noignore

Testfunktion: Kein Ignorieren von Updatescripten bei -R.

-linefmt

Ausgabe im Format "Ein Datenfeld pro Zeile".

-onehead

Ausgabe nur mit einer Überschrift. Gesamt Ausgabe muss dabei gepuffert werden, bevor der erste Datensatz ausgegeben werden kann.

-fixw

Ausgabe im Format "Feste Spaltenbreiten". In diesem Format wird versucht, bei der ersten Datenzeile die Struktur der SQL-Anweisung auszuwerten zm festzulegen, wie breit jede Spalte werden soll. Anschließend erfolgt die Ausgabe jeweils in der so ermittelten Breite.

-sogunicode

Umsetzungen für Eingabe und Darstellung von Zeichen im SOG-Unicode Zeichensatz aktivieren.

-gensqlonly

Nur Umsetzung GenericSQL in Nativ SQL durchführen. Ergebnis ausgeben.

-noecho

Keine Echo-Ausgabe der SQL Kommandos.

-tab Tabelle

Ruft sogsql im Bearbeitungsmodus für eine bestimmte Datenbanktabelle auf. Es wird automatisch ein SQL für die Anzeige der ersten 100 Zeilen der Tabelle gebildet und angezeigt.
Die Anzahl der anfangs dargestellten Datensätze kann über die Umgebungsvariable SOGSQLTabOptNumberOfRecords eingestellt werden.

-nosqltriggermsg

Keine Ausgabe von Fehlermeldungen aus SQL Triggern in das Systemprotokoll. (z.B. KeyKorrektur oder hhupd-Korrektur)

-dbauth

Ermöglicht die Eingabe einer Programmauthentifikation um Zugriff auf SOG ERP Interne Datenbankkennworte zu bekommen. Das benötigte Kennwort ändert sich in regelmäßigen abständen.

-sach

Führt eine Anmeldung für den aktuellen Sachbearbeiter durch. Ermöglicht die Nutzung von Sachbearbeiter bezogenen SQL Funktionen.
Wird diese Option verwendet, kann über die Oberfläche weder das Projekt noch die Firma für die auszuführenden SQL-Anweisungen eingestellt werden.

-xsach benutzer

Wirkt wie -sach. Setzt jedoch vorher den für die Funktion "-sach" genutzten Sachbearbeiter.

-nocheckdb

Keine Prüfung der Codepage der genutzen Datenbank.

 

SqlDatei

Liest die angegebene SQL-Datei zum Programmstart in den Editor.

Bedienung


Das Fenster von SOGSql ist im wesentlichen 2-geteilt. In der obern Hälft können SQL-Anweisungen definiert werden, in der unteren Hälfte wird die Ausgabe dargestellt.
Die Schaltflächen "Ausführen" oder die Taste "F5" startet die Ausführung der eingegebenen SQL-Anweisungen. Ist in diesem Augenblick in dem oberen Textfenster ein Text markiert, so wird nur der markierte Teil als SQL-Anweisung ausgeführt. Besteht keine Markierung, wird die gesamte Eingabe ausgeführt.
Die Schaltfläche "Abbrechen" kann eine laufende SQL-Anweisung abbrechen. Dabei wird auf der Datenbank gestartete Datenbankprozess mit abgebrochen.

Aktuelle Datenbank


Beim Betätigen der Ausführen Schaltfläche wird jeweils die durch die Datenbankverbindung definierte Startdatenbank wieder als aktuelle Datenbank eingestellt.
Wird druch die sql-Anweisung "use Database" eine andere Datenbank zur aktuellen gemacht, wirkt dies nur für die aktuelle SQL-Ausführung.
Bei der nächsten Betätigung von "Ausführen" (oder F5) wird wieder die Startdatenbank als aktuelle eingestellt.

Zugriffsrechte


Für die Ausführung der SQL-Anweisungen werden die für Zugriffsrechte verwendet die der aktuelle Benutzer auf der Datenbank hat (Windows-Rechte). Alternativ kann auch die Datei "hhdblevel.ini" zur Steuerung von Zugriffsrechten verwendet werden. Dies wird aber nicht empfohlen.

Speichern von SQL-Scripten und Ausgaben


Über das Menü "Datei" kann das aktuelle SQL-Script geladen oder gespeichert werden. Hier finden Sie auch den Menüpunkt "Ausgabe speichern unter ...". Über diesen kann der Inhalt des Ausgabefensters gespeichert werden.

Suchen und Ersetzen


Über das Menü "Bearbeiten" stehen Funktionen zum Suchen von Textpassagen zur Verfügung. Die Suche wirkt jeweils auf das aktive Textfenster. Also entweder auf die SQL-Eingabe, oder auf die SQL-Ausgabe. Über die Tasten "F3" und "Umschalt-F3" können Sie weiter bzw. rückwärts suchen.
Eine Ersetzungsfunktion steht nicht zur verfügung. Nutzen Sie dazu bitte die Zwischenablage.

Optionen


Über den Menüpunkt Optionen können verschiedene Optionen ein- und ausgeschaltet werden.
Die Optionen haben folgende Bedeutung:

 

Dbupdate mit Singlestep

Bei einem Dbupdate wird vor Ausführung eines SQL-Kommando jeweils die Bestätigung des Benutzers eingeholt.

SQL-Echo

Sorgt dafür, dass in der Ausgabe zuerst die eingegebenen SQL-Kommandos noch einmal wiederholt werden.

Zeilenumbruch

Quelldatei mit Zeilenumbruch darstellen.

Syntax-Highlight

Quelldatei mit SQL Syntaxvisualisierung darstellen.

Ein Datenfeld pro Zeile

Ausgabe im Format "Ein Datenfeld pro Zeile".

 

Feste Feldbreite ausgeben

Bei einer nicht Tabellarischen Ausgabe erfolgt die Formatierung der Spalten mit einer Spaltenbreite, die sich aus der Definition der Quelldaten ergibt, nicht aus der effektiven Inhalten.

 

Nur eine Überschrift.

Ausfbereitung erfolgt mit nur einer Überschrift an Stelle einer seitenweisen Aufbereitung mit seintenweisen Überschriften.

 

tab-Option: Felldnamen sortieren

Bei Verwendung der tab-Kommandozeilenoption werden Feldnamen speziell sortiert.

 

Font verkleiner / vergrößern

Einstellen der Fontgröße für ein- und Ausgabefenster

 

Nur SOG Generic-SQL umsetzen

Nur die Syntax-Umsetzung durchführen. Nicht die Kommandos selbst laufen lassen.

 

set statics io on / set statistics time on

Einschalten der entsprechenden Optionen. Ausgabe erfolgt im Ausgabefenster (oder der Ausgabedatei).

 

show plan

Nur den Ausführungsplan, im Xml Format, ausgebenn.

 

schema dump

Nur den SQL Schema Dump ausgeben.

 

Intern ausführen.

SQL's werden durch sogsql ausgeführt statt über einen externen Prozess.

 

Ausgabe in Tabellenform

Ausgabe erfolgt nicht in Textform sonder über einen Tabellecontrol.

 

Ausgabe in Datei

Ausgabe wird in eine Datei umgelenkt.

 

Aktualisierungs GUI ermöglichen.

Der erste SQL erlaubt das Ändern der angezeigten Daten, sofern dies durch den genutzt SQL möglich ist.

Ablauf einer automatischen Datenbankaktualisierung


Durch Betätigen der Schaltfläche "DBUpdate starten" wird eine automatische Datenbankaktualisierung gestartet.
Dabei wird zuerst über einen SQL ermittelt, welche Datenbankteile aktualisiert werden müssen. Anschließend wird der Aktualisierungsprozess für jeden dieser Teile durchgeführt.
Für einen Aktualisierungsteil wird dann ermittelt, auf welcher Version die Datenbank ist, und ob bereits neue Aktualisierungsscripte im Verzeichnis ${PROJ}\sql\update bzw. ${PROJ\sql\DBTEIL vorliegen. Ist dies der Fall wird das Erste auszuführende SQL-Kommando ermittelt, und im SQL-Fenster dargestellt. Ist die Option SingleStep gesetzt, kann der Benutzer nun entscheiden, ob das SQL-Script ausgeführt wird, oder nicht. Ist die Option nicht gesetzt, wird die Anweisung automatisch ausgeführt.
Tritt bei der Ausführung kein Fehler auf, wird der Datenbankzustand entsprechend aktualisiert, und das nächste Kommando ausgeführt.
Tritt ein Fehler auf, so ist das ausgeführt Kommando im SQL-Fenster eingestellt, die Fehlermeldung erscheint mit Ausgabefenster. Der Benutzer muss nun manuell dafür sorgen, dass das Kommando ausgeführt wird. Entweder kann er das Umfeld so beeinflussen, dass das Kommando nun durchlaufen sollte, und die Schaltfläche "DBUpdate fortsetzen" betätigen. Oder er kann vorbereitenden SQL-Kommandos ausführen, und anschließend auf "DBUpdate fortsetzen" klicken. Oder er kann das aktuelle Kommando verändern und "Ausführen" drücken. Ist das veränderte Kommando dann fehlerfrei durchgeführt worden, kann mit der Schaltfläche "Aktuellen Schritt überspringen" das Update fortgesetzt werden. Als letztes hat er die Möglichkeit den fehlerbehafteten Schritt einfach mit der Schaltfläche "Aktuellen Schritt überspringen" zu überspingen. Dies sollte aber nur dann getan werden, wenn die notwendige Aktion bereits früher durchgeführt wurde, oder später noch durchgeführt werden soll. Anderenfalls kann es so Fehlern bei der weiteren Ausführung aus SOG ERP (VACOS) kommen.

Konfiguration einer OLEDB-Verbindung


Um einen Verbindung zu einer beliebigen OLEDB-Datenquelle aufzubauen gehen Sie wie folgt vor:
Starten Sie sogsql.
Wählen Sie den Menüpunkt "Datei" - "Verbindung konfigurieren".
Geben Sie als Datenbanktyp "oledb" an.
Tragen Sie unter "Servername" den OleDb-Connect String ein.
Beispiele für SQL Server:
  Provider=sqloledb;Data Source=sogdb3;Initial Catalog=hdl_test_stolle;Integrated Security=SSPI;
  Provider=sqloledb;Data Source=sogdb3;Initial Catalog=hdl_test_stolle;User Id=informix;Password=xyz;

Syntax-Hervorhebung


Häufig verwendete SQL-Elemente, sowie die SOG-Generic-SQL Erweiterungen, werden mit einer anderen Farbe dargestellt.
Die SQL-Syntax wird nicht vollständig hervorgehoben. Nur häufig verwendete Elemente sind betroffen.
Diese Farbdarstellung kann über das Optionen-Menü abgeschaltet werden.

Mit Hilfe der Umgebungsvariablen "SOGSqlSyntaxFile" kann eine abweichende XML-Datei für die Definition dieser Farbdarstellungen hinterlegt werden.

Verwendung von MDX


MDX (Multidimensional Expressions) ist eine Abfragesprache die es erlaubt, Daten direkt aus einem Microsoft Analysis Cube abzurufen. Um in SOGSQL MDX verwenden zu können, muss zuerst eine entsprechende Connection angelegt werden. Setzen Sie dazu eine entsprechende Umgebungsvariable in einer der ENV-Dateien (z.B. in der Firmen-ENV Datei).

env OleDbCubeHDL (adomd|sogdb3|VacosCubeHDL)

In diesem Beispiel wird die Connection "CubeHDL" auf den Server "sogdb3" und dort auf den Katalog "VacosCubeHDL" festgelegt.
Nach der Registrierung der Umgebungsdatei steht die Verbindung in SOGSQL zur Verfügung.
Sie können nun MDX-Queries absetzen. Die Syntax dieser MDX-Sprache entnehmen Sie bitte der Microsoft-Dokumentation zu diesem Thema.

Beispiel:

select
  non empty {[Kalenderjahr Jahr].members}  on COLUMNS,
  non empty {[Kunde.Kunde].MEMBERS} ON ROWS FROM [Buchungen]
     where [Measures].[Buchungen Verkauf Bruttoumsatz];



#ssas

Einstellen der Überschrift einer SQL GUI-Tabelle


Wir vor einer SQL-Anweisung mit "/* SOGTitle:" eine Überschrift festgelegt, so wird die daraus erzeugte GUI-Tabelle mit diesem Text als Überschrift versehen.
Beispiel:

    /* SOGTitle: lockown zu lockinfo */
    select * from lockown where schutznummer in (select schutznummer from lockinfo);

Das Ergebnis wird dann nicht mit "Result2", sondern mit dem festgelegten Text beschriftet.