The JAVA Way: JDBC and SQLJ

Save this PDF as:
Size: px
Start display at page:

Download "The JAVA Way: JDBC and SQLJ"

Transcription

1 The JAVA Way: JDBC and SQLJ David Toman School of Computer Science University of Waterloo Introduction to Databases CS348 David Toman (University of Waterloo) JDBC/SQLJ 1 / 21

2 The JAVA way to Access RDBMS JDBC: Java version of ODBC Hamilton, et al: JDBC Database Access with JAVA. A Tutorial and annotated Reference. Addison Wesley SQLJ: Embedded SQL in Java database/articles/sqlj.html Examples, etc., again courtesy of IBM: David Toman (University of Waterloo) JDBC/SQLJ 2 / 21

3 JDBC Overview JAVA API patterned after ODBC ) uses OO features to handle sets by iterators Standardized ) should work with any RDBMS What does it do for us? 1 establishes connection with the database 2 manages SQL statements 3 processes results/diagnostic messages David Toman (University of Waterloo) JDBC/SQLJ 3 / 21

4 JDBC Drivers and Connections Connection to the DBMS is made using two pieces of software: 1 JDBC driver (supplied by the DBMS vendor) COM.ibm.db2.jdbc.app.DB2Driver: IBM DB2 : ORACLE 8 sun.jdbc.odbc.jdbcodbcdriver : JDBC to ODBC ) use Class.forName to load it. 2 JDBC Driver Manager (in JDK1.1) ) makes the actual connection: DriverManager.getConnection("jdbc:db2:db") ) uses an URL to identify the database ) picks the right driver based on the URL David Toman (University of Waterloo) JDBC/SQLJ 4 / 21

5 JDBC Example // DB2 UDB JDBC Samples // // (c) Copyright International Business Machines // Corporation, 1996, All Rights Reserved. import java.sql.*; class Appl { static { try { // register the driver with DriverManager Class.forName("COM.ibm.db2.jdbc.app.DB2Driver"); catch (Exception e) { e.printstacktrace(); David Toman (University of Waterloo) JDBC/SQLJ 5 / 21

6 JDBC (connection) public static void main(string argv[]) { Connection con = null; // URL is jdbc:db2:dbname String url = "jdbc:db2:cs448"; try { if (argv.length == 0) { // connect with default id/password con = DriverManager.getConnection(url); else if (argv.length == 2) { String userid = argv[0]; String passwd = argv[1]; // connect with user-provided username and password con = DriverManager.getConnection(url, userid, passwd); else { System.out.println("\nUse: java Appl [name passwd]\n"); System.exit(0); David Toman (University of Waterloo) JDBC/SQLJ 6 / 21

7 Statements et al. get a statement : stmt = con.createstatement() or stmt = con.preparestatement(string) where String may contain parameters (?) supply input parameters : stmt.setxxx(i,val) (or stmt.setnull()) and execute it: ResultSet stmt.executequery() int = stmt.executeupdate() David Toman (University of Waterloo) JDBC/SQLJ 7 / 21

8 Errors Much nicer than in ODBC/Embedded SQL in C: use JAVA Exception handling mechanisms. The methods used in JDBC may throw SQLException ) you HAVE to catch it. Provides: 1 SQL state: exception.getsqlstate() 2 Text Message: exception.getmessage() 3 Vendor code: exception.geterrorcode() 4... to get next exception : exception.getnextexception() David Toman (University of Waterloo) JDBC/SQLJ 8 / 21

9 Retrieving Answers JDBC returns answers to queries using ResultSet: essentially an implicit cursor. returned by rs = stmt.executequery() get tuple/no more tuples: boolean rs.next() get value of attributes: XXX rs.getxxx(int) (by column number) or XXX rs.getxxx(string) (by attribute name) close: rs.close() No indicator variables: uses JAVA s NULL. David Toman (University of Waterloo) JDBC/SQLJ 9 / 21

10 Retrieving Answers JDBC returns answers to queries using ResultSet: essentially an implicit cursor. returned by rs = stmt.executequery() get tuple/no more tuples: boolean rs.next() get value of attributes: XXX rs.getxxx(int) (by column number) or XXX rs.getxxx(string) (by attribute name) close: rs.close() No indicator variables: uses JAVA s NULL. David Toman (University of Waterloo) JDBC/SQLJ 9 / 21

11 JDBC query // get a statement handle Statement stmt = con.createstatement(); // retrieve data from the database ResultSet rs = stmt.executequery("select * from publication"); System.out.println("Received results:"); // display the result set // rs.next() returns false when there are no more rows while (rs.next()) { String a = rs.getstring(1); String str = rs.getstring(2); System.out.print(" pubid= " + a); System.out.print(" title= " + str); System.out.print("\n"); rs.close(); stmt.close(); David Toman (University of Waterloo) JDBC/SQLJ 10 / 21

12 JDBC update // get a statement handle stmt = con.preparestatement("update author set name = SHILI where aid =?"); //set up the paremeter(s) stmt.setint(1,1); // update the database int rowsupdated = stmt.executeupdate(); System.out.println("Changed "+rowsupdated+" row(s)."); stmt.close(); con.close(); catch( Exception e ) { e.printstacktrace(); David Toman (University of Waterloo) JDBC/SQLJ 11 / 21

13 Transactions and Connections Transactions managed by database connection: con.commit() ) commits the transaction con.rollback() ) aborts the transaction con.close() ) closes the database connection (and releases DBMS resources) David Toman (University of Waterloo) JDBC/SQLJ 12 / 21

