SlideShare una empresa de Scribd logo
1 de 12
By Rajan Shrivastava
           Wipro 1
•API for Java which defines how program can
access a DB.
•JDBC(TM) - developed by Sun Microsystems
• Exploited an existing interface library (ODBC)
• ODBC - Open Database Connectivity (C library)—
standard Application Programming Interface for
connecting to db; independent of programming
languages, db systems, OS
• ODBC - C programmers DB interface, early 1990's
JDBC Drivers
        Client-side adaptors that convert Java program
         requests into a protocol that DBMS understands
        4 types:
    1.     Type 1—JDBC-ODBC bridge
    2.     Type 2—Native API driver (converts JDBC calls to
           DBMS API)
    3.     Type 3—Network protocol driver—can connect JDBC
           to middleware-net server
    4.     Type 4—Driver-native protocol driver (converts
           JDBC calls directly to DBMS protocol)
Loading a DriverManager
 DriverManager provides DB interface methods & defines objects
  which can connect Java app to driver; it manages set of drivers
  program can use to connect to db; finds driver & runs it to connect to
  db
 Most Java programs use import to load a class
 With JDBC, usually load driver class at runtime:
      import java.lang.*;
      public static void main (String args[]) {
      try { // this loads & initialises the driver
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
      // now connect to DB ...
         } catch (ClassNotFoundException e) {
                      System.err.println(e.getMessage());
                      e.printStackTrace();
                      System.exit(1);
         }
      }
Making a JDBC-ODBC
                 Database Connection
     import java.sql.*;
     Connection con;
     String URL = "jdbc:odbc:DataSource";
     String Username = "";
     String Password = "";
     con = DriverManager.getConnection(URL,Username, Password);
     // make more calls to JDBC methods here...
     con.close();


 ‘DataSource’ is a ‘logical name’ (not a real filename)
 Need to set DataSource = MyDatabase.mdb elsewhere
 Use ODBC Data Source Administrator for this...
Statement and ResultSet Objects
     Statement stmt = con.createStatement();
     String sql = "SELECT * FROM Staff;";
     ResultSet rs = stmt.executeQuery(sql);
     print_rs(rs); // shown later
     rs.close(); // free memory
     stmt.close();
 Statement objects let you execute SQL queries: 3 types:
  Statement (simple, no parameters), Prepared Statement
  (precompiled queries), Callable Statement (execute call to
  db stored sql procedure)
 Can pass any legal SQL query to executeQuery()
 Here, rs holds the entire results table (Staff)...
ResultSets and Cursors

 The ResultSet object is a ‘container’ for the results of a
 query (table):
                                 Each ResultSet contains:
                                      Numbered Fields (columns)
                                      Field names & types
                                       (metadata)
                                      A Cursor (current row)




 •First cursor position is BEFORE FIRST ROW
 • Rows and columns COUNT FROM ONE
 •Move cursor via: rs.next(), previous(), first(), last(),
 relative(), absolute(), beforeFirst(), afterLast()
Type I Drivers
 Use bridging technology
 Requires installation/configuration on client
  machines
 Not good for Web
 e.g. ODBC Bridge




                     Copyright © 1997 Alex Chaffee
Type II Drivers
 Native API drivers
 Requires installation/configuration on client
    machines
   Used to leverage existing CLI libraries
   Usually not thread-safe
   Mostly obsolete now
   e.g. Intersolv Oracle Driver, WebLogic drivers



                       Copyright © 1997 Alex Chaffee
Type III Drivers
 Calls middleware server, usually on database host
 Very flexible -- allows access to multiple databases
  using one driver
 Only need to download one driver
 But it’s another server application to install and
  maintain
 e.g. Symantec DBAnywhere
Type IV Drivers
 100% Pure Java -- the Holy Grail
 Use Java networking libraries to talk directly to
  database engines
 Only disadvantage: need to download a new driver
  for each database engine
 e.g. Oracle, mSQL
Jdbc ppt

Más contenido relacionado

La actualidad más candente

Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database Connectivity
backdoor
 

La actualidad más candente (20)

