Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Σχετικά έγγραφα
MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

MySQL + Γλώσσα Προγραμματισμού. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Προγραμματισμός ΙΙ (Java) 6. Διαχείριση δεδομένων

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

(C) 2010 Pearson Education, Inc. All rights reserved.

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

SOAP API. Table of Contents

, Evaluation of a library against injection attacks

Lecture 3: Introduction III

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

2 Composition. Invertible Mappings

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

CYTA Cloud Server Set Up Instructions

Instruction Execution Times

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Αποτελεί ισχυρό εργαλείο, µε υψηλή απόδοση & αποτελεσµατικότητα.

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

NetBeans και σχετικά προγράμματα. Κακαρόντζας Γεώργιος Κέντρο Αριστείας Ανοιχτού Λογισμικού ΑΠΘ 1ο Θερινό Σχολείο Κώδικα

Ασφάλεια σε χώρους αναψυχής: Ένα σύστημα από έξυπνα αντικείμενα

How to register an account with the Hellenic Community of Sheffield.

Test Data Management in Practice

The Simply Typed Lambda Calculus

Στο εστιατόριο «ToDokimasesPrinToBgaleisStonKosmo?» έξω από τους δακτυλίους του Κρόνου, οι παραγγελίες γίνονται ηλεκτρονικά.

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 133: ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΕΡΓΑΣΤΗΡΙΟ 3 Javadoc Tutorial

Κατανεμημένα Συστήματα. Javascript LCR example

Modbus basic setup notes for IO-Link AL1xxx Master Block

Partial Trace and Partial Transpose

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

PortSip Softphone. Ελληνικά Ι English 1/20

Homework 3 Solutions

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

Overview. Transition Semantics. Configurations and the transition relation. Executions and computation

Εργαστήριο βάσεων δεδομένων. MySQL Stored Procedures

derivation of the Laplacian from rectangular to spherical coordinates

4.6 Autoregressive Moving Average Model ARMA(1,1)

Σχεδιασμός Βάσεων Δεδομένων

ΣΧΕΣΕΙΣ στην Northwind

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΟΛΙΤΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΥΔΡΑΥΛΙΚΗΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΙΚΗΣ ΤΕΧΝΙΚΗΣ. Ειδική διάλεξη 2: Εισαγωγή στον κώδικα της εργασίας

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

Διαδικτυακές Εφαρμογές Ενότητα 7: Προσπέλαση ΒΔ με το JDBC

ΕΠΛ 342 Βάσεις εδοµένων

ΚΕΡΑΜΟΠΟΥΛΟΣ ΕΥΚΛΕΙΔΗΣ

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Βάσεις Δεδομένων (4 ο εξάμηνο) Εργαστήριο MySQL #2

CHAPTER 25 SOLVING EQUATIONS BY ITERATIVE METHODS

Περιγραφή της εργασίας

10 η Διάλεξη Python Βάσεις δεδομένων στη python

Fractional Colorings and Zykov Products of graphs

Συστήματα Διαχείρισης Βάσεων Δεδομένων

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Λευτέρης Κουμάκης ΠΟΛΥΜΕΣΙΚΕΣ ΥΠΗΡΕΣΙΕΣ ΣΤΗΝ ΥΓΕΙΑ

Other Test Constructions: Likelihood Ratio & Bayes Tests

C.S. 430 Assignment 6, Sample Solutions

Project: 296 File: Title: CMC-E-600 ICD Doc No: Rev 2. Revision Date: 15 September 2010

Section 7.6 Double and Half Angle Formulas

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αντικειμενοστρεφής Προγραμματισμός

Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in

TMA4115 Matematikk 3

Example Sheet 3 Solutions

Δομές Δεδομένων - Εργαστήριο 2. Λίστες

6.3 Forecasting ARMA processes

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

Εισαγωγή στα Δίκτυα Υπηρεσιών

Χρειάζεται να φέρω μαζί μου τα πρωτότυπα έγγραφα ή τα αντίγραφα; Asking if you need to provide the original documents or copies Ποια είναι τα κριτήρια

SPEEDO AQUABEAT. Specially Designed for Aquatic Athletes and Active People

TaxiCounter Android App. Περδίκης Ανδρέας ME10069

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Capacitors - Capacitance, Charge and Potential Difference

Inverse trigonometric functions & General Solution of Trigonometric Equations

Κεφάλαιο 1. Βασικά Στοιχεία της Java... 13

ΣΧΕΔΙΑΣΜΟΣ ΒΑΣΕΩΝ ΔΕΔΟΜΕΝΩΝ ΕΡΓΑΣΤΗΡΙΟ 4

Θέματα Προγραμματισμού Διαδικτύου ~ MySQL & PHP ~

Introduction to Java. Module 6: Class Diagrams and Use case Diagrams. Prepared by Costantinos Costa for EPL 233

Section 8.3 Trigonometric Equations

Fourier Series. MATH 211, Calculus II. J. Robert Buchanan. Spring Department of Mathematics

Εισαγωγή στην Ανάπτυξη Εφαρμογών Web με Χρήση της Python, του Apache και του mod_python

Areas and Lengths in Polar Coordinates

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που

Exercises to Statistics of Material Fatigue No. 5

Κεφάλαιο 14 Διασύνδεση με Εφαρμογές JAVA

