35
UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper DB2/ODLi3 e Oracle/ODLi3 Relatore Chiar.mo Prof. Sonia Bergamaschi Tesi di Laurea di Mauro Verardi

UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

Embed Size (px)

Citation preview

Page 1: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIAFacoltà di Ingegneria – Sede di Modena

Corso di laurea in Ingegneria Informatica

Progetto MOMIS :I wrapper DB2/ODLi3 e Oracle/ODLi3

RelatoreChiar.mo Prof. Sonia Bergamaschi

Tesi di Laurea diMauro Verardi

Page 2: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

MOMIS:MOMIS:MMediator envirediator envirOOnment for nment for MMultiple ultiple IInformation nformation SSourcesources

Obiettivo:Obiettivo: Realizzazione di uno strumento semi-automatico Realizzazione di uno strumento semi-automatico per l’integrazione di sorgenti eterogenee e distribuiteper l’integrazione di sorgenti eterogenee e distribuite

Approccio adottato:Approccio adottato: semantico semantico ee virtuale virtuale

Architettura di riferimento IArchitettura di riferimento I3 3 (ARPA)(ARPA)

Intelligent Integration of Information

Page 3: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

SERVIZI DI WRAPPING (ISERVIZI DI WRAPPING (I33))

Comunicazione•Trasformazione interfaccia delle chiamate•Gestione del traffico di eventi•Trasformazione di chiamate di metodi e funzioni

Ristrutturazione dei dati•Traslazione tra differenti formati di dati•Trasformazione di metadati

Trasformazione del Comportamento•Modifica della semantica•Modifica dei protocolli•Traslazione tra differenti linguaggi di manipolazione dati

Page 4: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

SERVIZI DI WRAPPING (ISERVIZI DI WRAPPING (I33))

Comunicazione•Trasformazione interfaccia delle chiamate•Gestione del traffico di eventi•Trasformazione di chiamate di metodi e funzioni

Ristrutturazione dei dati•Traslazione tra differenti formati di dati•Trasformazione di metadati

Trasformazione del Comportamento•Modifica della semantica•Modifica dei protocolli•Traslazione tra differenti linguaggi di manipolazione dati

Page 5: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

MOMIS:MOMIS:MMediator envirediator envirOOnment for nment for MMultiple ultiple IInformation nformation SSourcesources

Page 6: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

MOMIS:MOMIS:MMediator envirediator envirOOnment for nment for MMultiple ultiple IInformation nformation SSourcesources

Page 7: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

MOMIS:MOMIS:MMediator envirediator envirOOnment for nment for MMultiple ultiple IInformation nformation SSourcesources

Page 8: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

MOMIS:MOMIS:MMediator envirediator envirOOnment for nment for MMultiple ultiple IInformation nformation SSourcesources

Page 9: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER NEL SISTEMA MOMIS:I WRAPPER NEL SISTEMA MOMIS:

Interfaccia Interfaccia WrapperWrapper

o String getDescriptionXml()o String getDescription()

o String getSourceName()

o String getType()o WrapperRS runQuery()

Wrapper XMLWrapper JDBC-ODBC-MS_AccessWrapper JDBC genericoWrapper Microsoft SQL Server

Wrapper già disponibili in MOMIS:

•Implementato in JAVA•Oggetto CORBA•Dichiara le funzioni

Page 10: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

LA TECNOLOGIA JDBC:LA TECNOLOGIA JDBC:JJava ava DDataataBBase ase CConnectivityonnectivity

•Stabilire una connessione•Inviare query•Elaborare i risultati ottenuti

Interfaccia DatabaseMetadata

•Nomi delle tabelle•Nomi e tipi dei campi delle tabelle•Chiavi primarie•Foreign key

API JAVA implementate dai API JAVA implementate dai DriverDriver

Page 11: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I DRIVER ORACLE/JDBCI DRIVER ORACLE/JDBC

• JDBC OCI Client Side driver• JDBC Thin Client-Side driver• JDBC Thin Server-Side driver• JDBC Server-Side Internal driver

Page 12: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I DRIVER ORACLE/JDBCI DRIVER ORACLE/JDBC

• JDBC OCI Client Side driver• JDBC Thin Client-Side driver• JDBC Thin Server-Side driver• JDBC Server-Side Internal driver

I DRIVER DB2/JDBCI DRIVER DB2/JDBC