14 SQLJ Overview Embedded SQL for Java Only Static SQL (use JDBC for dynamic SQL) Type checking ) allows disconnected operation Magic keyword in SQLJ: #sql <sqlj command> Error handling: ) exception-based (same as in JDBC) SQLJ compiles foo.sqlj to foo.java. ) connects to the database ) uses exemplar schema David Toman (University of Waterloo) JDBC/SQLJ 13 / 21

15 Connections and Contexts embedded SQL implicitly talks to a context ) essentially a database connection ) Exemplar Schema for every context context declarations #sql context MyContext; contexts may be used explicitly: #sql [MyContext]... ; context omitted! default context David Toman (University of Waterloo) JDBC/SQLJ 14 / 21

16 SQLJ Example // DB2 UDB SQLJ Samples // // (c) Copyright International Business Machines // Corporation, All Rights Reserved. import java.sql.*; import sqlj.runtime.*; #sql iterator App_Cursor1 (String empno, String firstnme) ; #sql iterator App_Cursor2 (String) ; class App { static { try { // register the driver with DriverManager Class.forName("COM.ibm.db2.jdbc.app.DB2Driver"); catch (Exception e) { e.printstacktrace(); David Toman (University of Waterloo) JDBC/SQLJ 15 / 21

17 SQLJ (cont.) public static void main(string argv[]) { try { Connection con = null; // URL is jdbc:db2:dbname String url = "jdbc:db2:cs448"; DefaultContext ctx = DefaultContext.getDefaultContext(); if (ctx == null) { try { // connect with default id/password con = DriverManager.getConnection(url); ctx = new DefaultContext(con); catch (SQLException e) { System.out.println("Error: no default context"); System.err.println(e) ; System.exit(1); DefaultContext.setDefaultContext(ctx); David Toman (University of Waterloo) JDBC/SQLJ 16 / 21

18 SQLJ Statements Embedded SQL statements: #sql [context] { embedded sql ; ) embedded sql must be a static SQL statement ) host variables connect SQL and JAVA David Toman (University of Waterloo) JDBC/SQLJ 17 / 21

19 SQLJ update try { // update the database #sql { UPDATE author set name = :string where aid = :aid ; // rollback the update #sql { ROLLBACK work ; catch( Exception e ) { e.printstacktrace(); David Toman (University of Waterloo) JDBC/SQLJ 18 / 21

20 Cursors, Iterators, etc. iterator object declarations #sql iterator Iter (a1,..., ak); used for queries: where ai is a type and identifier (name) #sql Iter = { SELECT b1,...,bk FROM... ; binding of columns: 1 positional: #sql { FETCH :Iter INTO :v1,...,:vk ; more rows: Iter.endFetch() not true 2 named: value of column a i : vi = Iter.ai() next row: Iter.next() is true David Toman (University of Waterloo) JDBC/SQLJ 19 / 21

21 SQLJ query try { #sql iterator cursor1(string pubid, String title); #sql cursor1 = { SELECT pubid, title from publicaion ; System.out.println("Received results:"); while (cursor1.next()) { str1 = cursor1.pubid(); str2 = cursor1.title(); System.out.print (" pubid= " + str1); System.out.print (" title= " + str2); System.out.print ("\n"); cursor1.close(); #sql { SELECT count(*) into :count1 from author ; System.out.println("There are "+count1+" authors."); catch( Exception e ) { e.printstacktrace(); David Toman (University of Waterloo) JDBC/SQLJ 20 / 21

22 Summary SQL in JAVA: static: SQLJ + SQLJ precompiler ) adopts most of static embedded SQL dynamic: JDBC ) responsible for the rest... SQLJ and JDBC cooperate Cursors handled by Iterators Errors are handled by JAVA Exceptions David Toman (University of Waterloo) JDBC/SQLJ 21 / 21

Database Access from a Programming Language: Database Access from a Programming Language

Database Access from a Programming Language: Database Access from a Programming Language Database Access from a Programming Language: Java s JDBC Werner Nutt Introduction to Databases Free University of Bozen-Bolzano 2 Database Access from a Programming Language Two Approaches 1. Embedding

More information

Database Access from a Programming Language:

Database Access from a Programming Language: Database Access from a Programming Language: Java s JDBC Werner Nutt Introduction to Databases Free University of Bozen-Bolzano 2 Database Access from a Programming Language Two Approaches 1. Embedding

More information

Chapter 9 Java and SQL. Wang Yang wyang@njnet.edu.cn

Chapter 9 Java and SQL. Wang Yang wyang@njnet.edu.cn Chapter 9 Java and SQL Wang Yang wyang@njnet.edu.cn Outline Concern Data - File & IO vs. Database &SQL Database & SQL How Connect Java to SQL - Java Model for Database Java Database Connectivity (JDBC)

More information

CS346: Database Programming. http://warwick.ac.uk/cs346

CS346: Database Programming. http://warwick.ac.uk/cs346 CS346: Database Programming http://warwick.ac.uk/cs346 1 Database programming Issue: inclusionofdatabasestatementsinaprogram combination host language (general-purpose programming language, e.g. Java)

More information

COSC344 Database Theory and Applications. Java and SQL. Lecture 12

COSC344 Database Theory and Applications. Java and SQL. Lecture 12 COSC344 Database Theory and Applications Lecture 12: Java and SQL COSC344 Lecture 12 1 Last Lecture Trigger Overview This Lecture Java & SQL Source: Lecture notes, Textbook: Chapter 12 JDBC documentation

More information

CS 377 Database Systems SQL Programming. Li Xiong Department of Mathematics and Computer Science Emory University

CS 377 Database Systems SQL Programming. Li Xiong Department of Mathematics and Computer Science Emory University CS 377 Database Systems SQL Programming Li Xiong Department of Mathematics and Computer Science Emory University 1 A SQL Query Joke A SQL query walks into a bar and sees two tables. He walks up to them

More information

SQL and programming languages

SQL and programming languages SQL and programming languages SET08104 Database Systems Copyright Napier University Slide 1/14 Pure SQL Pure SQL: Queries typed at an SQL prompt. SQL is a non-procedural language. SQL specifies WHAT, not

More information

Why Is This Important? Database Application Development. SQL in Application Code. Overview. SQL in Application Code (Contd.

Why Is This Important? Database Application Development. SQL in Application Code. Overview. SQL in Application Code (Contd. Why Is This Important? Database Application Development Chapter 6 So far, accessed DBMS directly through client tools Great for interactive use How can we access the DBMS from a program? Need an interface

More information

Chapter 13. Introduction to SQL Programming Techniques. Database Programming: Techniques and Issues. SQL Programming. Database applications

Chapter 13. Introduction to SQL Programming Techniques. Database Programming: Techniques and Issues. SQL Programming. Database applications Chapter 13 SQL Programming Introduction to SQL Programming Techniques Database applications Host language Java, C/C++/C#, COBOL, or some other programming language Data sublanguage SQL SQL standards Continually

More information

SQL and Java. Database Systems Lecture 19 Natasha Alechina

SQL and Java. Database Systems Lecture 19 Natasha Alechina Database Systems Lecture 19 Natasha Alechina In this Lecture SQL in Java SQL from within other Languages SQL, Java, and JDBC For More Information Sun Java tutorial: http://java.sun.com/docs/books/tutorial/jdbc

More information

DATABASDESIGN FÖR INGENJÖRER - 1DL124

DATABASDESIGN FÖR INGENJÖRER - 1DL124 1 DATABASDESIGN FÖR INGENJÖRER - 1DL124 Sommar 2007 En introduktionskurs i databassystem http://user.it.uu.se/~udbl/dbt-sommar07/ alt. http://www.it.uu.se/edu/course/homepage/dbdesign/st07/ Kjell Orsborn

More information

MAKING ORACLE AND SQLJ WORK FOR YOU John Jay King, King Training Resources

MAKING ORACLE AND SQLJ WORK FOR YOU John Jay King, King Training Resources MAKING ORACLE AND SQLJ WORK FOR YOU, King Training Resources Oracle and Java are an uncommonly good pairing; Oracle provides relational database for most environments and Java provides code that works

More information

Database Programming. Week 10-2. *Some of the slides in this lecture are created by Prof. Ian Horrocks from University of Oxford

Database Programming. Week 10-2. *Some of the slides in this lecture are created by Prof. Ian Horrocks from University of Oxford Database Programming Week 10-2 *Some of the slides in this lecture are created by Prof. Ian Horrocks from University of Oxford SQL in Real Programs We have seen only how SQL is used at the generic query

More information

Supplement IV.D: Tutorial for MS Access. For Introduction to Java Programming By Y. Daniel Liang

Supplement IV.D: Tutorial for MS Access. For Introduction to Java Programming By Y. Daniel Liang Supplement IV.D: Tutorial for MS Access For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Creating Databases and Executing SQL Creating ODBC Data Source

More information

1 SQL Data Types and Schemas

1 SQL Data Types and Schemas COMP 378 Database Systems Notes for Chapters 4 and 5 of Database System Concepts Advanced SQL 1 SQL Data Types and Schemas 1.1 Additional Data Types 1.1.1 User Defined Types Idea: in some situations, data

More information

CS 7700 Transaction Design for Microsoft Access Database with JDBC

CS 7700 Transaction Design for Microsoft Access Database with JDBC CS 7700 Transaction Design for Microsoft Access Database with JDBC Purpose The purpose of this tutorial is to introduce the process of developing transactions for a Microsoft Access Database with Java

More information

CS/CE 2336 Computer Science II

CS/CE 2336 Computer Science II CS/CE 2336 Computer Science II UT D Session 23 Database Programming with Java Adapted from D. Liang s Introduction to Java Programming, 8 th Ed. and other sources 2 Database Recap Application Users Application

More information

Applets, RMI, JDBC Exam Review

Applets, RMI, JDBC Exam Review Applets, RMI, JDBC Exam Review Sara Sprenkle Announcements Quiz today Project 2 due tomorrow Exam on Thursday Web programming CPM and servlets vs JSPs Sara Sprenkle - CISC370 2 1 Division of Labor Java

More information

Course Objectives. Database Applications. External applications. Course Objectives Interfacing. Mixing two worlds. Two approaches

Course Objectives. Database Applications. External applications. Course Objectives Interfacing. Mixing two worlds. Two approaches Course Objectives Database Applications Design Construction SQL/PSM Embedded SQL JDBC Applications Usage Course Objectives Interfacing When the course is through, you should Know how to connect to and

More information

JDBC. It is connected by the Native Module of dependent form of h/w like.dll or.so. ex) OCI driver for local connection to Oracle

JDBC. It is connected by the Native Module of dependent form of h/w like.dll or.so. ex) OCI driver for local connection to Oracle JDBC 4 types of JDBC drivers Type 1 : JDBC-ODBC bridge It is used for local connection. ex) 32bit ODBC in windows Type 2 : Native API connection driver It is connected by the Native Module of dependent

More information

Statement Level Interface. Call Level Interface. Static SQL. Status. Connections. Transactions. To connect to an SQL database, use a connect statement

Statement Level Interface. Call Level Interface. Static SQL. Status. Connections. Transactions. To connect to an SQL database, use a connect statement Interactive vs. Non-Interactive SQL Using SQL in an Application Chapter 8 Interactive SQL: SQL statements input from terminal; DBMS outputs to screen Inadequate for most uses It may be necessary to process

More information

Brazil + JDBC Juin 2001, douin@cnam.fr http://jfod.cnam.fr/tp_cdi/douin/

Brazil + JDBC Juin 2001, douin@cnam.fr http://jfod.cnam.fr/tp_cdi/douin/ Brazil + JDBC Juin 2001, douin@cnam.fr http://jfod.cnam.fr/tp_cdi/douin/ version du 26 Mai 2003 : JDBC-SQL et Brazil pré-requis : lecture de Tutorial JDBC de Sun Bibliographie Brazil [Bra00]www.sun.com/research/brazil

More information

Java Server Pages and Java Beans

Java Server Pages and Java Beans Java Server Pages and Java Beans Java server pages (JSP) and Java beans work together to create a web application. Java server pages are html pages that also contain regular Java code, which is included

More information

DEVELOPING MULTITHREADED DATABASE APPLICATION USING JAVA TOOLS AND ORACLE DATABASE MANAGEMENT SYSTEM IN INTRANET ENVIRONMENT

DEVELOPING MULTITHREADED DATABASE APPLICATION USING JAVA TOOLS AND ORACLE DATABASE MANAGEMENT SYSTEM IN INTRANET ENVIRONMENT DEVELOPING MULTITHREADED DATABASE APPLICATION USING JAVA TOOLS AND ORACLE DATABASE MANAGEMENT SYSTEM IN INTRANET ENVIRONMENT Raied Salman Computer Information Science, American College of Commerce and

More information

Java and Microsoft Access SQL Tutorial

Java and Microsoft Access SQL Tutorial Java and Microsoft Access SQL Tutorial Introduction: Last Update : 30 April 2008 Revision : 1.03 This is a short tutorial on how to use Java and Microsoft Access to store and retrieve data in an SQL database.

More information

JDBC (Java / SQL Programming) CS 377: Database Systems

JDBC (Java / SQL Programming) CS 377: Database Systems JDBC (Java / SQL Programming) CS 377: Database Systems JDBC Acronym for Java Database Connection Provides capability to access a database server through a set of library functions Set of library functions

More information

Overview. Database Application Development. SQL in Application Code (Contd.) SQL in Application Code. Embedded SQL. Embedded SQL: Variables

Overview. Database Application Development. SQL in Application Code (Contd.) SQL in Application Code. Embedded SQL. Embedded SQL: Variables Overview Database Application Development Chapter 6 Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic SQL JDBC SQLJ Stored procedures Database Management Systems 3ed,

More information

Database Application Development. Overview. SQL in Application Code. Chapter 6

Database Application Development. Overview. SQL in Application Code. Chapter 6 Database Application Development Chapter 6 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Overview Concepts covered in this lecture: SQL in application code Embedded SQL Cursors Dynamic

More information

Application Development A Cocktail of Java and MCP. MCP Guru Series Dan Meyer & Pramod Nair

Application Development A Cocktail of Java and MCP. MCP Guru Series Dan Meyer & Pramod Nair Application Development A Cocktail of Java and MCP MCP Guru Series Dan Meyer & Pramod Nair Agenda Which of the following topics can be found in an Application Development cocktail? o Calling Java from

More information

CHAPTER 3. Relational Database Management System: Oracle. 3.1 COMPANY Database

CHAPTER 3. Relational Database Management System: Oracle. 3.1 COMPANY Database 45 CHAPTER 3 Relational Database Management System: Oracle This chapter introduces the student to the basic utilities used to interact with Oracle DBMS. The chapter also introduces the student to programming

More information

Java MySQL Connector & Connection Pool

Java MySQL Connector & Connection Pool Java MySQL Connector & Connection Pool Features & Optimization Kenny Gryp November 4, 2014 @gryp 2 Please excuse me for not being a Java developer DISCLAIMER What I Don t Like

More information

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today.

Services. Relational. Databases & JDBC. Today. Relational. Databases SQL JDBC. Next Time. Services. Relational. Databases & JDBC. Today. & & 1 & 2 Lecture #7 2008 3 Terminology Structure & & Database server software referred to as Database Management Systems (DBMS) Database schemas describe database structure Data ordered in tables, rows

More information

Java Programming. JDBC Spring Framework Web Services

Java Programming. JDBC Spring Framework Web Services Chair of Software Engineering Java Programming Languages in Depth Series JDBC Spring Framework Web Services Marco Piccioni May 31st 2007 What will we be talking about Java Data Base Connectivity The Spring

More information

What is ODBC? Database Connectivity ODBC, JDBC and SQLJ. ODBC Architecture. More on ODBC. JDBC vs ODBC. What is JDBC?

What is ODBC? Database Connectivity ODBC, JDBC and SQLJ. ODBC Architecture. More on ODBC. JDBC vs ODBC. What is JDBC? What is ODBC? Database Connectivity ODBC, JDBC and SQLJ CS2312 ODBC is (Open Database Connectivity): A standard or open application programming interface (API) for accessing a database. SQL Access Group,

More information

More SQL: Assertions, Views, and Programming Techniques

More SQL: Assertions, Views, and Programming Techniques 9 More SQL: Assertions, Views, and Programming Techniques In the previous chapter, we described several aspects of the SQL language, the standard for relational databases. We described the SQL statements

More information

Java and Databases. COMP514 Distributed Information Systems. Java Database Connectivity. Standards and utilities. Java and Databases

Java and Databases. COMP514 Distributed Information Systems. Java Database Connectivity. Standards and utilities. Java and Databases Java and Databases COMP514 Distributed Information Systems Java Database Connectivity One of the problems in writing Java, C, C++,, applications is that the programming languages cannot provide persistence

More information

LSINF1124 Projet de programmation

LSINF1124 Projet de programmation LSINF1124 Projet de programmation Database Programming with Java TM Sébastien Combéfis University of Louvain (UCLouvain) Louvain School of Engineering (EPL) March 1, 2011 Introduction A database is a collection

More information

Week 5: Embedded SQL. Embedded SQL 4. Application Program. Interactive vs. Non-Interactive SQL. Update Statements

Week 5: Embedded SQL. Embedded SQL 4. Application Program. Interactive vs. Non-Interactive SQL. Update Statements Week 5: Embedded SQL Update Statements Embedded SQL Traditional applications often need to embed SQL statements inside the instructions of a procedural programming language (C, COBOL, etc.) Programs with

More information

TECH TUTORIAL: EMBEDDING ANALYTICS INTO A DATABASE USING SOURCEPRO AND JMSL

TECH TUTORIAL: EMBEDDING ANALYTICS INTO A DATABASE USING SOURCEPRO AND JMSL TECH TUTORIAL: EMBEDDING ANALYTICS INTO A DATABASE USING SOURCEPRO AND JMSL This white paper describes how to implement embedded analytics within a database using SourcePro and the JMSL Numerical Library,

More information

Chapter 1 JDBC: Databases The Java Way! What Is The JDBC? The JDBC Structure ODBC s Part In The JDBC Summary

Chapter 1 JDBC: Databases The Java Way! What Is The JDBC? The JDBC Structure ODBC s Part In The JDBC Summary Java Database Programming with JDBC (Publisher: The Coriolis Group) Author(s): Pratik Patel ISBN: 1576100561 Publication Date: 10/01/96 Search this book: Introduction Go! Chapter 1 JDBC: Databases The

More information

A Brief Introduction to MySQL

A Brief Introduction to MySQL A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term

More information

Security Module: SQL Injection

Security Module: SQL Injection Security Module: SQL Injection Description SQL injection is a security issue that involves inserting malicious code into requests made to a database. The security vulnerability occurs when user provided

More information

Using Netbeans and the Derby Database for Projects Contents

Using Netbeans and the Derby Database for Projects Contents Using Netbeans and the Derby Database for Projects Contents 1. Prerequisites 2. Creating a Derby Database in Netbeans a. Accessing services b. Creating a database c. Making a connection d. Creating tables

More information

Database System Concepts

Database System Concepts Chapter 8(+4): Application Design and Development APIs Web Departamento de Engenharia Informática Instituto Superior Técnico 1 st Semester 2010/2011 Slides (fortemente) baseados nos slides oficiais do

More information

Making Oracle and JDBC Work For You

Making Oracle and JDBC Work For You Making Oracle and JDBC Work For You Presented to: TOUG DBA/Developer Day 2004 October 25, 2004 John Jay King King Training Resources john@kingtraining.com Download this paper and code examples from: http://www.kingtraining.com

More information

Supplement IV.C: Tutorial for Oracle. For Introduction to Java Programming By Y. Daniel Liang

Supplement IV.C: Tutorial for Oracle. For Introduction to Java Programming By Y. Daniel Liang Supplement IV.C: Tutorial for Oracle For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Connecting and Using Oracle Creating User Accounts Accessing Oracle

More information

SQL: Programming. Introduction to Databases CompSci 316 Fall 2014

SQL: Programming. Introduction to Databases CompSci 316 Fall 2014 SQL: Programming Introduction to Databases CompSci 316 Fall 2014 2 Announcements (Tue., Oct. 7) Homework #2 due today midnight Sample solution to be posted by tomorrow evening Midterm in class this Thursday

More information

CS2506 Operating Systems II Lab 8, 8 th Tue/03 /2011 Java API

CS2506 Operating Systems II Lab 8, 8 th Tue/03 /2011 Java API Introduction The JDBC API was designed to keep simple things simple. This means that the JDBC makes everyday database tasks easy. In this lab you will learn about how Java interacts with databases. JDBC

More information

Oracle8/ SQLJ Programming

Oracle8/ SQLJ Programming Technisch&AJniversitatDarmstadt Fachbeteich IpfcJrrnatik Fachgebiet PrjN^ische Informattk 7 '64283 Dar ORACLE Oracle Press Oracle8/ SQLJ Programming Tecbnischa UniversMt Osr FACHBEREICH INFORMATiK BIBLIOTHEK

More information

Comparing the Effectiveness of Penetration Testing and Static Code Analysis

Comparing the Effectiveness of Penetration Testing and Static Code Analysis Comparing the Effectiveness of Penetration Testing and Static Code Analysis Detection of SQL Injection Vulnerabilities in Web Services PRDC 2009 Nuno Antunes, nmsa@dei.uc.pt, mvieira@dei.uc.pt University

More information

TABLE OF CONTENTS...2 INTRODUCTION...3 APPLETS AND APPLICATIONS...3 JAVABEANS...4 EXCEPTION HANDLING...5 JAVA DATABASE CONNECTIVITY (JDBC)...

TABLE OF CONTENTS...2 INTRODUCTION...3 APPLETS AND APPLICATIONS...3 JAVABEANS...4 EXCEPTION HANDLING...5 JAVA DATABASE CONNECTIVITY (JDBC)... Advanced Features Trenton Computer Festival May 1 sstt & 2 n d,, 2004 Michael P.. Redlich Senior Research Technician ExxonMobil Research & Engineering michael..p..redlich@exxonmobil..com Table of Contents

More information

Security Code Review- Identifying Web Vulnerabilities

Security Code Review- Identifying Web Vulnerabilities Security Code Review- Identifying Web Vulnerabilities Kiran Maraju, CISSP, CEH, ITIL, SCJP Email: Kiran_maraju@yahoo.com 1 1.1.1 Abstract Security Code Review- Identifying Web Vulnerabilities This paper

More information

Apéndice C: Código Fuente del Programa DBConnection.java

Apéndice C: Código Fuente del Programa DBConnection.java Apéndice C: Código Fuente del Programa DBConnection.java import java.sql.*; import java.io.*; import java.*; import java.util.*; import java.net.*; public class DBConnection Connection pgsqlconn = null;

More information

ASP.NET Programming with C# and SQL Server

ASP.NET Programming with C# and SQL Server ASP.NET Programming with C# and SQL Server First Edition Chapter 8 Manipulating SQL Server Databases with ASP.NET Objectives In this chapter, you will: Connect to SQL Server from ASP.NET Learn how to handle

More information

Object Oriented Design with UML and Java. PART XVIII: Database Technology

Object Oriented Design with UML and Java. PART XVIII: Database Technology Object Oriented Design with UML and Java PART XVIII: Database Technology Copyright David Leberknight & Ron LeMaster. Version 2 What is a Database? Computerized record-keeping system. Collection of stored

More information

Using JML to protect Java code against SQL injection. Johan Janssen 0213888 jjanssen@sci.ru.nl June 26, 2007

Using JML to protect Java code against SQL injection. Johan Janssen 0213888 jjanssen@sci.ru.nl June 26, 2007 Using JML to protect Java code against SQL injection Johan Janssen 0213888 jjanssen@sci.ru.nl June 26, 2007 1 Abstract There are a lot of potential solutions against SQL injection. The problem is that

More information

7 Web Databases. Access to Web Databases: Servlets, Applets. Java Server Pages PHP, PEAR. Languages: Java, PHP, Python,...

7 Web Databases. Access to Web Databases: Servlets, Applets. Java Server Pages PHP, PEAR. Languages: Java, PHP, Python,... 7 Web Databases Access to Web Databases: Servlets, Applets Java Server Pages PHP, PEAR Languages: Java, PHP, Python,... Prof. Dr. Dietmar Seipel 837 7.1 Access to Web Databases by Servlets Java Servlets

More information

Embedded SQL. Unit 5.1. Dr Gordon Russell, Copyright @ Napier University

Embedded SQL. Unit 5.1. Dr Gordon Russell, Copyright @ Napier University Embedded SQL Unit 5.1 Unit 5.1 - Embedde SQL - V2.0 1 Interactive SQL So far in the module we have considered only the SQL queries which you can type in at the SQL prompt. We refer to this as interactive

More information

Part IV: Java Database Programming

Part IV: Java Database Programming Part IV: Java Database Programming This part of the book discusses how to use Java to develop database projects. You will learn JDBC interfaces and classes, create and process SQL statements, obtaining

More information

Working With Derby. Version 10.2 Derby Document build: December 11, 2006, 7:06:09 AM (PST)

Working With Derby. Version 10.2 Derby Document build: December 11, 2006, 7:06:09 AM (PST) Working With Derby Version 10.2 Derby Document build: December 11, 2006, 7:06:09 AM (PST) Contents Copyright...3 Introduction and prerequisites...4 Activity overview... 5 Activity 1: Run SQL using the

More information

Abstract. Introduction. Web Technology and Thin Clients. What s New in Java Version 1.1

Abstract. Introduction. Web Technology and Thin Clients. What s New in Java Version 1.1 Overview of Java Components and Applets in SAS/IntrNet Software Barbara Walters, SAS Institute Inc., Cary, NC Don Chapman, SAS Institute Inc., Cary, NC Abstract This paper describes the Java components

More information

An Oracle White Paper June 2013. Migrating Applications and Databases with Oracle Database 12c

An Oracle White Paper June 2013. Migrating Applications and Databases with Oracle Database 12c An Oracle White Paper June 2013 Migrating Applications and Databases with Oracle Database 12c Disclaimer The following is intended to outline our general product direction. It is intended for information

More information

Mimer SQL. Programmer s Manual. Version 8.2 Copyright 2000 Mimer Information Technology AB

Mimer SQL. Programmer s Manual. Version 8.2 Copyright 2000 Mimer Information Technology AB Mimer SQL Version 8.2 Copyright 2000 Mimer Information Technology AB Second revised edition December, 2000 Copyright 2000 Mimer Information Technology AB. Published by Mimer Information Technology AB,

More information

Java DB Performance. Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860

Java DB Performance. Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860 Java DB Performance Olav Sandstå Sun Microsystems, Trondheim, Norway Submission ID: 860 AGENDA > Java DB introduction > Configuring Java DB for performance > Programming tips > Understanding Java DB performance

More information

Using Temporary Tables to Improve Performance for SQL Data Services

Using Temporary Tables to Improve Performance for SQL Data Services Using Temporary Tables to Improve Performance for SQL Data Services 2014- Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying,

More information

Package sjdbc. R topics documented: February 20, 2015

Package sjdbc. R topics documented: February 20, 2015 Package sjdbc February 20, 2015 Version 1.5.0-71 Title JDBC Driver Interface Author TIBCO Software Inc. Maintainer Stephen Kaluzny Provides a database-independent JDBC interface. License

More information

database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia smith@backendmedia.com

database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia smith@backendmedia.com Lukas Smith database abstraction layers in PHP BackendMedia 1 Overview Introduction Motivation PDO extension PEAR::MDB2 Client API SQL syntax SQL concepts Result sets Error handling High level features

More information

Saya WebServer Mini-project report

Saya WebServer Mini-project report Saya WebServer Mini-project report Introduction: The Saya WebServer mini-project is a multipurpose one. One use of it is when a lecturer (of the cs faculty) is at the reception desk and interested in knowing

More information

Self-test Database application programming with JDBC

Self-test Database application programming with JDBC Self-test Database application programming with JDBC Document: e1216test.fm 18/04/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTION TO THE SELF-TEST

More information

DBMS SQL JDBC 1. Integrated data

DBMS SQL JDBC 1. Integrated data Integrated data DBMS SQL JDBC 1 Often an enterprize or problem domain consists of data that can be organized on multiple attributes (multiple organizations). This classroom has people with different roles

More information

public class ResultSetTable implements TabelModel { ResultSet result; ResultSetMetaData metadata; int num cols;

public class ResultSetTable implements TabelModel { ResultSet result; ResultSetMetaData metadata; int num cols; C H A P T E R5 Advanced SQL Practice Exercises 5.1 Describe the circumstances in which you would choose to use embedded SQL rather than SQL alone or only a general-purpose programming language. Writing

More information

FileMaker 11. ODBC and JDBC Guide

FileMaker 11. ODBC and JDBC Guide FileMaker 11 ODBC and JDBC Guide 2004 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered

More information

CSc 230 Software System Engineering FINAL REPORT. Project Management System. Prof.: Doan Nguyen. Submitted By: Parita Shah Ajinkya Ladkhedkar

CSc 230 Software System Engineering FINAL REPORT. Project Management System. Prof.: Doan Nguyen. Submitted By: Parita Shah Ajinkya Ladkhedkar CSc 230 Software System Engineering FINAL REPORT Project Management System Prof.: Doan Nguyen Submitted By: Parita Shah Ajinkya Ladkhedkar Spring 2015 1 Table of Content Title Page No 1. Customer Statement

More information

Advanced Object Oriented Database access using PDO. Marcus Börger

Advanced Object Oriented Database access using PDO. Marcus Börger Advanced Object Oriented Database access using PDO Marcus Börger ApacheCon EU 2005 Marcus Börger Advanced Object Oriented Database access using PDO 2 Intro PHP and Databases PHP 5 and PDO Marcus Börger

More information

Chapter 4: SQL. Schema Used in Examples

Chapter 4: SQL. Schema Used in Examples Chapter 4: SQL Basic Structure Set Operations Aggregate Functions Null Values Nested Subqueries Derived Relations Views Modification of the Database Joined Relations Data Definition Language Embedded SQL,

More information

Oracle Database: SQL and PL/SQL Fundamentals

Oracle Database: SQL and PL/SQL Fundamentals Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along

More information

DB2 Application Development overview

DB2 Application Development overview DB2 Application Development overview IBM Information Management Cloud Computing Center of Competence IBM Canada Lab 1 2011 IBM Corporation Agenda DB2 Application Development overview Server-side development

More information

Java and RDBMS. Married with issues. Database constraints

Java and RDBMS. Married with issues. Database constraints Java and RDBMS Married with issues Database constraints Speaker Jeroen van Schagen Situation Java Application store retrieve JDBC Relational Database JDBC Java Database Connectivity Data Access API ( java.sql,

More information

Introduction... 2. Web Portal... 2. Main Page... 4. Group Management... 4. Create group... 5. Modify Group Member List... 5

Introduction... 2. Web Portal... 2. Main Page... 4. Group Management... 4. Create group... 5. Modify Group Member List... 5 SSDB Table of Contents Introduction... 2 Web Portal... 2 Main Page... 4 Group Management... 4 Create group... 5 Modify Group Member List... 5 Modify the Authority of Group Members to Tables... 9 Expand

More information

SQL/PSM. Outline. Database Application Development Oracle PL/SQL. Why Stored Procedures? Stored Procedures PL/SQL. Embedded SQL Dynamic SQL

SQL/PSM. Outline. Database Application Development Oracle PL/SQL. Why Stored Procedures? Stored Procedures PL/SQL. Embedded SQL Dynamic SQL Outline Embedded SQL Dynamic SQL Many host languages: C, Cobol, Pascal, etc. JDBC (API) SQLJ (Embedded) Java Database Application Development Oracle PL/SQL Stored procedures CS430/630 Lecture 15 Slides

More information

Embedded SQL programming

Embedded SQL programming Embedded SQL programming http://www-136.ibm.com/developerworks/db2 Table of contents If you're viewing this document online, you can click any of the topics below to link directly to that section. 1. Before

More information

Unit 3. Retrieving Data from Multiple Tables

Unit 3. Retrieving Data from Multiple Tables Unit 3. Retrieving Data from Multiple Tables What This Unit Is About How to retrieve columns from more than one table or view. What You Should Be Able to Do Retrieve data from more than one table or view.

More information

Accesssing External Databases From ILE RPG (with help from Java)

Accesssing External Databases From ILE RPG (with help from Java) Accesssing External Databases From ILE RPG (with help from Java) Presented by Scott Klement http://www.scottklement.com 2008-2015, Scott Klement There are 10 types of people in the world. Those who understand

More information

Programming Database lectures for mathema

Programming Database lectures for mathema Programming Database lectures for mathematics students April 25, 2015 Functions Functions are defined in Postgres with CREATE FUNCTION name(parameter type,...) RETURNS result-type AS $$ function-body $$

More information

N3458: Simple Database Integration in C++11

N3458: Simple Database Integration in C++11 N3458: Simple Database Integration in C++11 Thomas Neumann Technische Univeristät München neumann@in.tum.de 2012-10-22 Many applications make use of relational database to store and query their data. However,

More information

Chapter 9, More SQL: Assertions, Views, and Programming Techniques

Chapter 9, More SQL: Assertions, Views, and Programming Techniques Chapter 9, More SQL: Assertions, Views, and Programming Techniques 9.2 Embedded SQL SQL statements can be embedded in a general purpose programming language, such as C, C++, COBOL,... 9.2.1 Retrieving

More information

Evaluation. Copy. Evaluation Copy. Chapter 7: Using JDBC with Spring. 1) A Simpler Approach... 7-2. 2) The JdbcTemplate. Class...

Evaluation. Copy. Evaluation Copy. Chapter 7: Using JDBC with Spring. 1) A Simpler Approach... 7-2. 2) The JdbcTemplate. Class... Chapter 7: Using JDBC with Spring 1) A Simpler Approach... 7-2 2) The JdbcTemplate Class... 7-3 3) Exception Translation... 7-7 4) Updating with the JdbcTemplate... 7-9 5) Queries Using the JdbcTemplate...

