Auswahl  

Oracle Forms 6i mit Win 10 und Oracle 18 XE 

Forms
23.05.20 (MP)
23.05.20
Oracle Forms 6i auf Oracle 18c XE

Passende Schulungen zum Thema

Manchmal hat man doch Sehnsucht nach der alten Zeit, in unserem Fall nach einer Oracle Forms 6i Version aus dem Jahre 1998.
Im folgenden Tipp versuchen wir dieses alte Release nochmal zum Laufen zubringen. Ein kleiner Spoiler vorab: DAS GANZE IST NICHT SUPPORTED !
Das bedeutet, nicht von mir, noch von Oracle. Also bitte erstellen Sie von allem was Ihnen lieb und teuer ist ein funktionierendes (und damit getestetes) Backup.

Vorbereitung:
Wir besorgen uns eine alte Oracle Forms6i / Reports6i Version (Oracle Developer 6i) (Die gab es damals noch auf CD :-) )
Wenn Sie einen Wartungsvertrag mit Oracle haben, besorgen Sie sich bitte zusätzlich die Patches 3 und 19.

Installieren Sie das Grundprodukt und danach den Patch 18.
MOS: 6194129 Patch 18
 
Kleine Anmerkung aus der Oracle Doku: Forms 6 war nie Zertifiziert für Oracle 10.2 oder höher

Jetzt kommt der spannende Teil (hat mich fast 2 Tage gekostet):
Tauschen Sie die Dateien (Pfad c:\orant\bin) nn60.dll und nnmb60.dll aus dem Patch 3 gegen die aktuellen aus.
Wenn Sie die Dateien nicht zur Verfügung haben, einfach die beiden Namen in die Suchmaschine Ihrerer Wahl eingeben und schon findet man zwei Treffer zum Download.

Praktische Einträge in der Registry für die Oracle Forms6i Software:
Pfad: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\ORACLE\HOME0
LOCAL=XE
NLS_LANG=GERMAN_GERMANY.UTF8

Nun in  der SQLNET.ORA auf der Serverseite folgendes editieren:
SQLNET_ALLOWED_LOGON_VERSION=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
Anmerkung: Eine Oracle 18c DB verwendet einen anderen Hash-Algo für die Passwort-Verschlüsselung im Vergleich zu Oracle 8.
Wir sind durch diese Einstellung also auf dem Sicherheitsniveau einer Oracle 8 Datenbank. Kredikarten-Daten würde ich in der DB nicht speichern :-)

Oracle Forms 6i arbeitet mit dem Zeichensatz AL16UTF8 nicht zusammen, deswegen müssen wir den bei der XE DB als Default eingestellten Zeichensatz ändern.
Achtung das sollte direkt nach der Installation der DB und noch vor dem Datenimport passieren !!!
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET INTERNAL_USE UTF8; -- oder der geliebte Zeichensatz WE8MSWIN1252
ALTER SYSTEM DISABLE RESTRICTED SESSION;

Nun machen wir einen Test auf den alten Oracle 8 Passwort-Hash (sonst bekommen Sie bei der Forms Anmeldung immer einen ORA-01017 Fehler zurück):
select password from sys.user$
where name='SCOTT'; --Leer

Neues Passwort für den Benutzer SCOTT setzen
ALTER USER SCOTT IDENTIFIED BY tiger;

Nun sollte das "alte" Password wieder zu sehen sein:
select password from sys.user$
where name='SCOTT';
=>F894844C34402B67

Jetzt gehen wir in die Client-Datei c:\orant\net80\tnsnames.ora und tragen ein:
xe =
  (DESCRIPTION =
    (ADDRESS_LIST =
        (ADDRESS =
          (PROTOCOL = TCP)
          (Host = <Ihr(e) IP oder Hostname>)
          (Port = 1521)
        )
    )
    (CONNECT_DATA = (SID = xe)
    )
  )
 

Versuchen Sie sich jetzt von Forms bei der DB anzumelden: File => Connect
User Name: scott
Password: tiger
Database: xe

Und nun viel Spaß mit nostalgischen Forms Sessions.
Wenn Sie Ihre alten Forms 6i Masken von uns auf Oracle APEX portieren lassen möchten, melden Sie sich gerne bei uns, wir helfen Ihnen gerne...

Weitere Interessante Kurs-Tipps zum Thema

Besuchen Sie uns doch bei einer unsere über 50 Oracle Schulungen in München - Unterhaching, oder verfolgen Sie die Training per Videostreaming bequem vom Home Office oder Büro aus.