• DB2 Universal JDBC Driver• JDBC/SQLJ 2.0 Driver per OS/390• DB2 JDBC Type 2 Driver for Linux,UNIX e Windows

Page 13: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

IL WRAPPER JDBC GENERICOIL WRAPPER JDBC GENERICO

Metodo Schema getSchema()

•Nomi delle tabelle•Nomi e tipi dei campi delle tabelle

Metodo Type getAttributeType( int t ) per le traduzione da tipo JDBC a tipo ODLI3

Page 14: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

IL WRAPPER JDBC GENERICOIL WRAPPER JDBC GENERICO

Metodo Schema getSchema()

•Nomi delle tabelle•Nomi e tipi dei campi delle tabelle

CREATE TABLE TBL_AMBITI_CDS_SPECIFICI (IDCds numeric(18, 0) NOT NULL,IDAttivita numeric(18, 0) NOT NULL,IDAmbitoSpecifico numeric(18, 0) NOT NULL,Denominazione varchar (100),CFU varchar (10)) ;

ALTER TABLE TBL_AMBITI_CDS_SPECIFICI ADD CONSTRAINT PK_TBL_AMBITI_SPEC PRIMARY KEY (IDCds,IDAttivita,IDAmbitoSpecifico);ALTER TABLE TBL_AMBITI_CDS_SPECIFICI ADD CONSTRAINT FK_TBL_AMBITI_SPECIFICI_TBL_AMBITI_CDS FOREIGN KEY (IDAttivita,IDCds) REFERENCES TBL_AMBITI_CDS (IdAttivita,IDCdS);

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI) { attribute string DENOMINAZIONE; attribute float IDAMBITOSPECIFICO; attribute float IDCDS; attribute float IDATTIVITA; attribute string CFU;}

Page 15: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

JDBC ODLI3

ARRAY Unsupported

BIGINT IntegerType(true,true) = Long

BINARY Unsupported

BIT BooleanType

BLOB Unsupported

CHAR CharType

CLOB Unsupported

DATE DateType

DECIMAL FloatingType(false) = Float

DISTINCT Unsupported

DOUBLE FloatingType(true) = Double

FLOAT FloatingType(true) =Double

INTEGER IntegerType(false,true) = Short

LONGVARBINARY StringType(unsupported)

LONGVARCHAR StringType(unsupported)

NUMERIC FloatingType(true) =Double

OTHER AnyType (?)

REAL FloatingType(true) =Double

REF Unsupported

SMALLINT IntegerType(false,true) = Short

STRUCT Unsupported

TIME DateType

TIMESTAMP DateType

TINYINT IntegerType(false,true) = Short

VARBINARY StringType(unsupported?)

VARCHAR StringType

Map

ping

tra

tipi d

i dat

o JD

BC

e O

DL

I3

Metodo Type getAttributeType( int t )

IL WRAPPER JDBC GENERICOIL WRAPPER JDBC GENERICO

Page 16: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Metodo Schema getSchema()

•Nomi delle tabelle•Nomi e tipi dei campi delle tabelle•Chiavi primarie•Foreign key

Metodo boolean theTableShouldBeDescribed(String tableName)per l‘esclusione delle tabelle di sistema

• Data dictionary di Oracle• System catalog di DB2

Metodo Type getAttributeType( int t ) per le traduzione da tipo JDBC a tipo ODLI3

ereditato dal wrapper JDBC generico

Page 17: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Metodo Schema getSchema()

CREATE TABLE TBL_AMBITI_CDS_SPECIFICI (IDCds numeric(18, 0) NOT NULL,IDAttivita numeric(18, 0) NOT NULL,IDAmbitoSpecifico numeric(18, 0) NOT NULL,Denominazione varchar (100),CFU varchar (10)) ;

ALTER TABLE TBL_AMBITI_CDS_SPECIFICI ADD CONSTRAINT PK_TBL_AMBITI_SPEC PRIMARY KEY (IDCds,IDAttivita,IDAmbitoSpecifico);ALTER TABLE TBL_AMBITI_CDS_SPECIFICI ADD CONSTRAINT FK_TBL_AMBITI_SPECIFICI_TBL_AMBITI_CDS FOREIGN KEY (IDAttivita,IDCds) REFERENCES TBL_AMBITI_CDS (IdAttivita,IDCdS);

