Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Softwareentwicklung mit Oracle Lite & Delphi Henry Wolf

Ähnliche Präsentationen


Präsentation zum Thema: "Softwareentwicklung mit Oracle Lite & Delphi Henry Wolf"—  Präsentation transkript:

1 Softwareentwicklung mit Oracle Lite & Delphi Henry Wolf

2 Was ist Oracle Lite I -sehr schlanke, single-User Objekt-Relationale Datenbank -entwickelt für Mobile Endgeräte ( Laptop, Palm etc. ) -benötigt < 1MB RAM und < 3MB Plattenplatz -voller SQL und Java-Support ( kein PL/SQL ) -ODBC und JDBC-Schnittstellen -16 Sessions parallel möglich -Unterstützt Replikation via Datei, SQL*Net, HTTP und OMA ( Oracle Mobil Agent ) -Verfügbar u.a. unter Windows 95/98/NT/2000/XP, PlamOS Windows CE u.a.

3 Was ist Oracle Lite II – Kompatibilität mit Großer DB -keine Unterstützung von PL/SQL, Trigger und Proceduren in Java -Single.User Datenbank, keine Unterstützung von Serverfunktionaltäten wie SQL*Net Listener, CORBA ORB u.a. -ORACLE Lite speichert Alles in Objekt-Form, Relationaler Layer -nur begrenzt Dictionary-Views

4 Einordnung von Oracle Lite -Java Datenbank für verschiedenen Hardwareplattformen ( Mobile Endgeräte ) -Als Standalone-Datenbank vergleichbar mit Local ADS, locales Interbase -> Vorteil : Code-Kompatibilität mit großer ORACLE-DB Replikation / Synchronisation mit zentralen Oracle-Datenbanken Softwareverteilung über Web -> Wermutstropfen aus Delphianer-Sicht : fehlende PL/SQL Unterstützung -> JAVA

5 Mobil Sync & Mobil Server Komponenten MobilSync – Syncronisation von Oracle Lite Datenbanken mit Zentralen u.a. Komponente Mobil Server – Distribution, Synchronisation und Verteilung von Oracle Lite Datenbanken und Applikationen

6 Wichtige Tools für Oracle Lite I 1.Createdb-Anlegen einer Datenbank 2.Removedb-Löschen einer Datenbank 3.Migrate-Migration einer älteren DB-Version 4.Decryptdb-Aufheben der Verschlüsselung einer Oracle Lite Datenbank 5.Encryptdb-Verschlüsselung der Datenbank mit einem Password 6.Validatedb-Validierung einer Oracle Lite Datenbank

7 Wichtige Tools für Oracle Lite II 7. Oraload - Laden und ausspielen von Daten aus einer Oracle Lite Datenbank 8. ODBInfo - Informationen über Version u.a. Informationen zu einer Oracle Lite Datenbank 9. Mobile SQL - SQL-Interpreter ( Commandline, msql.exe ) 10. Loadjava / UnloadJava – Laden bzw. Entladen von Java-Klassen in eine / aus einer Oracle Lite Datenbank

8 Datentypen in ORACLE Lite NUMBER BIGINT INTEGER BINARY CHAR BIT VARCHAR LONG VARCHAR2LONG RAW DATELONG VARBINARY ROWID LONG VARCHAR BLOB RAW CLOB TIME DECIMAL TIMESTAMP DOUBLE PRECISION TINYINT FLOAT VARBINARY REAL SMALLINT NUMERIC

9 Wichtige Datenbankobjekte in ORACLE Lite Tabellen Views Indizes Sequences Schemas Snapshots Synonyme Funktionen-Java Proceduren -Java Trigger-Java - kein PL/SQL-Support -

10 Zugriffsmechanismen bzw. APIs 1 ORACLE LITE ODBCJDBC OKAPI (okapi.dll) Anwendung ODBC-TreiberJDBC-Treiber

11 Zugriffsmechanismen bzw. APIs II Relationaler Datenbankzugriff : JDBC ( Java ) ODBC ( C/C++, Delphi, u.a. ) Objektorientierte Datenbankentwicklung : Object Kernel API ( OKAPI ) ( C/C++, Pascal, andere native Prog.-Sprachen )

12 Object Kernel API (OKAPI) -Objekbasierender Direkt-Zugriff auf Oracle Lite Objekte -Objekt-Clustering -Unterstützt Blobs -Unterstützung von Transaktionen und Crash Recovery

