GEVAS-Professional Installation unter Oracle

Aus GEVITAS
Version vom 18. April 2013, 09:11 Uhr von GevitasSupport (Diskussion | Beiträge) (Einträge in der INI-Datei)
Wechseln zu: Navigation, Suche

1 Allgemeines

GEVAS-Professional kann auch mit Oracle verwendet werden. Dazu wird derzeit (2012) noch hauptsächlich die BDE verwendet. Die BDE wird aber nach und nach durch den Datenbank-Treiber ADO ersetzt. Dieser Artikel bezieht sich hauptsächlich auf die BDE-Konfiguration.

1.1 Oracle-Client

Voraussetzung für den Datenbank-Zugriff ist, dass auf dem Rechner der Oracle-Client installiert ist. Dies ist der Datenbank-Treiber, mit dem eine Anwendung mit dem Oracle-SQL-Server kommuniziert. Bei dem Oracle-Client handelt es sich also um eine Software, mit der die Kommunikation des PC’s mit dem Oracle gesteuert wird. Diese Software ist die direkte Verbindung (über das Netzwerk) zu dem Oracle-Server. Mehr als die Kommunikation zu steuern, tut der Oracle-Client nicht, diese Software läuft im Hintergrund des PC’s und bekommt von den Anwendungsprogrammen die Befehle an der Server mitgeteilt, die sie dann an den Server weitergibt.

Für Oracle muss der Oracle-Client 9.x oder höher verwendet werden. Derzeit (2012) aktuell ist der Oracle Client 11g.

Oracle wird nicht über ODBC angesteuert sondern über die BDE. Auch ADO verwendet den Oracle-Client!

Die Installation des Oracle-Clients ist nicht Gegenstand dieses Artikels, weil dieser meistens über die zuständige IT-Abteilung installiert wird. Anleitungen im Internet gibt es z.B. hier.

1.2 BDE

Die BDE (Borland-Database-Engine) ist das Verbindungsglied zwischen dem Oracle-Client und dem Programm GEVAS-Professional. Auch hier gibt es einige Einstellungsmöglichkeiten. Für jeden Datenbank-Zugriff legt man in der BDE einen sog. „Alias“ an. Unter diesem Alias-Namen wird z.B. festgelegt, mit welchem Oracle-Net-Service-Name gearbeitet werden soll, mit welchen Benutzername (=Schema-Namen) man auf die Datenbank zugreift usw.

1.3 ADO

Seit Ende 2012 wird daran gearbeitet, die BDE durch ADO abzulösen. ADO ist eine modernere Datenbank-Schnittstelle als die BDE. Wann die BDE vollständig aus dem Programm entfernt sein wird, ist noch nicht abzusehen.

2 Einstellungen

2.1 ORACLE .Net-Konfigurationsassistent

Mit diesem Programm kann man einen sog. "lokalen Net Service Namen" anlegen und konfigurieren. Über den "Net Service Namen" können BDE und ADO auf der ORACLE-Server zugreifen. Ohne das funktioniert der Zugriff nicht!

  • Die Begriffe "Net Service Name" werden in Oracle leider doppeldeutig verwendet: Es gibt einen "Net Service Namen" auf dem Server, der auch "SID" benannt wird. Daneben gibt es den "Net Service Namen" auf dem lokalem Rechner, der manchmal auch als "lokaler Net Service Name" bezeichnet wird.

Nach dem Starten auf dem Windows-Startmenü heraus wählt man...

GEVAS-Pro Installation Oracle Konfigurationsassistent 1 Menu.jpg

Danach Hinzufügen oder Neu konfigurieren:

  • Nach jedem Schritt geht's mit der Schaltfläche [Weiter] weiter.

GEVAS-Pro Installation Oracle Konfigurationsassistent 2 Menu.jpg

Hinzufügen

Wenn man einen "Net Service Namen" hinzufügt, muss man zuerst den "Service Namen" des Servers bzw. der Datenbank angeben:

GEVAS-Pro Installation Oracle Konfigurationsassistent 3 Hinzufuegen.jpg

Das ist nicht der Name des Servers!

Danach muss das verwendete Netzwerk-Protokoll festgelegt werden:

GEVAS-Pro Installation Oracle Konfigurationsassistent 4 Protokoll.jpg