Page 18: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Metodo Schema getSchema()

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDAmbitoSpecifico, IDAttivita, IDCds) foreign_key FK_TBL_AMBITI_SPECIFICI_TBL_AMBITI_CDS (IDAttivita, IDCds) references TBL_AMBITI_CDS (IdAttivita, IDCdS) ){ attribute double IDAmbitoSpecifico; attribute string Denominazione; attribute double IDCds; attribute double IDAttivita; attribute string CFU;}

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDCDS,IDATTIVITA,IDAMBITOSPECIFICO) foreign_key FK_TBL_AMBITI_SPEC_TBL_AMB_CDS(IDATTIVITA,IDCDS) references TBL_AMBITI_CDS (IDATTIVITA, IDCDS) ){ attribute string DENOMINAZIONE; attribute float IDAMBITOSPECIFICO; attribute float IDCDS; attribute float IDATTIVITA; attribute string CFU;}

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDAMBITOSPECIFICO,IDATTIVITA, IDCDS) foreign_key FK_TBL_AMBITI_SPEC_TBL_AMB_CDS (IDATTIVITA,IDCDS) references TBL_AMBITI_CDS (IDATTIVITA,IDCDS) ){ attribute string DENOMINAZIONE; attribute float IDAMBITOSPECIFICO; attribute float IDCDS; attribute float IDATTIVITA; attribute string CFU;}

SQL_Server/ODLI3

DB2/ODLI3

Oracle/ODLI3

Page 19: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Metodo Schema getSchema()

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDAmbitoSpecifico, IDAttivita, IDCds) foreign_key FK_TBL_AMBITI_SPECIFICI_TBL_AMBITI_CDS (IDAttivita, IDCds) references TBL_AMBITI_CDS (IdAttivita, IDCdS) ){ attribute double IDAmbitoSpecifico; attribute string Denominazione; attribute double IDCds; attribute double IDAttivita; attribute string CFU;}

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDCDS,IDATTIVITA,IDAMBITOSPECIFICO) foreign_key FK_TBL_AMBITI_SPEC_TBL_AMB_CDS(IDATTIVITA,IDCDS) references TBL_AMBITI_CDS (IDATTIVITA, IDCDS) ){ attribute string DENOMINAZIONE; attribute float IDAMBITOSPECIFICO; attribute float IDCDS; attribute float IDATTIVITA; attribute string CFU;}

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDAMBITOSPECIFICO,IDATTIVITA}, IDCDS) foreign_key FK_TBL_AMBITI_SPEC_TBL_AMB_CDS (IDATTIVITA,IDCDS) references TBL_AMBITI_CDS (IDATTIVITA,IDCDS) ){ attribute string DENOMINAZIONE; attribute float IDAMBITOSPECIFICO; attribute float IDCDS; attribute float IDATTIVITA; attribute string CFU;}

SQL_Server/ODLI3

DB2/ODLI3

Oracle/ODLI3

Page 20: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Metodo Schema getSchema()

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDAmbitoSpecifico, IDAttivita, IDCds) foreign_key FK_TBL_AMBITI_SPECIFICI_TBL_AMBITI_CDS (IDAttivita, IDCds) references TBL_AMBITI_CDS (IdAttivita, IDCdS) ){ attribute double IDAmbitoSpecifico; attribute string Denominazione; attribute double IDCds; attribute double IDAttivita; attribute string CFU;}

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDCDS,IDATTIVITA,IDAMBITOSPECIFICO) foreign_key FK_TBL_AMBITI_SPEC_TBL_AMB_CDS(IDATTIVITA,IDCDS) references TBL_AMBITI_CDS (IDATTIVITA, IDCDS) ){ attribute string DENOMINAZIONE; attribute float IDAMBITOSPECIFICO; attribute float IDCDS; attribute float IDATTIVITA; attribute string CFU;}

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDAMBITOSPECIFICO,IDATTIVITA, IDCDS) foreign_key FK_TBL_AMBITI_SPEC_TBL_AMB_CDS (IDATTIVITA,IDCDS) references TBL_AMBITI_CDS (IDATTIVITA,IDCDS) ){ attribute string DENOMINAZIONE; attribute float IDAMBITOSPECIFICO; attribute float IDCDS; attribute float IDATTIVITA; attribute string CFU;}

SQL_Server/ODLI3

DB2/ODLI3

Oracle/ODLI3

