Embedded SQL. csc343, Introduction to Databases Diane Horton with examples from Ullman and Widom Winter 2017
|
|
|
- Brian Patrick
- 9 years ago
- Views:
Transcription
1 Embedded SQL csc343, Introduction to Databases Diane Horton with examples from Ullman and Widom Winter 2017
2 Problems with using interactive SQL Standard SQL is not Turing-complete. E.g., Two profs are colleagues if they ve co-taught a course or share a colleague. We can t write a query to find all colleagues of a given professor because we have no loops or recursion. You can t control the format of its output. And most users shouldn t be writing SQL queries! You want to run queries that are based on user input, not have users writing actual queries. 2
3 SQL + a conventional language If we can combine SQL with code in a conventional language, we can solve these problems. But we have another problem: SQL is based on relations, and conventional languages have no such type. It is solved by feeding tuples from SQL to the other language one at a time, and feeding each attribute value into a particular variable. 3
4 Approaches Three approaches for combining SQL and a general-purpose language: Stored Procedures Statement-level Interface Call-level interface 4
5 Three Approaches
6 1. Stored Procedures The SQL standard includes a language for defining stored procedures, which can have parameters and a return value, use local variables, ifs, loops, etc., execute SQL queries. Stored procedures can be used in these ways: called from the interpreter, called from SQL queries, called from another stored procedure, be the action that a trigger performs. 6
7 Example (just to give you an idea) A boolean function BandW(y INT, s CHAR(15)) that returns true iff movie studio s produced no movies in year y, or produced at least one comedy. (Yes, that s an odd name for this function.) Reference: Ullman and Widom textbook, chapter 9 7
8 Reference: textbook figure CREATE FUNCTION BandW(y INT, s CHAR(15)) RETURNS BOOLEAN IF NOT EXISTS (SELECT * FROM Movies WHERE year = y AND studioname = s) THEN RETURN TRUE; ELSIF 1 <= (SELECT COUNT(*) FROM Movies WHERE year = y AND studioname = s AND genre = comedy ) THEN RETURN TRUE; ELSE RETURN FALSE; END IF; 8
9 Calling it Now we can say things like this: SELECT StudioName FROM Studios WHERE BandW(2010, StudioName); 9
10 Not very standard The language is called SQL/PSM (Persistent Stored Modules). It came into the SQL standard in SQL3, Reference: textbook, section 9.4 By then, commercial DBMSs had defined their own proprietary languages for stored procedures They have generally stuck to them. PostgreSQL has defined PL/pgSQL. It supports some, but not all, of SQL/PSM. Reference: Chapter 39 of the PostgreSQL documentation. 10
11 2. Statement-level interface (SLI) Embed SQL statements into code in a conventional language like C or Java. Use a preprocessor to replace the SQL with calls written in the host language to functions defined in an SQL library. Special syntax indicates which bits of code the preprocessor needs to convert. 11
12 Example, in C (just to give you an idea) Reference: textbook example 9.7 void printnetworth() { EXEC SQL BEGIN DECLARE SECTION; char studioname[50]; int presnetworth; char SQLSTATE[6]; // Status of most recent SQL stmt EXEC SQL END DECLARE SECTION; /* OMITTED: Get value for studioname from the user. */ EXEC SQL SELECT networth INTO :presnetworth FROM Studio, MovieExec WHERE Studio.name = :studioname; /* OMITTED: Report back to the user */ } 12
13 Big picture (figure 9.5) User SLI Host language + Embedded SQL CLI Preprocessor Host language + Function calls Host-language compiler SQL library Object-code program 13
14 3. Call-level interface (CLI) Instead of using a pre-processor to replace embedded SQL with calls to library functions, write those calls yourself. Eliminates need to preprocess. Each language has its own set of library functions for this. for C, it s called SQL/CLI for Java, it s called JDBC for PHP, it s called PEAR DB We ll look at just one: JDBC. 14
15 JDBC
16 JDBC Example (see section 9.6) Do this once in your program: /* Get ready to execute queries. */ import java.sql.*; /* A static method of the Class class. It loads the specified driver */ Class.forName( org.postgresql.jdbc.driver ); Connection conn = DriverManager.getConnection( jdbc:postgresql://localhost:5432/csc343h-dianeh, dianeh, ); /* Continued... */ 16
17 The arguments to getconnection jdbc:postgresql We ll use this, but it could be, e.g., jdbc:mysql localhost:5432 You must use exactly this for the CS Teaching Labs. csc343h-dianeh and dianeh Substitute your userid on the CS Teaching Labs. Password (unrelated to your password). Literally use the empty string. 17
18 Do this once per query in your program: /* Execute a query and iterate through the resulting tuples. */ PreparedStatement execstat = conn.preparestatement( SELECT networth FROM MovieExec ); ResultSet worths = execstat.executequery(); while (worths.next()) { } int worth = worths.getint(1); /* If the tuple also had a float and another int attribute, you d get them by calling worths.getfloat(2) and worths.getint(3). Or you can look up values by attribute name. Example: worths.getint(networth) */ /* OMITTED: Process this net worth */ 18
19 The Java details For full details on the Java classes and methods used, see the Java API documentation: package-summary.html 19
20 Exceptions can occur Any of these calls can generate an exception. Therefore, they should be inside try/catch blocks. try { /* OMITTED: JDBC code */ } catch (SQLException ex) { /* OMITTED: Handle the exception */ } The class SQLException has methods to return the SQLSTATE, etc. 20
21 What is preparation? Preparing a statement includes: parsing the SQL compiling optimizing The resulting PreparedStatement can be executed any number of times without having to repeat these steps. 21
22 If the query isn t known until run time You may need input and computation to determine exactly what the query should be. In that case: Hard-code in the parts you know. Use the character? as a placeholder for the values you don t know. (Don t put it in quotes!) This is enough to allow a PreparedStatement to be constructed. Once you know values for the placeholders, use methods setstring, setint, etc. to fill in those values. 22
23 Example (figure 9.22) PreparedStatement studiostat = conn.preparedstatement( INSERT INTO Studio(name, address) VALUES(?,?) ); /* OMITTED: Get values for studioname and studioaddr */ studiostat.setstring(1, studioname); studiostat.setstring(2, studioaddr); studiostat.executeupdate(); 23
24 Why not just build the query in a string? We constructed an incomplete preparedstatement and filled in the missing values using method calls. Instead, we could just build up the query in an ordinary string at run time, and ask to execute that. There are classes and methods that will do this in JDBC. 24
25 Example that builds the query in a string We can just use a Statement, and give it a String to execute. // stat cannot be compiled & optimized (yet). Statement stat = conn.createstatement(); String query = SELECT networth FROM MovieExec WHERE execname like %Spielberg% ; // executequery can now compile and optimize, and run // the query. ResultSet worths = stat.executequery(query); 25
26 What could possibly go wrong? 26
27 Example: Some vulnerable code Suppose we want the user to provide the string to compare to You can do this rather than hard-coding Spielberg into the query: Statement stat = conn.createstatement(); String who = /* get a string from the user */ String query = SELECT networth FROM MovieExec WHERE execname like % + who + % ; ResultSet worths = stat.executequery(query); 27
28 A gentle user does no harm If a user enters Milch, the SQL code we execute is this: SELECT networth FROM MovieExec WHERE execname like %Milch% ; Nothing bad happens. 28
29 An injection can exploit the vulnerability What could a malicious user enter? SELECT networth FROM MovieExec WHERE execname like %?????????????% ; 29
30 Always use a PreparedStatement This was an example of an injection. The simple approach of giving a String to a Statement is vulnerable to injections. Moral of the story: Always use a PreparedStatement instead. 30
31 Queries vs updates in JDBC The previous examples used executequery. This method is only for pure queries. For SQL statements that change the database (insert, delete or modify tuples, or change the schema), use the analogous method executeupdate. 31
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
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
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)
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
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
Chapter 9 Java and SQL. Wang Yang [email protected]
Chapter 9 Java and SQL Wang Yang [email protected] Outline Concern Data - File & IO vs. Database &SQL Database & SQL How Connect Java to SQL - Java Model for Database Java Database Connectivity (JDBC)
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
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
Real SQL Programming. Embedded SQL Call-Level Interface Java Database Connectivity
Real SQL Programming Embedded SQL Call-Level Interface Java Database Connectivity 1 SQL in Real Programs We have seen only how SQL is used at the generic query interface --- an environment where we sit
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,
Real SQL Programming 1
Real 1 We have seen only how SQL is used at the generic query interface an environment where we sit at a terminal and ask queries of a database. Reality is almost always different: conventional programs
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
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
Real SQL Programming. Persistent Stored Modules (PSM) PL/SQL Embedded SQL
Real SQL Programming Persistent Stored Modules (PSM) PL/SQL Embedded SQL 1 SQL in Real Programs We have seen only how SQL is used at the generic query interface --- an environment where we sit at a terminal
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
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
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
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 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
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
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
The JAVA Way: JDBC and SQLJ
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 The JAVA way to Access RDBMS
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
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
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
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
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
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
Microsoft SQL Server Features that can be used with the IBM i
that can be used with the IBM i Gateway/400 User Group February 9, 2012 Craig Pelkie [email protected] Copyright 2012, Craig Pelkie ALL RIGHTS RESERVED What is Microsoft SQL Server? Windows database management
SQL is capable in manipulating relational data SQL is not good for many other tasks
Embedded SQL SQL Is Not for All SQL is capable in manipulating relational data SQL is not good for many other tasks Control structures: loops, conditional branches, Advanced data structures: trees, arrays,
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
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
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
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
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,
Database programming made easier Master thesis of Roland Balk
Database programming made easier Master thesis of Roland Balk [email protected], 4-1-2016 University of Twente, Formal Methods & Tools group Supervised by: L. Wevers Msc, prof. dr. M. Huisman and dr.
The C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
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
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
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 Cursors 12.2. 3. ESQL / C 12.2. 4 Positioned Update 12.3
PostgreSQL Functions By Example
Postgre [email protected] credativ Group January 20, 2012 What are Functions? Introduction Uses Varieties Languages Full fledged SQL objects Many other database objects are implemented with them
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
1. What is SQL Injection?
SQL Injection 1. What is SQL Injection?...2 2. Forms of vulnerability...3 2.1. Incorrectly filtered escape characters...3 2.2. Incorrect type handling...3 2.3. Vulnerabilities inside the database server...4
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
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
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
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,
SQL Programming. CS145 Lecture Notes #10. Motivation. Oracle PL/SQL. Basics. Example schema:
CS145 Lecture Notes #10 SQL Programming Example schema: CREATE TABLE Student (SID INTEGER PRIMARY KEY, name CHAR(30), age INTEGER, GPA FLOAT); CREATE TABLE Take (SID INTEGER, CID CHAR(10), PRIMARY KEY(SID,
VHDL Test Bench Tutorial
University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory VHDL Test Bench Tutorial Purpose The goal of this tutorial is to demonstrate how to automate
Performance Tuning for the JDBC TM API
Performance Tuning for the JDBC TM API What Works, What Doesn't, and Why. Mark Chamness Sr. Java Engineer Cacheware Beginning Overall Presentation Goal Illustrate techniques for optimizing JDBC API-based
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, [email protected], [email protected] University
FileMaker 14. ODBC and JDBC Guide
FileMaker 14 ODBC and JDBC Guide 2004 2015 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and FileMaker Go are trademarks of FileMaker,
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
Using JML to protect Java code against SQL injection. Johan Janssen 0213888 [email protected] June 26, 2007
Using JML to protect Java code against SQL injection Johan Janssen 0213888 [email protected] June 26, 2007 1 Abstract There are a lot of potential solutions against SQL injection. The problem is that
CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS
66 CHAPTER 5 INTELLIGENT TECHNIQUES TO PREVENT SQL INJECTION ATTACKS 5.1 INTRODUCTION In this research work, two new techniques have been proposed for addressing the problem of SQL injection attacks, one
SQL Injection. Slides thanks to Prof. Shmatikov at UT Austin
SQL Injection Slides thanks to Prof. Shmatikov at UT Austin Dynamic Web Application GET / HTTP/1.0 Browser HTTP/1.1 200 OK Web server index.php Database server slide 2 PHP: Hypertext Preprocessor Server
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
Writing MySQL Scripts With Python's DB-API Interface
Writing MySQL Scripts With Python's DB-API Interface By Paul DuBois, NuSphere Corporation (October 2001) TABLE OF CONTENTS MySQLdb Installation A Short DB-API Script Writing the Script Running the Script
Designing with Exceptions. CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219
Designing with Exceptions CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219 Testing vs. Debugging Testing Coding Does the code work properly YES NO 2 Debugging Testing
Lab Experience 17. Programming Language Translation
Lab Experience 17 Programming Language Translation Objectives Gain insight into the translation process for converting one virtual machine to another See the process by which an assembler translates assembly
Seminar Datenbanksysteme
University of Applied Sciences HTW Chur Master of Science in Engineering (MSE) Seminar Datenbanksysteme The LINQ-Approach in Java Student: Norman Süsstrunk Tutor: Martin Studer 18 th October 2010 Seminar
Masters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013
Masters programmes in Computer Science and Information Systems Object-Oriented Design and Programming Sample module entry test xxth December 2013 This sample paper has more questions than the real paper
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
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
CS 161 Computer Security
Paxson Spring 2013 CS 161 Computer Security Homework 2 Due: Wednesday, March 6, at 10PM Version 1.1 (02Mar13) Instructions. This assignment must be done on your own, and in accordance with the course policies
MapReduce. MapReduce and SQL Injections. CS 3200 Final Lecture. Introduction. MapReduce. Programming Model. Example
MapReduce MapReduce and SQL Injections CS 3200 Final Lecture Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. OSDI'04: Sixth Symposium on Operating System Design
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
Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007
Object-Oriented Design Lecture 4 CSU 370 Fall 2007 (Pucella) Tuesday, Sep 18, 2007 The Java Type System By now, you have seen a fair amount of Java. Time to study in more depth the foundations of the language,
Introduction to Data Structures
Introduction to Data Structures Albert Gural October 28, 2011 1 Introduction When trying to convert from an algorithm to the actual code, one important aspect to consider is how to store and manipulate
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
Database Access via Programming Languages
Database Access via Programming Languages SQL is a direct query language; as such, it has limitations. Some reasons why access to databases via programming languages is needed : Complex computational processing
Maintaining Stored Procedures in Database Application
Maintaining Stored Procedures in Database Application Santosh Kakade 1, Rohan Thakare 2, Bhushan Sapare 3, Dr. B.B. Meshram 4 Computer Department VJTI, Mumbai 1,2,3. Head of Computer Department VJTI, Mumbai
15-415 Database Applications Recitation 10. Project 3: CMUQFlix CMUQ s Movies Recommendation System
15-415 Database Applications Recitation 10 Project 3: CMUQFlix CMUQ s Movies Recommendation System Project Objective 1. Set up a front-end website with PostgreSQL back-end 2. Allow users to login, like
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 [email protected] Table of Contents
How to Improve Database Connectivity With the Data Tools Platform. John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management)
How to Improve Database Connectivity With the Data Tools Platform John Graham (Sybase Data Tooling) Brian Payton (IBM Information Management) 1 Agenda DTP Overview Creating a Driver Template Creating a
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
Writing Scripts with PHP s PEAR DB Module
Writing Scripts with PHP s PEAR DB Module Paul DuBois [email protected] Document revision: 1.02 Last update: 2005-12-30 As a web programming language, one of PHP s strengths traditionally has been to make
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
CSC 370 Database Systems Summer 2004 Assignment No. 2
CSC 370 Database Systems Summer 2004 Assignment No. 2 Note 1 This assignment is to be done in teams of two people. Note 2 Except as indicated, working with other teams is strictly prohibited. Due date:
Using DOTS as Apache Derby System Test
Using DOTS as Apache Derby System Test Date: 02/16/2005 Author: Ramandeep Kaur [email protected] Table of Contents 1 Introduction... 3 2 DOTS Overview... 3 3 Running DOTS... 4 4 Issues/Tips/Hints... 6 5
Introduction to Triggers using SQL
Introduction to Triggers using SQL Kristian Torp Department of Computer Science Aalborg University www.cs.aau.dk/ torp [email protected] November 24, 2011 daisy.aau.dk Kristian Torp (Aalborg University) Introduction
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
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
Agenda. SQL Injection Impact in the Real World. 8.1. Attack Scenario (1) CHAPTER 8 SQL Injection
Agenda CHAPTER 8 SQL Injection Slides adapted from "Foundations of Security: What Every Programmer Needs To Know" by Neil Daswani, Christoph Kern, and Anita Kesavan (ISBN 1590597842; http://www.foundationsofsecurity.com).
14 Triggers / Embedded SQL
14 Triggers / Embedded SQL COMS20700 Databases Dr. Essam Ghadafi TRIGGERS A trigger is a procedure that is executed automatically whenever a specific event occurs. You can use triggers to enforce constraints
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
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger
UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS 61B Fall 2014 P. N. Hilfinger Unit Testing with JUnit 1 The Basics JUnit is a testing framework
J a v a Quiz (Unit 3, Test 0 Practice)
Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2 points
FileMaker 13. ODBC and JDBC Guide
FileMaker 13 ODBC and JDBC Guide 2004 2013 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.
Understanding Sql Injection
Understanding Sql Injection Hardik Shah Understanding SQL Injection Introduction: SQL injection is a technique used by a malicious user to gain illegal access on the remote machines through the web applications
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
COMP 110 Prasun Dewan 1
COMP 110 Prasun Dewan 1 12. Conditionals Real-life algorithms seldom do the same thing each time they are executed. For instance, our plan for studying this chapter may be to read it in the park, if it
Advanced Tornado TWENTYONE. 21.1 Advanced Tornado. 21.2 Accessing MySQL from Python LAB
21.1 Advanced Tornado Advanced Tornado One of the main reasons we might want to use a web framework like Tornado is that they hide a lot of the boilerplate stuff that we don t really care about, like escaping
MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.
Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) The JDK command to compile a class in the file Test.java is A) java Test.java B) java
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C
Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C 1 An essential part of any embedded system design Programming 2 Programming in Assembly or HLL Processor and memory-sensitive
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases
An Eclipse Plug-In for Visualizing Java Code Dependencies on Relational Databases Paul L. Bergstein, Priyanka Gariba, Vaibhavi Pisolkar, and Sheetal Subbanwad Dept. of Computer and Information Science,
database abstraction layer database abstraction layers in PHP Lukas Smith BackendMedia [email protected]
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