Anschließend muss man den Host-Namen (Server-Namen) angeben:

GEVAS-Pro Installation Oracle Konfigurationsassistent 5 Host.jpg

Danach kann man auswählen, ob man einen Test der Verbindung ausführen will oder nicht. Es ist empfehlenswert, diesen Test auszuführen, damit die Einstellungen kontrolliert werden können!

Zum Schluss muss man den Namen angeben, unter dem die Einstellungen gespeichert werden. Das nennt sich auch "Net Service Name" wie oben bei der Eingabe des Server-Net-Service-Namens, hat damit aber nichts zu tun!!! Beispiel:

GEVAS-Pro Installation Oracle Konfigurationsassistent 6 LokalerService.jpg

Wichtig: Der Service-Name sollte identisch sein mit dem BDE-Alias!!!

2.2 ORACLE Konfigurationsdatei

Die Einstellungen werden in einer Datei namens TNSNAMES.ORA gespeichert. Diese befindet sich in dem Ordner, der bei der Installation des Oracle-Clients angegeben wurde, z.B. C:\Oracle\product\11.1.0\client_1\network\admin.

Wichtig: Die Datei TNSNAMES.ORA MUSS UNBEDINGT im Oracle-Verzeichnis stehen! Sie darf NICHT in das Programmverzeichnis von GEVAS-Professional! Dann funktioniert zwar GEVAS-Professional, aber andere Anwendungen (wie z.B. Crystal-Reports) funktionieren im Zusammhang mit ORACLE nicht!!!

Beispiel einer Datei:

# tnsnames.ora Network Configuration File: C:\Oracle\product\11.1.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

GEVASSCHUL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = pgevas-serv)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = pgevas.swr.de)
)
)

GEVASPRO =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(Host = 172.17.1.200)(Port = 1521))
(CONNECT_DATA =
(SID = GEVASPRO)
)
)

2.3 BDE-Konfiguration

In der BDE müssen folgende Einstellungen auf der Seite Konfiguration vorgenommen werden:

GEVAS-Pro Installation Oracle BDE Einstellungen.jpg

Dies sind die Angaben für den Oracle-Treiber, die für einen neuen Alias verwendet werden:

Einstellung Beschreibung
DLL Muss SQLORA8.DLL lauten!
VENDOR INIT Muss OCI.DLL lauten (Diese DLL steht normalerweise im ORACLExx\BIN-Ordner!)
ENABLE INTEGERS Extrem wichtig: Muss auf True stehen! Ohne diese Einstellung würde der Treiber alle Zahlenfelder als Gleitkommazahl (Float) zurückliefern (Oracle kennt keine expliziten Integer-Datentyp-Felder!), das Programm würde dann nicht starten und viele Fehlermeldung Falscher Feldtyp... bringen!
NET PROTOCOL Wählen Sie hier TNS oder TCP/IP (Möglich aber auch SPX/IPX oder Named Pipes). Diese Einstellung muss dann später in der BDE-Konfiguration, im Oracle-Client und im Oracle-Server angegeben werden!
SERVER NAME Diesen Namen erhalten Sie von Ihrem Datenbank-System-Administrator. Hier wird der Standard-Name angegeben, wir sind ja bei der grundsätzlichen Einstellung! Erst beim Anlegen des eigentlichen Alias muss der Server-Name angegeben werden.
USER NAME Standard-Benutzer der Datenbank in Verbindung mit dem GEVAS-Programm. Diesen Namen erhalten Sie von Ihrem Datenbank-System-Administrator. Der Name hat nichts mit dem Benutzernamen zu tun, der in [GEVAS-Professional] selbst angegeben werden muss!

2.4 BDE-Alias

Wenn das Installationsprogramm noch keinen BDE-Alias angelegt hat, muss man ihn von Hand anlegen: Rechte Maustaste auf "Datenbanken" --> "Neu...".

Bei dem Alias müssen folgende Einstellungen gemacht werden:

GEVAS-Pro Installation Oracle BDE Alias Einstellungen.jpg