Page 21: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Metodo Schema getSchema()

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDAmbitoSpecifico, IDAttivita, IDCds) foreign_key FK_TBL_AMBITI_SPECIFICI_TBL_AMBITI_CDS (IDAttivita, IDCds) references TBL_AMBITI_CDS (IdAttivita, IDCdS) ){ attribute double IDAmbitoSpecifico; attribute string Denominazione; attribute double IDCds; attribute double IDAttivita; attribute string CFU;}

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDCDS,IDATTIVITA,IDAMBITOSPECIFICO) foreign_key FK_TBL_AMBITI_SPEC_TBL_AMB_CDS(IDATTIVITA,IDCDS) references TBL_AMBITI_CDS (IDATTIVITA, IDCDS) ){ attribute string DENOMINAZIONE; attribute float IDAMBITOSPECIFICO; attribute float IDCDS; attribute float IDATTIVITA; attribute string CFU;}

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDAMBITOSPECIFICO,IDATTIVITA, IDCDS) foreign_key FK_TBL_AMBITI_SPEC_TBL_AMB_CDS (IDATTIVITA,IDCDS) references TBL_AMBITI_CDS (IDATTIVITA,IDCDS) ){ attribute string DENOMINAZIONE; attribute float IDAMBITOSPECIFICO; attribute float IDCDS; attribute float IDATTIVITA; attribute string CFU;}

SQL_Server/ODLI3

DB2/ODLI3

Oracle/ODLI3

Page 22: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Metodo Schema getSchema()

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDAmbitoSpecifico, IDAttivita, IDCds) foreign_key FK_TBL_AMBITI_SPECIFICI_TBL_AMBITI_CDS (IDAttivita, IDCds) references TBL_AMBITI_CDS (IdAttivita, IDCdS) ){ attribute double IDAmbitoSpecifico; attribute string Denominazione; attribute double IDCds; attribute double IDAttivita; attribute string CFU;}

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDCDS,IDATTIVITA,IDAMBITOSPECIFICO) foreign_key FK_TBL_AMBITI_SPEC_TBL_AMB_CDS(IDATTIVITA,IDCDS) references TBL_AMBITI_CDS (IDATTIVITA, IDCDS) ){ attribute string DENOMINAZIONE; attribute float IDAMBITOSPECIFICO; attribute float IDCDS; attribute float IDATTIVITA; attribute string CFU;}

interface TBL_AMBITI_CDS_SPECIFICI ( extent TBL_AMBITI_CDS_SPECIFICI key (IDAMBITOSPECIFICO,IDATTIVITA, IDCDS) foreign_key FK_TBL_AMBITI_SPEC_TBL_AMB_CDS (IDATTIVITA,IDCDS) references TBL_AMBITI_CDS (IDATTIVITA,IDCDS) ){ attribute string DENOMINAZIONE; attribute float IDAMBITOSPECIFICO; attribute float IDCDS; attribute float IDATTIVITA; attribute string CFU;}

SQL_Server/ODLI3

DB2/ODLI3

Oracle/ODLI3

Page 23: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Oracle SQL datatypes JDBC datatypes ODLI3 datatypes

     

NUMBER BIGINT IntegerType(true,true)

NUMBER INTEGER IntegerType(false,true)

NUMBER SMALLINT  

NUMBER TINYINT  

NUMBER BIT BooleanType

CHAR CHAR CharType

     

DATE DATE DateType

DATE TIME  

TIMESTAMP TIMESTAMP  

NUMBER DECIMAL FloatingType(false)

NUMBER FLOAT  (Float)

NUMBER DOUBLE FloatingType(true)

NUMBER NUMERIC (Double) 

NUMBER REAL  

LONGRAW LONGVARBINARY StringType

LONG LONGVARCHAR  

RAW VARBINARY  

VARCHAR2 VARCHAR  

Page 24: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Oracle SQL datatypes JDBC datatypes ODLI3 datatypes

     

NUMBER BIGINT IntegerType(true,true)

NUMBER INTEGER IntegerType(false,true)

NUMBER SMALLINT  

NUMBER TINYINT  

NUMBER BIT BooleanType

CHAR CHAR CharType

     

DATE DATE DateType

DATE TIME  

TIMESTAMP TIMESTAMP  

NUMBER DECIMAL FloatingType(false)

NUMBER FLOAT  (Float)

NUMBER DOUBLE FloatingType(true)

NUMBER NUMERIC (Double)