JDBC
JDBCJDBC
JDBC
 
Java database connectivity
Java database connectivityJava database connectivity
Java database connectivity
 
JAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML SchemaJAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML Schema
 
XML parsing using jaxb
XML parsing using jaxbXML parsing using jaxb
XML parsing using jaxb
 
Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC)Java Database Connectivity (JDBC)
Java Database Connectivity (JDBC)
 
Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database Connectivity
 
JDBC – Java Database Connectivity
JDBC – Java Database ConnectivityJDBC – Java Database Connectivity
JDBC – Java Database Connectivity
 
Database Access With JDBC
Database Access With JDBCDatabase Access With JDBC
Database Access With JDBC
 
java Jdbc
java Jdbc java Jdbc
java Jdbc
 
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIsCS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
CS6270 Virtual Machines - Java Virtual Machine Architecture and APIs
 
JSR-222 Java Architecture for XML Binding
JSR-222 Java Architecture for XML BindingJSR-222 Java Architecture for XML Binding
JSR-222 Java Architecture for XML Binding
 
1. java database connectivity (jdbc)
1. java database connectivity (jdbc)1. java database connectivity (jdbc)
1. java database connectivity (jdbc)
 
Jaxb
JaxbJaxb
Jaxb
 
Java- JDBC- Mazenet Solution
Java- JDBC- Mazenet SolutionJava- JDBC- Mazenet Solution
Java- JDBC- Mazenet Solution
 
JDBC Connectivity Model
JDBC Connectivity ModelJDBC Connectivity Model
JDBC Connectivity Model
 
Database Programming
Database ProgrammingDatabase Programming
Database Programming
 
Overview Of JDBC
Overview Of JDBCOverview Of JDBC
Overview Of JDBC
 
java jdbc connection
java jdbc connectionjava jdbc connection
java jdbc connection
 
JDBC: java DataBase connectivity
JDBC: java DataBase connectivityJDBC: java DataBase connectivity
JDBC: java DataBase connectivity
 
Jdbc connectivity in java
Jdbc connectivity in javaJdbc connectivity in java
Jdbc connectivity in java
 

Similar a Jdbc ppt

JDBC java for learning java for learn.ppt
JDBC java for learning java for learn.pptJDBC java for learning java for learn.ppt
JDBC java for learning java for learn.ppt
kingkolju
 
Jdbc (database in java)
Jdbc (database in java)Jdbc (database in java)
Jdbc (database in java)
Maher Abdo
 

Similar a Jdbc ppt (20)

Prashanthi
PrashanthiPrashanthi
Prashanthi
 
JDBC.ppt
JDBC.pptJDBC.ppt
JDBC.ppt
 
JDBC programming
JDBC programmingJDBC programming
JDBC programming
 
Chap3 3 12
Chap3 3 12Chap3 3 12
Chap3 3 12
 
JDBC java for learning java for learn.ppt
JDBC java for learning java for learn.pptJDBC java for learning java for learn.ppt
JDBC java for learning java for learn.ppt
 
Jdbc connectivity
Jdbc connectivityJdbc connectivity
Jdbc connectivity
 
JDBC
JDBCJDBC
JDBC
 
Jdbc sasidhar
Jdbc  sasidharJdbc  sasidhar
Jdbc sasidhar
 
Jdbc
JdbcJdbc
Jdbc
 
Unit 5.pdf
Unit 5.pdfUnit 5.pdf
Unit 5.pdf
 
Jdbc introduction
Jdbc introductionJdbc introduction
Jdbc introduction
 
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBCBI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
BI, Integration, and Apps on Couchbase using Simba ODBC and JDBC
 
Jdbc (database in java)
Jdbc (database in java)Jdbc (database in java)
Jdbc (database in java)
 
JDBC
JDBCJDBC
JDBC
 
Final Database Connectivity in JAVA.ppt
Final Database Connectivity in JAVA.pptFinal Database Connectivity in JAVA.ppt
Final Database Connectivity in JAVA.ppt
 
java database connectivity for java programming
java database connectivity for java programmingjava database connectivity for java programming
java database connectivity for java programming
 