Einstellung Beschreibung
LANGDRIVER Hier den Zeichensatz WEurope ANSI einstellen! Bei einem falschen Sprachtreiber stimmen die Umlaute nicht!
VENDOR INIT Muss OCI.DLL lauten (Diese DLL steht normalerweise im ORACLExx\BIN-Ordner!)
ENABLE INTEGERS Extrem wichtig: Muss auf True stehen! Ohne diese Einstellung würde der Treiber alle Zahlenfelder als Gleitkommazahl (Float) zurückliefern (Oracle kennt keine expliziten Integer-Datentyp-Felder!), das Programm würde dann nicht starten und viele Fehlermeldung Falscher Feldtyp... bringen!
NET PROTOCOL Wählen Sie hier TNS oder TCP/IP (Möglich aber auch SPX/IPX oder Named Pipes). Diese Einstellung muss mit der Einstellung im Orace-Client übereinstimmen.
SERVER NAME Diesen Namen erhalten Sie von Ihrem Datenbank-System-Administrator. Hier wird der Standard-Name angegeben, wir sind ja bei der grundsätzlichen Einstellung! Erst beim Anlegen des eigentlichen Alias muss der Server-Name angegeben werden.
USER NAME Standard-Benutzer der Datenbank in Verbindung mit dem GEVAS-Programm. Diesen Namen erhalten Sie von Ihrem Datenbank-System-Administrator. Der Name hat nichts mit dem Benutzernamen zu tun, der in [GEVAS-Professional] selbst angegeben werden muss!

2.5 Einträge in der INI-Datei

In der INI-Datei müssen folgende Angaben mit Oracle gemacht werden:

[Options] Unter diesem Abschnitt werden die Angaben gemacht.
Database=XXXX Hier wird der BDE-Alias eingetragen. Er sollte den gleichen Namen haben wie der ORACLE-Service-Name, den man mit dem ORACLE-Konfigurationsassistenten festgelegt hat.
DatabaseZent=GEVPROZE
Alias der Zentral-Datenbank. In der Zentral-Datenbank kann man einige Tabellen zentral ablegen, z.B. Kostenstellen, Kostenträger usw. Somit hat man z.B. für jede Abteilung die "normale" Datenbank und ein paar Tabelle zentral. Diese Angabe ist optional und kann auch weggelassen werden. Wenn Sie keine Zentraldatenbank verwenden, müssen Sie diesen Eintrag weglassen oder hinter dem "=" leer lassen!
DatabaseIV=XXXX Alias der Inventarverwaltung. Die Inventarverwaltung ist ein Zusatzmodul! Es geht hierbei nicht um die eingebaute Inventar-Erfassung! Diese Angabe ist optional und kann auch weggelassen werden. Wenn Sie das Zusatzmodul Inventarverwaltung nicht verwenden, müssen Sie diesen Eintrag weglassen oder hinter dem "=" leer lassen!
UseDatabaseName=0/1 Datenbank-Name benutzen 0 (=Nein) oder 1 (=Ja).
Wenn 0, wird der Datenbankname aus der ODBC-Datenquelle genommen.
Wenn 1, muss der Datenbankname mit dem Parameter DatabaseName= festgelegt werden!
DatabaseName=XXXX Für ADO und CRRUN12 muss man den lokalen Service-Namen angeben.
DatabaseDriverName=ORACLE Für ORACLE muss natürlich ORACLE angegeben werden. Wenn dieser Eintrag fehlt, gibt es einen Fehler bei Initialisieren: Datenbanktyp ist unzulässig..
UseSQLUser=0/1 Legt fest, ob für die Anmeldung eine spezieller User verwendet werden soll, oder ob die Windows-Anmeldung (-Authentifizierung) verwendet werden soll.

0=Windows-Authentifizierung: Die Anmeldung an den SQL-Server erfolgt über die Windows-Anmeldung. Der Windows-User oder die Gruppe, der er angehört, hat die Zugriffsrechte auf den SQL-Server und die Datenbank.
1=SQL-Anmeldung: Es gibt einen speziellen User, der für die Anmeldung an den SQL-Server verwendet wird. Dieser User muss im SQL-Server angelegt werden und Zugriffsrechte auf die Datenbank haben. Der Username muss mit DatabaseUser=xxx und das Passwort mit DatabasePW=xxx in der INI-Datei definiert werden!