More information

Exploiting SAS Software Using Java Technology Barbara Walters, SAS Institute Inc., Cary, NC

Exploiting SAS Software Using Java Technology Barbara Walters, SAS Institute Inc., Cary, NC Exploiting SAS Software Using Java Technology Barbara Walters, SAS Institute Inc., Cary, NC Abstract This paper describes how to use Java technology with SAS software. SAS Institute currently offers several

More information

How I hacked PacketStorm (1988-2000)

How I hacked PacketStorm (1988-2000) Outline Recap Secure Programming Lecture 8++: SQL Injection David Aspinall, Informatics @ Edinburgh 13th February 2014 Overview Some past attacks Reminder: basics Classification Injection route and motive

More information

Developing SQL and PL/SQL with JDeveloper

Developing SQL and PL/SQL with JDeveloper Seite 1 von 23 Developing SQL and PL/SQL with JDeveloper Oracle JDeveloper 10g Preview Technologies used: SQL, PL/SQL An Oracle JDeveloper Tutorial September 2003 Content This tutorial walks through the

More information

Oracle Database: SQL and PL/SQL Fundamentals NEW

Oracle Database: SQL and PL/SQL Fundamentals NEW Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the

More information

Description: Maintenance review of the JDBC RowSets 1.0 Specification. Feedback: Comments should be sent to jsr114-comments@jcp.

