Top Banner
11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO
23

11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Jan 02, 2016

Download

Documents

11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO. De database API. Classificatie van de database API. Verband tussen soort API en binding time. ODBC. JDBC. Statement interface. Statement interface. Statement interface. Resultset en Rowset interface. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

11 Universele database API’s:ODBC, JDBC, SQLJ, OLE DB

en ADO

Page 2: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

De database APIDe database API

Database- specifieke

API

client databaseserver atabaseserver

Server- interface

SQL

Client-

applicatie

Client-

applicatie

figuur 11.1 Functie van de database API

Page 3: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Classificatie van de database APIClassificatie van de database API

Precompilatie

Compilatie en linking

Uitvoering

early

late

Database API

Server- interface

figuur 11.2 Illustratie van SQL binding time

Page 4: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Verband tussen soort API en Verband tussen soort API en binding timebinding time

SQL in ‘stored procedure’

Statische SQL Dynamische SQL

Embedded API

Call-level API

SQL ingebed in gasttaal

SQL als parameter van procedure-

aanroep

figuur 11.3 Verband tussen SQL binding time en type database API

Page 5: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

ODBCODBC

ODBC-API

ODBC Driver Manager

SPI

...

Client-applicatie

DBMS-speci- fieke API A

Driver C

DBMS Type C

DBMS Type B

DBMS Type A

Driver B Driver A

DBMS-speci- fieke API B

DBMS-speci- fieke API C

Server interface A

Server interface B

Server interface C

figuur 11.4 Architectuur van ODBC

Page 6: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

JDBC-API

JDBC DriverManager

JDBC Driver API

...

Java-applicatie of applet

DBMS-speci- fieke API A

ODBC bridge JDBC Driver A

Net protocol

ODBC Driver C

JDBC-Net Driver

DBMS-speci- fieke API C

DBMS Type C

DBMS Type B

DBMS Type A

Server interface A

Server interface B

Server interface C

Net protocol

ODBC

figuur 11.5 Architectuur van JDBC

Page 7: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

JDBCJDBC

DriverManager

Connection

Statement

ResultSet

registerDriver(mijnDriver) getConnection(mijnUrl)

createStatement()

executeQuery(mijnQuery)

next() getXXX(index)

Client

figuur 11.6 Objecten betrokken bij JDBC-aanroepen

Page 8: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Statement interface

Page 9: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Statement interface

Page 10: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Statement interface

Page 11: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Resultset en Rowset interface

Page 12: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Resultset en Rowset interface

Page 13: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Resultset en Rowset interface

Page 14: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Transactiemanagement in JDBC

Page 15: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Een voorbeeld van Een voorbeeld van databasetoegang met JDBCdatabasetoegang met JDBC

// ------> Initialisatie int Levnr; String Levnaam; // ------> Connectie opzetten DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); Connection mijnConnectie = DriverManager.getConnection(“jdbc:odbc:AOADM”); Statement mijnStatement = mijnConnectie.createStatement(); // ------> Query uitvoeren ResultSet mijnResultSet = mijnStatement.executeQuery( “select leveranciersnummer, leveranciersnaam from leveranciers where levstatus > 80”); // ------> Resultaat bekijken while (mijnResultSet.next()) { Levnr = mijnResultSet.getInt(1); Levnaam = mijnResultSet.getString(2); System.out.println(Levnr + “: ” + Levnaam); }; // ------> Afsluiten mijnStatement.close(); mijnConnectie.close();

figuur 11.14 Voorbeeld van een Java-programma dat gebruik maakt van JDBC

Page 16: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

SQLJSQLJ

Uitvoerbare Java-bytecode met JDBC-calls

Java-broncode met embedded SQL

Java-broncode met JDBC-calls

DBMS

SQLJ Translator

Java compiler

Precompilatie

Compilatie

Uitvoering

SQLJ Runtime en JDBC Driver

figuur 11.15 Uitvoering van SQLJ-code

Page 17: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

// ------> Initialisatie int Levnr; String Levnaam; // ------> Iterator definiëren in SQLJ #sql iterator LeveranciersIterator(int, String); // ------> Connectie opzetten DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); Connection mijnConnectie = DriverManager.getConnection(“jdbc:odbc:aoadm”); // ------> Default context definiëren DefaultContext.setDefaultContext(new DefaultContext(mijnConnectie)); // ------> Iterator definiëren in Java LeveranciersIterator mijnLeveranciersIterator; // ------> Query uitvoeren #sql mijnLeveranciersIterator = {select leveranciersnummer, leveranciersnaam from leveranciers where levstatus > 80}; // ------> Resultaat bekijken while (true) { #sql {fetch :mijnLeveranciersIterator into :Levnr, :Levnaam}; System.out.println(Levnr + “: ” + Levnaam); if (mijnLeveranciersIterator.endFetch()) break; }

figuur 11.16 Voorbeeld van een Java-programma dat gebruik maakt van SQLJ

Voorbeeld van databasetoegang Voorbeeld van databasetoegang met behulp van SQLJmet behulp van SQLJ

Page 18: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO
Page 19: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

OLE DB

Page 20: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Databasetoegang met behulp van ADO en OLE DB

Page 21: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Databasetoegang met behulp van ADO en OLE DB

Page 22: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Databasetoegang met behulp van ADO en OLE DB

Page 23: 11 Universele database API’s: ODBC, JDBC, SQLJ, OLE DB en ADO

Databasetoegang met behulp van ADO en OLE DB