Remote SQL

Kurzinformation

Ausführliche Informationen finden Sie im Handbuch.

Remote SQL (RSQL), aufgebaut auf modernster Client/Server Technologie, erlaubt Ihnen den Zugriff auf HP NonStop-SQL Datenbanken direkt aus einem Windows-, OS/2- oder Unix-Programm heraus. Dabei wird aus Gründen der einfachen Administration auf den Einsatz von ODBC bewußt verzichtet.

Zusammengefaßt bietet RSQL unter anderem folgende Vorteile:

Einsatzbereich

Der Zweck des Produktes Remote-SQL (RSQL) ist es, dem Programmierer von Anwendungen auf einem PC (Windows und andere) zu gestatten, über eine Netzwerkverbindung auf Daten einer HP NonStop-SQL-Datenbank zuzugreifen.

Realisierung

RSQL wurde in Client/Server Architektur realisiert. Dabei stellt das HP-System die Server-Maschine dar und der PC oder das Unix-System den Client. Folglich enthält RSQL zwei wesentliche Komponenten:

  1. einen Serverprozess für die HP-Seite

  2. eine Funktions- bzw. Klassenbibliothek für die PC-Seite, mit deren Hilfe der Anwendungsprogrammierer in die Lage versetzt wird, seiner Anforderung gemäße Client-Programme zu schreiben.

Die Kommunikation zwischen diesen beiden Komponenten erfolgt mittels TCP/IP. Genaue Kenntnisse dieses Protokollstacks werden vom Programmierer jedoch nicht verlangt, da sämtliche Netzwerkzugriffe durch C++ Klassenbibliotheken verborgen werden. Im Gegenteil: der Anwendungsprogrammierer kann sich während der Entwicklung weitestgehend auf die eigentlichen SQL- und Datenbankproblematiken konzentrieren, ohne sich um Details der Transportschichten kümmern zu müssen.

Die folgende Graphik verdeutlicht am Beispiel eines Windows-Clients das Zusammenspiel der einzelnen Komponenten:

Der Server-Prozess auf dem HP-System wird über den LISTNER-Prozess des NonStop-TCP/IP gestartet, sobald ein Client-Programm auf dem Client-System (es können auch mehrere dieser Client-Systeme parallel eingesetzt werden) eine Verbindung eröffnet.

Durch Aufruf der zugehörigen Klassenfunktionen kann das Anwendungsprogramm nun auf die SQL-Daten zugreifen, wobei die Klassenbibliothek die Aufträge über das TCP/IP-Netzwerk an den Serverprozess sendet. Dieser interpretiert die Aufträge und führt die entsprechenden SQL-Operationen aus.

Anschließend überträgt er die Antwortdaten an den PC. Diese werden nun dort in systemgerechte Datenformate konvertiert und dem aufrufenden Anwendungsprogramm bereitgestellt.

Programmierumgebung

RSQL verwendet zur Ausführung von Datenbankoperationen dynamische SQL-Anweisungen. Um solche SQL-Anweisungen in ein Anwendungsprogramm aufzunehmen, stellt RSQL eine Bibliothek von Funktionen bzw. C++-Klassen zur Verfügung.

Auch wenn die Verwendung dynamischer SQL-Anweisungen zunächst nach hohem Aufwand klingt: mit RSQL wird die Anwendung beinahe zum Kinderspiel und unterscheidet sich kaum von der üblichen Programmierung von SQL-Abfragen.

Die gesamte Netzwerkanbindung und die Realisierung des Client/Server-Systems (mit Ausnahme der Netzwerkadresse des HP-NonStop-Systems) werden in den Klassenbibliotheken verborgen, die folgende Aufgaben erfüllen:

Die folgenden Datentypen werden unterstützt: CHAR(n), VARCHAR(n), SMALLINT, INTEGER, LARGEINT, NUMERIC(m,n), unsigned NUMERIC(m,n), REAL, DOUBLE, DECIMAL(n,m), DATETIME, INTERVAL, Nullindikator

Noch ein Wort für C++-Neulinge: die RSQL Klassenbibliotheken fordern keine tiefgehenden Kenntnisse der Programmiersprache C++. Wenn Sie bereits erfahren sind im Umgang mit C, so wird Ihnen die Verwendung von RSQL kaum Schwierigkeiten bereiten. Auf der anderen Seite nimmt Ihnen C++ aber eine Menge Arbeit ab und sorgt unter anderem dafür, daß Ihre Programme zuverlässiger ablaufen. Kenntnisse in NonStop SQL sollten jedoch vorhanden sein.