13 Datentypen der OKAPI okU4B - Unsigned long integer (4 bytes) ok4B - Signed long integer (4 bytes) okU2B - Unsigned short integer (2 bytes) ok2B - Signed short integer (2 bytes) okU1B - Unsigned character (1 byte) ok1B - Signed character (1 byte) okChar - Character (language-dependent size: 1 byte for English) okFloat - Float (4 bytes) okDouble - Double (6 bytes) okRef - Reference to another object (4 bytes)

14 Kleines OKAPI-Beispiel okEnv env; okError err; err = okInit( NULL, &env ); if ( OK_IS_ERROR(err) ) { // Anlegen einer Oracle Lite Datenbank char *dbsName = ORALITEDB"; okSize dbsNameLen = StrLen( dbsName ); err = okCreateDatabase( env, dbsNameLen,dbsName,NULL ); // Aufbau einer Session okRef dbRef; err = okConnect( env, dbsNameLen, dbsName, NULL, &dbRef );... } okFinal( env );

15 Zugriff via ODBC ODBC-Engine ODBC Oracle Lite Treiber Oracle Lite Datenbank Anwendung ( VDB, C )

16 Oracle Open Client Adapter (OCA) Anwendung ( SQL*Plus u.a. ) SQL*Net Open Client Adapter POLite andere DBS ORACLE TNS ODBC

17 Zugriff via SQL-Plus / SQL-Net Connectstring : ODBC:data_source_name -> Schlüsselwort ODBC -> kein TNS sondern ODBC Beispiel: sqlplus SQL> select * from all_tables; SQL> exit;

18 Erstellen einer Demo-Datenbank CREATEDB DataSourceName DatabaseName [[[VolID] DATABASE_SIZE] EXTENT_SIZE] [collation sequence] Beispiel : createdb POLite POLite.odb german

19 POLite.ini DatabaseID=502 ( Volume-ID ) DataDirectory=C:\ MessageFile=C:\Datenbanken\POLite\Mobile\ Sdk\BIN\OLITE40.MSB DBCharEncoding=Native SQLCOMPATIBILITY=SQL92

20

21 Userverwaltung von Oracle Lite I Standard – Rolen : ADMIN - CREATE SCHEMA, CREATE USER, ALTER USER, DROP USER, DROP SCHEMA, GRANT, REVOKE DBA – ADMIN, CREATE TABLE, CREATE ANY TABLE, CREATE VIEW, CREATE ANY VIEW, CREATE INDEX, CREATE ANY INDEX, ALTER TABLE, ALTER VIEW, DROP TABLE, DROP VIEW, DROP INDEX RESOURCE - CREATE TABLE, CREATE VIEW, CREATE INDEX, CREATE CONSTRAINT, ALTER TABLE, ALTER VIEW, ALTER INDEX, ALTER CONSTRAINT, DROP TABLE, DROP VIEW, DROP INDEX, DROP CONSTRAINT, GRANT und REVOKE für Objekte

22 Userverwaltung von Oracle Lite II -> Systemrechte – Grant, Revoke ( Standard-Rolen ) -> Objektprivilegien – Grant, Revoke -> Rolen Synonyme !!!

23 Zugriffswege via Delphi Delphi - Anwendung BDEdbExpressDOA, ODAC OCA ADO ODBC - Engine Oracle Lite Treiber Oracle Lite Datenbank ODBC- Gateway

24 Zugriff via BDE/ODBC

25 Zugriff via ADO I

26 Zugriff via ADO II

27 gespeicherter Code ( Funktionen, Proceduren etc. ) I import java.util.*; public class Zeit { public static String wieSpaet() { Calendar cal = Calendar.getInstance(); String result = ""; int stunde = cal.get(Calendar.HOUR_OF_DAY); if(stunde < 10) result = "0"; result = result + stunde + ":"; int minute = cal.get(Calendar.MINUTE); if(minute < 10) result = result + 0; result = result + minute + ":"; int sekunde = cal.get(Calendar.SECOND); if(sekunde < 10) result = result + 0; result = result + sekunde; return(result); }

28 gespeicherter Code ( Funktionen, Proceduren etc. ) II create java class using bfile ('c:\oralite\classes','Zeit.class'); create or replace function Zeit return varchar2 as language java name 'Zeit.wieSpaet() return java.lang.String'; select Zeit() from dual;

29 Kosten Named User Lizenz : 100 $ Named User Lizenz für 1 Jahr : 20 $ Anschaffung von minimal 1 Named User

30 Zukunft der Kombination Delphi – Oracle Lite Mobile Endgeräte.NET ( als Java-Konkurenz )


Herunterladen ppt "Softwareentwicklung mit Oracle Lite & Delphi Henry Wolf"

Ähnliche Präsentationen


Google-Anzeigen