Jdbc
JdbcJdbc
Jdbc
 
Java database connectivity
Java database connectivityJava database connectivity
Java database connectivity
 
Introduction to JDBC and JDBC Drivers
Introduction to JDBC and JDBC DriversIntroduction to JDBC and JDBC Drivers
Introduction to JDBC and JDBC Drivers
 
Jdbc
JdbcJdbc
Jdbc
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

Jdbc ppt

  • 2. •API for Java which defines how program can access a DB. •JDBC(TM) - developed by Sun Microsystems • Exploited an existing interface library (ODBC) • ODBC - Open Database Connectivity (C library)— standard Application Programming Interface for connecting to db; independent of programming languages, db systems, OS • ODBC - C programmers DB interface, early 1990's
  • 3. JDBC Drivers  Client-side adaptors that convert Java program requests into a protocol that DBMS understands  4 types: 1. Type 1—JDBC-ODBC bridge 2. Type 2—Native API driver (converts JDBC calls to DBMS API) 3. Type 3—Network protocol driver—can connect JDBC to middleware-net server 4. Type 4—Driver-native protocol driver (converts JDBC calls directly to DBMS protocol)
  • 4. Loading a DriverManager  DriverManager provides DB interface methods & defines objects which can connect Java app to driver; it manages set of drivers program can use to connect to db; finds driver & runs it to connect to db  Most Java programs use import to load a class  With JDBC, usually load driver class at runtime: import java.lang.*; public static void main (String args[]) { try { // this loads & initialises the driver Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // now connect to DB ... } catch (ClassNotFoundException e) { System.err.println(e.getMessage()); e.printStackTrace(); System.exit(1); } }
  • 5. Making a JDBC-ODBC Database Connection import java.sql.*; Connection con; String URL = "jdbc:odbc:DataSource"; String Username = ""; String Password = ""; con = DriverManager.getConnection(URL,Username, Password); // make more calls to JDBC methods here... con.close();  ‘DataSource’ is a ‘logical name’ (not a real filename)  Need to set DataSource = MyDatabase.mdb elsewhere  Use ODBC Data Source Administrator for this...
  • 6. Statement and ResultSet Objects Statement stmt = con.createStatement(); String sql = "SELECT * FROM Staff;"; ResultSet rs = stmt.executeQuery(sql); print_rs(rs); // shown later rs.close(); // free memory stmt.close();  Statement objects let you execute SQL queries: 3 types: Statement (simple, no parameters), Prepared Statement (precompiled queries), Callable Statement (execute call to db stored sql procedure)  Can pass any legal SQL query to executeQuery()  Here, rs holds the entire results table (Staff)...
  • 7. ResultSets and Cursors The ResultSet object is a ‘container’ for the results of a query (table):  Each ResultSet contains:  Numbered Fields (columns)  Field names & types (metadata)  A Cursor (current row) •First cursor position is BEFORE FIRST ROW • Rows and columns COUNT FROM ONE •Move cursor via: rs.next(), previous(), first(), last(), relative(), absolute(), beforeFirst(), afterLast()
  • 8. Type I Drivers  Use bridging technology  Requires installation/configuration on client machines  Not good for Web  e.g. ODBC Bridge Copyright © 1997 Alex Chaffee
  • 9. Type II Drivers  Native API drivers  Requires installation/configuration on client machines  Used to leverage existing CLI libraries  Usually not thread-safe  Mostly obsolete now  e.g. Intersolv Oracle Driver, WebLogic drivers Copyright © 1997 Alex Chaffee
  • 10. Type III Drivers  Calls middleware server, usually on database host  Very flexible -- allows access to multiple databases using one driver  Only need to download one driver  But it’s another server application to install and maintain  e.g. Symantec DBAnywhere
  • 11. Type IV Drivers  100% Pure Java -- the Holy Grail  Use Java networking libraries to talk directly to database engines  Only disadvantage: need to download a new driver for each database engine  e.g. Oracle, mSQL

Notas del editor

  1. Copyright © 1997 Alex Chaffee
  2. Copyright © 1997 Alex Chaffee