Description: Maintenance review of the JDBC RowSets 1.0 Specification. Feedback: Comments should be sent to jsr114-comments@jcp. JDBC RowSets Maintenance Release 1.2 Description: Maintenance review of the JDBC RowSets 1.0 Specification Maintenance Lead: Lance Andersen, Oracle Corporation Feedback: Comments should be sent to jsr114-comments@jcp.org

More information

SQLITE C/C++ TUTORIAL

SQLITE C/C++ TUTORIAL http://www.tutorialspoint.com/sqlite/sqlite_c_cpp.htm SQLITE C/C++ TUTORIAL Copyright tutorialspoint.com Installation Before we start using SQLite in our C/C++ programs, we need to make sure that we have

More information

12 Embedding SQL in Programming languages

12 Embedding SQL in Programming languages 12 Embedding SQL in Programming languages 12.1 Introduction: using SQL from programs 12.2 Embedded SQL 12.2.1 Static and dynamic embedding 12.2.2 12.2. 3. / C 12.2. 4 Positioned Update 12.3 Transactions

More information

Spring Data JDBC Extensions Reference Documentation

Spring Data JDBC Extensions Reference Documentation Reference Documentation ThomasRisberg Copyright 2008-2015The original authors Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee

More information

Java DataBase Connectivity (JDBC)