Exercises 10. Find a fundamental matrix of the given system of equations. Also find the fundamental matrix Φ(t) satisfying Φ(0) = I. 1.

Automating Complex Workflows using Processing Modeler

Διαδικτυακές Εφαρμογές Ενότητα 3: Ανάπτυξη JavaEE 6 εφαρμογής με JSF2, EJB3 και JPA

Πανεπιστήµιο Πειραιώς Τµήµα Πληροφορικής

2. Εισαγωγή Δεδομένων σε Σχεσιακή Βάση Δεδομένων

HY150a Φροντιστήριο 3 24/11/2017

VBA ΣΤΟ WORD. 1. Συχνά, όταν ήθελα να δώσω ένα φυλλάδιο εργασίας με ασκήσεις στους μαθητές έκανα το εξής: Version ΗΜΙΤΕΛΗΣ!!!!

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων

. Εργαστήριο Βάσεων Δεδομένων. Triggers

Basic Raster Styling and Analysis

Physical DB Design. B-Trees Index files can become quite large for large main files Indices on index files are possible.

Σύνδεση εφαρμογής σε Βάση Δεδομένων PHP

Transcript:

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο

JDBC JDBC is a set of classes and interfaces written in Java that allows Java programs to send SQL statements to a database like Oracle

JDBC drivers There are two categories of Oracle JDBC drivers: OCI and JDBC Thin. Oracle's JDBC Thin driver is based on Java and is platform independent you need to download the ojdbc6.jar file and save it on your system. Oracle's OCI driver uses Oracle's native client libraries to communicate with databases. These libraries are obtained as part of the Oracle Instant Client. A good example of the OCI driver use is accessing a remote Oracle database from a PHP application using the Oracle Instant Client libraries.

JDBC database Connector The JDBC database Connector provides access to the database. To reach the database using JDBC we need a JDBC driver from the database provider in our case Oracle. This connector is typically delivered with the product in a jar or zip file or available in the provider s website. These files must be in our classpath

Connect Oracle με Java Βήμα 1 - Εισάγουμε το πακέτο JAVA : import java.sql.*; Βήμα 2 Register JDBC Driver Η εγγραφή του driver είναι η διαδικασία με την οποία το Oracle class driver s class φορτώνεται στη μνήμη έτσι ώστε να μπορεί να χρησιμοποηθεί Βήμα 3 - Δημιουργούμε τη σύνδεση με τη ΒΔ: Connection conn= DriverManager.getConnection( main protocol:sub protocol:type4driver:name of oracle server:default port number(1521):service name, username, password ); Αρα jdbc:oracle:thin:@[host][:port]:sid π.χ. Connection conn = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:orcl", HR", hr"

JDBC Database Connections Import JDBC packages: import java.sql.* Register Driver Class.forName("oracle.jdbc.driver.OracleDriver"); DriverManager.registerDriver( new oracle.jdbc.oracledriver()); Create Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/orcl","hr", "hr"); Close Connection con.close();

Creating Statements A Statement is an interface that represents a SQL statement. You execute Statement objects, and they generate ResultSet objects, which is a table of data representing a database result set. You need a Connection object to create a Statement object. create a Statement object with the following code: stmt = con.createstatement();

Kinds of Statements Statement: Used to implement simple SQL statements with no parameters. PreparedStatement: (Extends Statement.) Used for precompiling SQL statements that might contain input parameters. See Using Prepared Statements for more information. CallableStatement: (Extends PreparedStatement.) Used to execute stored procedures that may contain both input and output parameters.

Executing Queries To execute a query, call an execute method from Statement such as the following: execute: Returns true if the first object that the query returns is a ResultSet object. Use this method if the query could return one or more ResultSet objects. Retrieve the ResultSet objects returned from the query by repeatedly calling Statement.getResultSet. executequery: Returns one ResultSet object. executeupdate: Returns an integer representing the number of rows affected by the SQL statement. Use this method if you are using INSERT, DELETE, or UPDATE SQL statements.

ResultSet (2)

Execute SQL query String SQL = "SELECT CUSTNO, CUSTNAME FROM CUSTOMER"; Statement stat = conn.createstatement(); ResultSet rs = stat.executequery(sql); while (rs.next()) { System.out.println( rs.getint(1) + "\t" + rs.getstring(2) ); } stat.close(); conn.close();

Matching Java and SQL Data Types

Executing SQL statements : PreparedStatement

ResultSet PreparedStatement.executeUpdate only returns the number of affected records PreparedStatement.executeQuery returns data, encapsulated in a ResultSet object (a cursor) ResultSet rs=pstmt.executequery(sql); // rs is now a cursor While (rs.next()) { // process the data }

add the Java Oracle Connector JAR in project s classpath.to do this, right click on your Java Project -> Properties -> Buildpath -> Libraries -> Add External JAR and select the odbc6.jar file.

Call a procedure with an IN parameter { CallableStatement procin = conn.preparecall ("begin procin (?); end;"); procin.setstring (1, "testing"); procin.execute (); procin.close(); }

Call a function with an IN parameter } { CallableStatement funcin = conn.preparecall ("begin? := funcin (?); end;"); funcin.registeroutparameter (1, Types.CHAR); funcin.setstring (2, "testing"); funcin.execute (); System.out.println ("Return value is: " + funcin.getstring (1)); funcin.close();