Database Application Development Administrivia Review SQL In

Total Page:16

File Type:pdf, Size:1020Kb

Database Application Development Administrivia Review SQL In Administrivia • Exams should be returned by next week Database Application – Grades might be on-line by tomorrow Development • Homework 3 should be available next week R&G Chapter 6 – Due date will be adjusted accordingly Lecture 16 Overview: Review How to access DBMSs from programs • Last time: How DBMSs are used in Web Applications • Static approaches, i.e. SQL in application code – Internet basics: URIs, HTTP – Embedded SQL – Internet file formats: HTML, XML/DTD –SQLJ – Three-Tier Architectures: client, app server, database • Cursors, an important concept • client technologies: HTML, Javascript, Java, Style Sheets • Dynamic Approaches • app server tech: CGI, Servelets, JSPs, Cookies –ODBC •backend: DBMS –JDBC • Extending DBMSs • Today: How DBMSs are used from other programs – Stored procedures – Also, how DBMSs can be extended by other programs – External functions in Postgres Embedded SQL SQL in Application Code • Approach: Embed SQL in the host language. • SQL commands can be called from within a host – Preprocessor converts SQL statements into API calls. language (e.g., C++ or Java) program. – Then regular compiler compiles the code. – SQL statements can refer to host variables (including special variables used to return status). – Must include a statement to connect to the right database. • Many different versions for different vendors –Oracle Pro*C • Main integration approaches: – Sybase Embedded SQL – Embed SQL in the host language (Embedded SQL, SQLJ) – DB2 Embedded SQL (for COBOL) – General APIs to call SQL commands (ODBC, JDBC) – ecpg for Postgres (see Postgres programmer’s guide) – Product-specific APIs to access DBMS – And many many more... • (every vendor has one) Embedded SQL – In a nutshell Embedded SQL: Variables • In your program, put ‘EXEC SQL’ before special EXEC SQL BEGIN DECLARE SECTION database commands. char c_sname[20]; long c_sid; • A preprocessor changes them to regular C. short c_rating; • Example commands: float c_age; – Connecting to a database: EXEC SQL END DECLARE SECTION EXEC SQL CONNECT • Two special “error” variables: – Declaring variables: –SQLCODE (long, is negative if an error has occurred) EXEC SQL BEGIN (END) DECLARE SECTION –SQLSTATE (char[6], predefined codes for common errors) – Statements: EXEC SQL Statement; Embedding SQL in C: An Example Embedded SQL Example char SQLSTATE[6]; main() EXEC SQL BEGIN DECLARE SECTION { char c_sname[20]; short c_minrating; float c_age; EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION; EXEC SQL END DECLARE SECTION int OrderID; /* Employee ID (from user) */ int CustID; /* Retrieved customer ID */ c_minrating = random(); char SalesPerson[10] /* Retrieved salesperson name */ EXEC SQL DECLARE sinfo CURSOR FOR char Status[6] /* Retrieved order status */ SELECT S.sname, S.age FROM Sailors S EXEC SQL END DECLARE SECTION; /* Set up error processing */ WHERE S.rating > :c_minrating printf ("Enter order number: "); ORDER BY S.sname; scanf ("%d", &OrderID); /* Execute the SQL query */ do { EXEC SQL SELECT CustID, SalesPerson, Status FROM Orders WHERE EXEC SQL FETCH sinfo INTO :c_sname, :c_age; OrderID = :OrderID INTO :CustID, :SalesPerson, :Status; printf(“%s is %d years old\n”, c_sname, c_age); printf ("Customer number: %d\n", CustID); } while (SQLSTATE != ‘02000’); printf ("Salesperson: %s\n", SalesPerson); EXEC SQL CLOSE sinfo; printf ("Status: %s\n", Status); exit(); SQLJ – Another way to embed SQL SQLJ Code Int sid; String name; Int rating; SQLJ – Standard for embedding SQL in Java // named iterator #sql iterator Sailors(Int sid, String name, Int rating); Based on JDBC (more on this later) Sailors sailors; Complements JDBC with a (semi-)static query model: Compiler // assume that the application sets rating can perform syntax checks, strong type checks, consistency of #sailors = { the query with the schema SELECT sid, sname INTO :sid, :name – All arguments always bound to the same variable: FROM Sailors WHERE rating = :rating #sql = { }; SELECT name, rating INTO :name, :rating FROM Books WHERE sid = :sid }; // retrieve results while (sailors.next()) { SQLJ (part of the SQL standard) versus embedded SQL (vendor- System.out.println(sailors.sid + “ “ + specific) sailors.sname)); } sailors.close(); Cursors Impedance Mismatch • Can declare a cursor on a relation or query statement • SQL relations are (multi-) sets of records, with no a (which generates a relation). priori bound on the number of records. • Can open a cursor, and repeatedly fetch a tuple then • No such data structures exist in many languages such as C. move the cursor, until all tuples have been retrieved. – (Though C++ has STL, java has Multiset) – Can use ORDER BY clause in cursor queries to control the order in which tuples are returned. • Even for languages with Sets, may not want entire • Fields in ORDER BY clause must also appear in SELECT clause. query result in memory at one time! – The ORDER BY clause, which orders answer tuples, is only allowed in the context of a cursor. • SQL supports a mechanism called a cursor to handle this. • Can also modify/delete tuple pointed to by a cursor. Cursor that gets names of sailors who’ve reserved a red boat, in alphabetical order Static vs. Dynamic Approaches • Embedded SQL and SQLJ are Static – Text of queries is specified in program code EXEC SQL DECLARE sinfo CURSOR FOR SELECT S.sname • Database APIs also exist FROM Sailors S, Boats B, Reserves R – every DBMS provides a vendor-specific API WHERE S.sid=R.sid AND R.bid=B.bid AND B.color=‘red’ – standard APIs also exist: JDBC, ODBC ORDER BY S.sname • APIs more flexible, powerful, harder to use Database APIs: Alternative to embedding JDBC: Architecture Rather than modify compiler, add library with database calls (API) • Four architectural components: • Special standardized interface: procedures/objects • Pass SQL strings from language, presents result sets in a – Application (initiates and terminates connections, language-friendly way submits SQL statements) • Sun’s JDBC: Java API – Driver manager (load JDBC driver) • Supposedly DBMS-neutral – Driver (connects to data source, transmits requests – a “driver” traps the calls and translates them into DBMS-specific code and returns/translates results and error codes) – database can be across a network – Data source (processes SQL statements) – most databases provide ODBC or JDBC drivers JDBC Architecture (Contd.) Connections in JDBC Four types of drivers: Bridge: We interact with a data source through sessions. Each – Translates SQL commands into non-native API. connection identifies a logical session. Example: JDBC-ODBC bridge. Code for ODBC and JDBC • JDBC URL: driver needs to be available on each client. jdbc:<subprotocol>:<otherParameters> Direct translation to native API, non-Java driver: – Translates SQL commands to native API of data source. Example: Need OS-specific binary on each client. String url=“jdbc:oracle:www.bookstore.com:3083”; Network bridge: Connection con; – Send commands over the network to a middleware server try{ that talks to the data source. Needs only small JDBC driver con = DriverManager.getConnection(url,usedId,password); at each client. } catch SQLException excpt { …} Direction translation to native API via Java driver: – Converts JDBC calls directly to network protocol used by DBMS. Needs DBMS-specific Java driver at each client. Connection Class Interface Executing SQL Statements • public int getTransactionIsolation() and void setTransactionIsolation(int level) • Three different ways of executing SQL statements: Sets isolation level for the current connection. – Statement (both static and dynamic SQL statements) (semi-static SQL statements) • public boolean getReadOnly() and – PreparedStatement void setReadOnly(boolean b) – CallableStatment (stored procedures) Specifies whether transactions in this connection are read- only • PreparedStatement class: • public boolean getAutoCommit() and Precompiled, parametrized SQL statements: void setAutoCommit(boolean b) If autocommit is set, then each SQL statement is considered – Structure is fixed its own transaction. Otherwise, a transaction is committed – Values of parameters are determined at run-time using commit(), or aborted using rollback(). • public boolean isClosed() Checks whether connection is still open. Executing SQL Statements (Contd.) ResultSets String sql=“INSERT INTO Sailors VALUES(?,?,?,?)”; PreparedStatment pstmt=con.prepareStatement(sql); • PreparedStatement.executeUpdate only returns the pstmt.clearParameters(); number of affected records pstmt.setInt(1,sid); • PreparedStatement.executeQuery returns data, pstmt.setString(2,sname); encapsulated in a ResultSet object (a cursor) pstmt.setInt(3, rating); pstmt.setFloat(4,age); ResultSet rs=pstmt.executeQuery(sql); // rs is now a cursor // we know that no rows are returned, thus we use While (rs.next()) { executeUpdate() // process the data int numRows = pstmt.executeUpdate(); } ResultSets (Contd.) Matching Java and SQL Data Types SQL Type Java class ResultSet get method A ResultSet is a very powerful cursor: BIT Boolean getBoolean() • previous(): moves one row back CHAR String getString() • absolute(int num): moves to the row with the VARCHAR String getString() specified number DOUBLE Double getDouble() • relative (int num): moves forward or backward FLOAT Double getDouble() • first() and last() INTEGER Integer getInt() REAL Double getFloat() DATE java.sql.Date getDate() TIME java.sql.Time getTime() TIMESTAMP java.sql.TimeStamp getTimestamp() Warning and Exceptions (Contd.) JDBC: Exceptions and Warnings try
Recommended publications
  • Delivering Oracle Compatibility
    DELIVERING ORACLE COMPATIBILITY A White Paper by EnterpriseDB www.EnterpriseDB.com TABLE OF CONTENTS Executive Summary 4 Introducing EnterpriseDB Advanced Server 6 SQL Compatibility 6 PL/SQL Compatibility 9 Data Dictionary Views 11 Programming Flexibility and Drivers 12 Transfer Tools 12 Database Replication 13 Enterprise-Class Reliability and Scalability 13 Oracle-Like Tools 14 Conclusion 15 Downloading EnterpriseDB 15 EnterpriseDB EXECUTIVE SUMMARY Enterprises running Oracle® are generally interested in alternative databases for at least three reasons. First, these enterprises are experiencing budget constraints and need to lower their database Total Cost of Ownership (TCO). Second, they are trying to gain greater licensing flexibility to become more agile within the company and in the larger market. Finally, they are actively pursuing vendors who will provide superior technical support and a richer customer experience. And, subsequently, enterprises are looking for a solution that will complement their existing infrastructure and skills. The traditional database vendors have been unable to provide the combination of all three benefits. While Microsoft SQL ServerTM and IBM DB2TM may provide the flexibility and rich customer experience, they cannot significantly reduce TCO. Open source databases, on the other hand, can provide the TCO benefits and the flexibility. However, these open source databases either lack the enterprise-class features that today’s mission critical applications require or they are not equipped to provide the enterprise-class support required by these organizations. Finally, none of the databases mentioned above provide the database compatibility and interoperability that complements their existing applications and staff. The fear of the costs of changing databases, including costs related to application re-coding and personnel re-training, outweigh the expected savings and, therefore, these enterprises remain paralyzed and locked into Oracle.
    [Show full text]
  • Sql Server to Aurora Postgresql Migration Playbook
    Microsoft SQL Server To Amazon Aurora with Post- greSQL Compatibility Migration Playbook 1.0 Preliminary September 2018 © 2018 Amazon Web Services, Inc. or its affiliates. All rights reserved. Notices This document is provided for informational purposes only. It represents AWS’s current product offer- ings and practices as of the date of issue of this document, which are subject to change without notice. Customers are responsible for making their own independent assessment of the information in this document and any use of AWS’s products or services, each of which is provided “as is” without war- ranty of any kind, whether express or implied. This document does not create any warranties, rep- resentations, contractual commitments, conditions or assurances from AWS, its affiliates, suppliers or licensors. The responsibilities and liabilities of AWS to its customers are controlled by AWS agree- ments, and this document is not part of, nor does it modify, any agreement between AWS and its cus- tomers. - 2 - Table of Contents Introduction 9 Tables of Feature Compatibility 12 AWS Schema and Data Migration Tools 20 AWS Schema Conversion Tool (SCT) 21 Overview 21 Migrating a Database 21 SCT Action Code Index 31 Creating Tables 32 Data Types 32 Collations 33 PIVOT and UNPIVOT 33 TOP and FETCH 34 Cursors 34 Flow Control 35 Transaction Isolation 35 Stored Procedures 36 Triggers 36 MERGE 37 Query hints and plan guides 37 Full Text Search 38 Indexes 38 Partitioning 39 Backup 40 SQL Server Mail 40 SQL Server Agent 41 Service Broker 41 XML 42 Constraints
    [Show full text]
  • Modèle Bull 2009 Blanc Fr
    CNAF PostgreSQL project Philippe BEAUDOIN, Project leader [email protected] 2010, Dec 7 CNAF - Caisse Nationale des Allocations Familiales - Key organization of the French social security system - Distributes benefits to help - Families - Poor people - 123 CAF (local organizations) all over France - 11 million families and 30 million people - 69 billion € in benefits distributed (2008) 2 ©Bull, 2010 CNAF PostgreSQL project The project … in a few clicks GCOS 8 GCOS 8 CRISTAL SDP CRISTAL SDP (Cobol) (Cobol) (Cobol) (Cobol) DBSP RFM-II RHEL-LINUX PostgreSQL Bull - NovaScale 9000 servers (mainframes) 3 ©Bull, 2010 CNAF PostgreSQL project DBSP GCOS 8 CRISTAL SDP (Cobol) (Cobol) InfiniBand link LINUX S.C. S.C. (c+SQL) (c+SQL) PostgreSQL S.C. = Surrogate Client 4 ©Bull, 2010 CNAF PostgreSQL project CNAF I.S. - CRISTAL + SDP : heart of the Information System - Same application running on Bull (GCOS 8) and IBM (z/OS+DB2) mainframes - Also J2E servers, under AIX, … and a lot of peripheral applications - 6 to 8 CRISTAL versions per year ! 5 ©Bull, 2010 CNAF PostgreSQL project Migration to PostgreSQL project plan - A lot of teams all over France (developers, testers, production,...) - 3 domains - CRISTAL application, SDP application - Infrastructure and production - National project leading CRISTAL Developmt Tests 1 CAF C. Deployment C. PRODUCTION Preparation 1 Depl S SDP Develpmt Tests 9/08 1/09 5/09 9/09 12/09 3/10 6 ©Bull, 2010 CNAF PostgreSQL project How BULL participated to the project - Assistance to project leading - Technical expertise
    [Show full text]
  • Migration to Postgresql - Preparation and Methodology
    Overview Oracle to PostgreSQL Informix to PostgreSQL MySQL to PostgreSQL MSSQL to PostgreSQL Replication and/or High Availability Discussion Migration to PostgreSQL - preparation and methodology Joe Conway, Michael Meskes credativ Group September 14, 2011 Joe Conway, Michael Meskes Postgres Open 2011 Overview Oracle to PostgreSQL Presenters Informix to PostgreSQL Intro MySQL to PostgreSQL Preparation MSSQL to PostgreSQL Conversion Replication and/or High Availability Discussion Joe Conway - Open Source PostgreSQL (and Linux) user since 1999 Community member since 2000 Contributor since 2001 Commiter since 2003 PostgreSQL Features PL/R Set-returning (a.k.a. table) functions feature Improved bytea and array datatypes, index support Polymorphic argument types Multi-row VALUES list capability Original privilege introspection functions pg settings VIEW and related functions dblink, connectby(), crosstab()), generate series() Joe Conway, Michael Meskes Postgres Open 2011 Overview Oracle to PostgreSQL Presenters Informix to PostgreSQL Intro MySQL to PostgreSQL Preparation MSSQL to PostgreSQL Conversion Replication and/or High Availability Discussion Joe Conway - Business Currently President/CEO of credativ USA Previously IT Director of large company Wide variety of experience, closed and open source Full profile: http://www.linkedin.com/in/josepheconway Joe Conway, Michael Meskes Postgres Open 2011 Overview Oracle to PostgreSQL Presenters Informix to PostgreSQL Intro MySQL to PostgreSQL Preparation MSSQL to PostgreSQL Conversion Replication and/or
    [Show full text]
  • Postgresql Programmer's Guide
    PostgreSQL Programmer’s Guide The PostgreSQL Development Team Edited by Thomas Lockhart PostgreSQL Programmer’s Guide by The PostgreSQL Development Team Edited by Thomas Lockhart PostgreSQL is Copyright © 1996-9 by the Postgres Global Development Group. Table of Contents Summary......................................................................................................................................i 1. Introduction ............................................................................................................................1 Resources............................................................................................................................1 Terminology........................................................................................................................2 Notation ..............................................................................................................................3 Y2K Statement....................................................................................................................3 Copyrights and Trademarks................................................................................................4 2. Architecture ............................................................................................................................5 Postgres Architectural Concepts .........................................................................................5 3. Extending SQL: An Overview...............................................................................................7
    [Show full text]
  • Pivotal™ Greenplum Database® Version 4.3
    PRODUCT DOCUMENTATION Pivotal™ Greenplum Database® Version 4.3 Reference Guide Rev: A10 © 2015 Pivotal Software, Inc. Copyright Reference Guide Notice Copyright Copyright © 2015 Pivotal Software, Inc. All rights reserved. Pivotal Software, Inc. believes the information in this publication is accurate as of its publication date. The information is subject to change without notice. THE INFORMATION IN THIS PUBLICATION IS PROVIDED "AS IS." PIVOTAL SOFTWARE, INC. ("Pivotal") MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WITH RESPECT TO THE INFORMATION IN THIS PUBLICATION, AND SPECIFICALLY DISCLAIMS IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Use, copying, and distribution of any Pivotal software described in this publication requires an applicable software license. All trademarks used herein are the property of Pivotal or their respective owners. Revised July 2015 (4.3.5.3) 2 Contents Reference Guide Contents Chapter 1: Preface.....................................................................................10 About This Guide.............................................................................................................................. 11 About the Greenplum Database Documentation Set........................................................................12 Document Conventions..................................................................................................................... 13 Command Syntax Conventions.............................................................................................
    [Show full text]
  • Installation and Setup Guide for Client
    FUJITSU Enterprise Postgres 10 Installation and Setup Guide for Client Windows/Linux J2UL-2378-01ENZ0(00) August 2018 Preface Purpose of this document This document describes how to install and set up the "FUJITSU Enterprise Postgres client feature". Intended readers This document is intended for those who install and operate FUJITSU Enterprise Postgres. Readers of this document are assumed to have general knowledge of: - PostgreSQL - SQL - Windows - PostgreSQL - SQL - Linux Structure of this document This document is structured as follows: Chapter 1 Overview of Installation Describes the features that can be installed, and provides an overview of installation methods Chapter 2 Installation and Uninstallation of the Windows Client Describes how to install the FUJITSU Enterprise Postgres client feature (Windows client) Chapter 3 Installation and Uninstallation of the Linux Client Describes how to install the FUJITSU Enterprise Postgres client feature (Linux client) Chapter 4 Setup Describes the setup procedures to be performed after installation completes Export restrictions Exportation/release of this document may require necessary procedures in accordance with the regulations of your resident country and/or US export control laws. Issue date and version Edition 1.0: August 2018 Copyright Copyright 2015-2018 FUJITSU LIMITED - i - Contents Chapter 1 Overview of Installation............................................................................................................................................1 1.1 Features that can be
    [Show full text]
  • Postgresql Server Programming Second Edition Table of Contents
    PostgreSQL Server Programming Second Edition Table of Contents PostgreSQL Server Programming Second Edition Credits About the Authors About the Reviewers www.PacktPub.com Support files, eBooks, discount offers, and more Why subscribe? Free access for Packt account holders Preface What this book covers What you need for this book Who this book is for Conventions Reader feedback Customer support Downloading the example code Errata Piracy Questions 1. What Is a PostgreSQL Server? Why program in the server? Using PL/pgSQL for integrity checks About this book’s code examples Switching to the expanded display Moving beyond simple functions Data comparisons using operators Managing related data with triggers Auditing changes Data cleaning Custom sort orders Programming best practices KISS – keep it simple stupid DRY – don’t repeat yourself YAGNI – you ain’t gonna need it SOA – service-oriented architecture Type extensibility Caching Wrapping up – why program in the server? Performance Ease of maintenance Improved productivity Simple ways to tighten security Summary 2. Server Programming Environments Cost of acquisition Availability of developers Licensing Predictability Community Procedural languages Third-party tools Platform compatibility Application design Databases are considered harmful Encapsulation What does PostgreSQL offer? Data locality More basics Transactions General error reporting and error handling User-defined functions Other parameters More control Summary 3. Your First PL/pgSQL Function Why PL/pgSQL? The structure of a PL/pgSQL
    [Show full text]
  • Databases Theoretical Introduction Contents
    Databases Theoretical Introduction Contents 1 Databases 1 1.1 Database ................................................ 1 1.1.1 Terminology and overview .................................. 1 1.1.2 Applications .......................................... 2 1.1.3 General-purpose and special-purpose DBMSs ........................ 2 1.1.4 History ............................................ 2 1.1.5 Research ........................................... 6 1.1.6 Examples ........................................... 6 1.1.7 Design and modeling ..................................... 7 1.1.8 Languages ........................................... 9 1.1.9 Performance, security, and availability ............................ 10 1.1.10 See also ............................................ 12 1.1.11 References .......................................... 12 1.1.12 Further reading ........................................ 13 1.1.13 External links ......................................... 14 1.2 Schema migration ........................................... 14 1.2.1 Risks and Benefits ...................................... 14 1.2.2 Schema migration in agile software development ...................... 14 1.2.3 Available Tools ........................................ 15 1.2.4 References .......................................... 15 1.3 Star schema .............................................. 16 1.3.1 Model ............................................ 16 1.3.2 Benefits ............................................ 16 1.3.3 Disadvantages .......................................
    [Show full text]
  • All Installed Packages .PDF
    Emperor-OS All Installed Package Editor: Hussein Seilany [email protected] www.Emperor-OS.com Emperor-has 5 package management system for installing, upgrading, configuring, and removing software. Also providing access over 60,000 software packages of Ubuntu. We per-installed several tools are available for interacting with Emperor's package management system. You can use simple command-line utilities to a graphical tools. Emperor-OS's package management system is derived from the same system used by the Ubuntu GNU/Linux distribution. We will show you the list of installed packages on Emperor-OS. The packages lists is long. Having a list of installed packages helps system administrators maintain, replicate, and reinstall Emperor-OS systems. Emperor-OS Linux systems install dependencies all the time, hence it is essential to know what is on the system. In this page you can find a specific package and python modules is installed, count installed packages and find out the version of an installed package. Download lists as PDF file or see them as html page in the following: Are you looking for all in one operating system? 70 Packages: Installed Special Packages 120 Tools: Installed Utility 260 Modules: Installed Python2 and 3 Modules 600Fonts: Installed Fonts 5 Desktops: Desktop Manager Packages 22Tools: Extra Development Tools 270 Themes: Installed Themes 40 Icons: Installed Icons 40Games: Installed Games 2533scanners: supports Scanners 2500 Cameras: supports Camera 4338Packages: All Installed Packages 2 [email protected] www.Emperor-OS.com The list installed packages: Emperor-OS Linux is an open source operating system with many utilities.
    [Show full text]
  • Ecpg - Postgresql Embedded SQL/C Precompiler
    ecpg - PostgreSQL Embedded SQL/C Precompiler General - PostgreSQL Version 7.4.8 includes ecpg version 3.1.1 - PostgreSQL Version 8.2.5 includes ecpg version 4.2.1 - supports full ANSI-SQL standard - ecpg does some SQL syntax checking - some statements which show no syntax problems on precompile/compile, may yield a syntax error when executed - “ecpg –version” command displays version info - ecpg is case sensitive - uses “EXEC SQL ...” syntax - character strings in SQL statements are denoted by single quotes (‘) - Infx allowed single or double quotes - character strings in C statements still use double quotes (“) - normal file extension for ecpg file is .pgc - Momjian, Douglas and Schonig books all have short chapters on ecpg Informix Compatibility Mode (" -C INFORMIX" option for ecpg) - allows many of the datetime related functions and data types to be used - note that function dttofmtasc does not work and must be replaced by dttoasc - currently used by HSEB software - in the future, will not use Informix Compatibility Mode AUTO_COMMIT Option (" -t " option for ecpg) - if "-t" option (auto_commit = on) is not specified and a SELECT statement fails, all subsequent SELECT statements will fail - EXEC SQL INSERT example below needs to be followed by COMMIT - if the A-t@ option is specified, then COMMIT is not needed - same for UPDATE and DELETE Opening and Closing a Database In ecpg, to open a connection to a database EXEC SQL CONNECT TO dbname; To close the connection EXEC SQL DISCONNECT dbname; If the application exits without first closing
    [Show full text]
  • Application Development Guide
    FUJITSU Software Symfoware Server V12.1.0 Application Development Guide Windows/Linux J2UL-1738-07ENZ0(00) November 2014 Preface Purpose of this document This is a guide for the developers of Symfoware Server applications. Intended readers This document is intended for developers of applications that use Symfoware Server. Of the interfaces provided by Symfoware Server, this guide describes the PostgreSQL extended interface. Readers of this document are also assumed to have general knowledge of: - PostgreSQL - SQL - Linux - PostgreSQL - SQL - Windows Structure of this document This document is structured as follows: Chapter 1 Overview of the Application Development Function Provides an overview of Symfoware Server application development. Chapter 2 JDBC Driver Explains how to use JDBC drivers. Chapter 3 ODBC Driver Explains how to use ODBC drivers. Chapter 4 .NET Data Provider Explains how to use .NET Data Provider. Chapter 5 C Library (libpq) Explains how to use C applications. Chapter 6 Embedded SQL in C Explains how to use embedded SQL in C. Chapter 7 Embedded SQL in COBOL Explains how to use embedded SQL in COBOL. Chapter 8 SQL References Explains the SQL statements which were extended in Symfoware Server development. Chapter 9 Compatibility with Oracle Databases Explains features that are compatible with Oracle databases. Chapter 10 Java Applications using PL/extJava Explains the development of Java applications using PL/extJava. Chapter 11 Application Connection Switch Feature Explains the application connection switch feature. - i - Chapter 12 Performance Tuning Explains how to tune application performance. Appendix A Precautions when Developing Applications Provides some points to note about application development. Appendix B Conversion Procedures Required due to Differences from Oracle Database Explains how to convert from an Oracle database to Symfoware Server, within the scope noted in "Compatibility with Oracle Databases" from the following perspectives.
    [Show full text]