NUMBER REAL  

LONGRAW LONGVARBINARY StringType

LONG LONGVARCHAR  

RAW VARBINARY  

VARCHAR2 VARCHAR  

Page 25: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Metodo boolean theTableShouldBeDescribed(String tableName)

public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)

TABLE_CAT String => table catalog (may be null) TABLE_SCHEM String => table schema (may be null) TABLE_NAME String => table name TABLE_TYPE String => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM". REMARKS String => explanatory comment on the table TYPE_CAT String => the types catalog (may be null) TYPE_SCHEM String => the types schema (may be null) TYPE_NAME String => type name (may be null) SELF_REFERENCING_COL_NAME String => name of the designated "identifier" column of a typed table (may be null) REF_GENERATION String => specifies how values in SELF_REFERENCING_COL_NAME are created. Values are "SYSTEM", "USER", "DERIVED". (may be null)

Page 26: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Metodo boolean theTableShouldBeDescribed(String tableName)

public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)

TABLE_CAT String => table catalog (may be null) TABLE_SCHEM String => table schema (may be null) TABLE_NAME String => table name TABLE_TYPE String => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM". REMARKS String => explanatory comment on the table TYPE_CAT String => the types catalog (may be null) TYPE_SCHEM String => the types schema (may be null) TYPE_NAME String => type name (may be null) SELF_REFERENCING_COL_NAME String => name of the designated "identifier" column of a typed table (may be null) REF_GENERATION String => specifies how values in SELF_REFERENCING_COL_NAME are created. Values are "SYSTEM", "USER", "DERIVED". (may be null)

Page 27: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Metodo boolean theTableShouldBeDescribed(String tableName)

public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)

TABLE_SCHEM String => table schema (may be null) TABLE_TYPE String => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".

Page 28: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Metodo boolean theTableShouldBeDescribed(String tableName)

public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)

TABLE_SCHEM String => table schema (may be null) TABLE_TYPE String => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".

getSchema() TABLE_TYPE = "TABLE"

Page 29: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER SQL_SERVER/ODLI WRAPPER SQL_SERVER/ODLII33, DB2/ODL, DB2/ODLII33, ORACLE/ODL, ORACLE/ODLII33

Metodo boolean theTableShouldBeDescribed(String tableName)

public ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)

TABLE_SCHEM String => table schema (may be null) TABLE_TYPE String => table type. Typical types are "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM".

getSchema() TABLE_TYPE = "TABLE"

Oracle

DB2

MDSYSOLAPSYSSYSSYSTEMWKSYSXDB

TABLE_SCHEM ≠ SYSIBMSYSTOOLS

TABLE_SCHEM ≠

Page 30: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER GUII WRAPPER GUI

Page 31: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER GUII WRAPPER GUI

Page 32: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

I WRAPPER GUII WRAPPER GUI

Metodo getAllDatabase()

• DB2 Universal Database per z/OS

• DB2 Universal Database per Linux, Unix, Windows

• Oracle Database su sistemi UNIX

Database DSNDB06 Tabella SYSIBM.SYSDATABASE

Comando“LIST DATABASE DIRECTORY”File <home_dir>/sqldbdir

• Oracle Database su sistemi Windows

File /etc/oratab (/var/opt/oracle se sistemi Solaris )

Registri di sistemaHKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_HOME_NAME\ORACLE_SID

Page 33: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

CONCLUSIONICONCLUSIONI

WrapperJdbcCore_DB2Server

WrapperJdbcCore_oracle

DB2ServerWrapperGUI

OracleServerWrapperGUI

Metodo getAllDatabase()

Metodo getAllDatabase()

Page 34: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

CONCLUSIONICONCLUSIONI

WrapperJdbcCore_DB2Server

WrapperJdbcCore_oracle

DB2ServerWrapperGUI

OracleServerWrapperGUI

Metodo getAllDatabase()

Metodo getAllDatabase()

Oracle DBA Forum

DUGI Listserv

Page 35: UNIVERSITA DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di laurea in Ingegneria Informatica Progetto MOMIS : I wrapper

PROGETTO MOMIS: I WRAPPER DB2/ODLPROGETTO MOMIS: I WRAPPER DB2/ODLII33 E ORACLE/ODLE ORACLE/ODLII33

Grazie per Grazie per l’attenzionel’attenzione

Mauro Verardi