UseSQLServerName=0/1 SQL-Server-Name benutzen 0 (=Nein) oder 1 (=Ja). Standardmäßig auf 1 lassen. Für den ADO-Zugriff muss ein Server-Name angegeben werden!

Wenn 1, muss der Server-Name mit DatabaseServerName in der INI-Datei angegeben werden!
DatabaseServerName Name des Servers, auf dem der ORACLE-Server läuft. Für den ADO-Zugriff 'muss ein Server-Name angegeben werden! Zusätzlich muss UseSQLServerName=1 angegeben werden.
DatabaseUser=xxxxxxxx Der Standard-User, mit dem auf die Datenbank zugegriffen wird. Das hat nicht zu tun mit dem GEVAS-Benutzer, mit dem man sich an das Programm anmeldet!
DatabasePW=xxxxx Das Passwort, mit dem auf die Datenbank zugegriffen wird. Das hat nicht zu tun mit dem GEVAS-Benutzer-Passwort, mit dem man sich an das Programm anmeldet!<cr>Die ist die unverschlüsselte Version des Passwortes, die man auch direkt in der INI-Datei editieren kann. Aus Sicherheitsgründen sollte man diesen (bequemen) Weg nicht gehen und das Passwort über das GEVAS-Konfigurationsprogramm anlegen. Hierbei wird das Passwort verschlüsselt gespeichert!
DPW=xxxxx Das verschlüsselte Passwort, mit dem auf die Datenbank zugegriffen wird. Das hat nicht zu tun mit dem GEVAS-Benutzer-Passwort, mit dem man sich an das Programm anmeldet! Dieser Eintrag wird über das GEVAS-Konfigurationsprogramm angelegt und darf nicht manuell editiert werden!
DatabaseTblPrefix=XXXX. Name des Standard-Users (Owner der Database) mit anschliessendem Punkt! Muss nur angegeben werden, wenn man innerhalb eines ORACLE-Servers mit mehreren Datenbanken (z.B. Abteilungen) arbeitet.

3 Versionen

Bei den eingesetzten Version muss man unterscheiden zwischen der ORACLE-Client-Version und der ORACLE-Server-Version! Die können durchaus gemischt werden. Es ist also nicht gesagt, dass man mit einem ORACLE-9-Client nicht auf einen ORACLE-10-Server zugreifen kann!

  • Das hier genannte sind Erfahrungswerte, die keinen Anspruch auf Vollständigkeit haben!

3.1 Server-Versionen:

Version Hinweise
Oracle-Server 8i Veraltet. Funktioniert vermutlich nur mit ORACLE-Client 8. Kann nicht mehr in Verbindung mit GEVAS-Proffesional eingesetzt werden, weil es z.B. keine "Left outer joins" unterstützt.
Oracle-Server 9i Noch teilweise im Einsatz. Wird meist in Verbindung mit Oracle-Client 9 benutzt. Funktioniert unter Windows 7 auch mit dem Oracle-Client 11!
Oracle-Server 10 Keine Erfahrungswerte vorhanden.
Oracle-Server 11g Läuft stabil in Verbindung der Client-Version Oracle 11g auch unter Windows 7.

3.2 Client-Versionen:

Version Hinweise
Oracle-Client 8 Veraltet. Funktioniert vermutlich nur bis ORACLE-Server 9.
Oracle-Client 9 Unter Windows XP noch gebräuchlich. Erfahrungen mit ORACLE-Server > 9 liegen noch nicht vor.
Oracle-Client 10 Unter Windows XP noch gebräuchlich. Erfahrungen mit ORACLE-Server > 10 liegen noch nicht vor.
Oracle-Client 11 Läuft unter Windows 7 in der 32-Bit-Version. Auch unter Windows XP gebräuchlich. Läuft mit ORACLE-Server 10 und 11.

64-Bit Anwendungen können nicht den 32-Bit Oracle Client verwenden, 32-Bit Anwendungen nicht den 64-Bit Client! Da GEVAS-Professional ein 32-Bit-Programm ist, muss man auch die 32-Bit-Version des Oracle-Clients verwenden!

Funktioniert unter Windows 7 auch mit dem Oracle-Server 9!

4 Links

Alle genannten Warenzeichen sind Eigentümer der Warenzeichen-Inhaber. Alle Angaben ohne Gewähr.