Java DataBase Connectivity (JDBC) Java DataBase Connectivity (JDBC) Plan Presentation of JDBC JDBC Drivers Work with JDBC Interfaces and JDBC classes Exceptions SQL requests Transactions and exceptions 1 Presentation JDBC (Java Data Base

More information

SQL and Programming Languages. SQL in Programming Languages. Applications. Approaches

SQL and Programming Languages. SQL in Programming Languages. Applications. Approaches SQL and Programming Languages SQL in Programming Languages Read chapter 5 of Atzeni et al. BD: Modelli e Linguaggi di Interrogazione and section 8.4 of Garcia-Molina The user does not want to execute SQL

More information

Oracle Database: SQL and PL/SQL Fundamentals

Oracle Database: SQL and PL/SQL Fundamentals Oracle University Contact Us: +966 12 739 894 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training is designed to

More information

NGASI AppServer Manager SaaS/ASP Hosting Automation for Cloud Computing Administrator and User Guide

NGASI AppServer Manager SaaS/ASP Hosting Automation for Cloud Computing Administrator and User Guide NGASI AppServer Manager SaaS/ASP Hosting Automation for Cloud Computing Administrator and User Guide NGASI SaaS Hosting Automation is a JAVA SaaS Enablement infrastructure that enables web hosting services

More information

Database Access Through Java Technologies

Database Access Through Java Technologies Database Systems Journal vol. 1, no. 1/2010 9 Database Access Through Java Technologies Ion LUNGU, Nicolae MERCIOIU Faculty of Cybernetics, Statistics and Economic Informatics, Academy of Economic Studies,

More information