Developing Embedded SQL Applications

Total Page:16

File Type:pdf, Size:1020Kb

Developing Embedded SQL Applications IBM DB2 10.1 for Linux, UNIX, and Windows Developing Embedded SQL Applications SC27-3874-00 IBM DB2 10.1 for Linux, UNIX, and Windows Developing Embedded SQL Applications SC27-3874-00 Note Before using this information and the product it supports, read the general information under Appendix B, “Notices,” on page 209. Edition Notice This document contains proprietary information of IBM. It is provided under a license agreement and is protected by copyright law. The information contained in this publication does not include any product warranties, and any statements provided in this manual should not be interpreted as such. You can order IBM publications online or through your local IBM representative. v To order publications online, go to the IBM Publications Center at http://www.ibm.com/shop/publications/ order v To find your local IBM representative, go to the IBM Directory of Worldwide Contacts at http://www.ibm.com/ planetwide/ To order DB2 publications from DB2 Marketing and Sales in the United States or Canada, call 1-800-IBM-4YOU (426-4968). When you send information to IBM, you grant IBM a nonexclusive right to use or distribute the information in any way it believes appropriate without incurring any obligation to you. © Copyright IBM Corporation 1993, 2012. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Chapter 1. Introduction to embedded Include files for COBOL embedded SQL SQL................1 applications .............29 Embedding SQL statements in a host language . 2 Include files for FORTRAN embedded SQL Embedded SQL statements in C and C++ applications .............32 applications..............2 Declaring the SQLCA for Error Handling ....34 Embedded SQL statements in FORTRAN Error Handling Using the WHENEVER Statement 35 applications..............4 Connecting to DB2 databases in embedded SQL Embedded SQL statements in COBOL applications 5 applications ..............36 Embedded SQL statements in REXX applications 6 Data types that map to SQL data types in Supported development software for embedded SQL embedded SQL applications .........37 applications...............8 Supported SQL data types in C and C++ Setting up the embedded SQL development embedded SQL applications ........37 environment ..............8 Supported SQL data types in COBOL embedded SQL applications ...........45 Chapter 2. Designing embedded SQL Supported SQL data types in FORTRAN embedded SQL applications ........48 applications .............9 Supported SQL data types in REXX embedded Authorization Considerations for Embedded SQL . 9 SQL applications ...........50 Static and dynamic SQL statement execution in Host Variables in embedded SQL applications . 52 embedded SQL applications .........10 Declaring host variables in embedded SQL Embedded SQL dynamic statements .....10 applications .............54 Determining when to execute SQL statements Declaring Host Variables with the db2dclgn statically or dynamically in embedded SQL Declaration Generator ..........55 applications .............11 Column data types and host variables in Performance of embedded SQL applications . 13 embedded SQL applications ........55 32-bit and 64-bit support for embedded SQL Declaring XML host variables in embedded SQL applications ..............14 applications .............56 Restrictions on embedded SQL applications . 15 Identifying XML values in an SQLDA ....58 Restrictions on character sets using C and C++ to Identifying null SQL values with null indicator program embedded SQL applications.....15 variables ..............58 Restrictions on using COBOL to program Including SQLSTATE and SQLCODE host embedded SQL applications ........15 variables in embedded SQL applications....60 Restrictions on using FORTRAN to program Referencing host variables in embedded SQL embedded SQL applications ........16 applications .............60 Restrictions on using REXX to program Example: Referencing XML host variables in embedded SQL applications ........16 embedded SQL applications ........61 Recommendations for developing embedded SQL Host variables in C and C++ embedded SQL applications with XML and XQuery .....17 applications .............62 Concurrent transactions and multi-threaded Host variables in COBOL.........88 database access in embedded SQL applications . 17 Host variables in FORTRAN........99 Recommendations for using multiple threads . 19 Host variables in REXX .........105 Code page and country or region code Executing XQuery expressions in embedded SQL considerations for multi-threaded UNIX applications ..............111 applications .............20 Executing SQL statements in embedded SQL Troubleshooting multi-threaded embedded SQL applications ..............112 applications .............20 Comments in embedded SQL applications. 113 Executing static SQL statements in embedded Chapter 3. Programming embedded SQL applications ...........113 SQL applications ..........23 Retrieving host variable information from the Embedded SQL source files .........23 SQLDA structure in embedded SQL applications 114 Embedded SQL application template in C ....24 Providing variable input to dynamically Include files and definitions required for embedded executed SQL statements by using parameter SQL applications ............27 markers ..............125 Include files for C and C++ embedded SQL Calling procedures in embedded SQL applications .............27 applications .............127 © Copyright IBM Corp. 1993, 2012 iii Reading and scrolling through result sets in Error-checking utilities .........160 embedded SQL applications .......128 Building applications and routines written in C Error message retrieval in embedded SQL andC++..............162 applications .............133 Building applications and routines written in Disconnecting from embedded SQL applications 136 COBOL ..............175 Building and running embedded SQL Chapter 4. Building embedded SQL applications written in REXX .......189 applications ............139 Building embedded SQL applications from the command line .............191 Precompilation of embedded SQL applications with Building embedded SQL applications written in the PRECOMPILE command ........140 C or C++ (Windows) ..........191 Precompilation of embedded SQL applications that access more than one database server . 142 Embedded SQL application packages and access Chapter 5. Deploying and running plans ...............142 embedded SQL applications .....193 Package schema qualification using CURRENT Restrictions on linking to libdb2.so ......193 PACKAGE PATH special register ......143 Precompiler generated timestamps .....146 Chapter 6. Enabling compatibility Errors and warnings from precompilation of features for migration ........195 embedded SQL applications .......147 Compiling and linking source files containing embedded SQL.............147 Appendix A. Overview of the DB2 Binding embedded SQL packages to a database 148 technical information ........199 Effect of DYNAMICRULES bind option on DB2 technical library in hardcopy or PDF format 199 dynamic SQL ............148 Displaying SQL state help from the command line Using special registers to control the statement processor ...............202 compilation environment ........150 Accessing different versions of the DB2 Package recreation using the BIND command Information Center ...........202 and an existing bind file.........151 Updating the DB2 Information Center installed on Rebinding existing packages with the REBIND your computer or intranet server .......202 command .............151 Manually updating the DB2 Information Center Bind considerations ..........152 installed on your computer or intranet server . 204 Blocking considerations .........153 DB2 tutorials .............205 Advantages of deferred binding ......153 DB2 troubleshooting information .......206 Performance improvements when using REOPT Terms and conditions...........206 option of the BIND command .......153 Binding applications and utilities (DB2 Connect Appendix B. Notices ........209 server)................154 Package storage and maintenance ......157 Index ...............213 Package versioning ..........157 Resolution of unqualified table names ....158 Building embedded SQL applications using the sample build script ...........158 iv Developing Embedded SQL Applications Chapter 1. Introduction to embedded SQL Embedded SQL database applications connect to databases and execute embedded SQL statements. Embedded SQL statements are embedded within a host language application. Embedded SQL database applications support the embedding of SQL statements to be executed statically or dynamically. You can develop embedded SQL applications for DB2® in the following host programming languages: C, C++, COBOL, FORTRAN, and REXX. Note: Support for embedded SQL in FORTRAN and REXX has been deprecated and will remain at the DB2 Universal Database™ , Version 5.2 level. Building embedded SQL applications involves two prerequisite steps before application compilation and linking. v Preparing the source files containing embedded SQL statements using the DB2 precompiler. The PREP (PRECOMPILE) command is used to invoke the DB2 precompiler, which reads your source code, parses and converts the embedded SQL statements to DB2 runtime services API calls, and finally writes the output to a new modified source file. The precompiler produces access plans for the SQL statements, which are stored together as a package within the database. v Binding the statements
Recommended publications
  • Documents and Attachments 57 Chapter 7: Dbamp Stored Procedure Reference
    CData Software, Inc. DBAmp SQL Server Integration with Salesforce.com Version 5.1.6 Copyright © 2021 CData Software, Inc. All rights reserved. Table of Contents Acknowledgments ........................................................................... 7 Chapter 1: Installation/Upgrading ................................................. 8 Upgrading an existing installation ......................................................... 8 Prerequistes ....................................................................................... 9 Running the DBAmp installation file...................................................... 9 Configure the DBAmp provider options ................................................. 9 Connecting DBAmp to SQL Server ...................................................... 10 Verifying the linked server ................................................................. 11 Install the DBAmp Stored Procedures ................................................. 11 Running the DBAmp Configuration Program........................................ 11 Setting up the DBAmp Work Directory ................................................ 12 Enabling xp_cmdshell for DBAmp ....................................................... 13 Pointing DBAmp to your Salesforce Sandbox Instance ......................... 13 Chapter 2: Using DBAMP as a Linked Server ................................ 14 Four Part Object Names .................................................................... 14 SQL versus SOQL .............................................................................
    [Show full text]
  • Cobol/Cobol Database Interface.Htm Copyright © Tutorialspoint.Com
    CCOOBBOOLL -- DDAATTAABBAASSEE IINNTTEERRFFAACCEE http://www.tutorialspoint.com/cobol/cobol_database_interface.htm Copyright © tutorialspoint.com As of now, we have learnt the use of files in COBOL. Now, we will discuss how a COBOL program interacts with DB2. It involves the following terms: Embedded SQL DB2 Application Programming Host Variables SQLCA SQL Queries Cursors Embedded SQL Embedded SQL statements are used in COBOL programs to perform standard SQL operations. Embedded SQL statements are preprocessed by SQL processor before the application program is compiled. COBOL is known as the Host Language. COBOL-DB2 applications are those applications that include both COBOL and DB2. Embedded SQL statements work like normal SQL statements with some minor changes. For example, that output of a query is directed to a predefined set of variables which are referred as Host Variables. An additional INTO clause is placed in the SELECT statement. DB2 Application Programming Following are rules to be followed while coding a COBOL-DB2 program: All the SQL statements must be delimited between EXEC SQL and END-EXEC. SQL statements must be coded in Area B. All the tables that are used in a program must be declared in the Working-Storage Section. This is done by using the INCLUDE statement. All SQL statements other than INCLUDE and DECLARE TABLE must appear in the Procedure Division. Host Variables Host variables are used for receiving data from a table or inserting data in a table. Host variables must be declared for all values that are to be passed between the program and the DB2. They are declared in the Working-Storage Section.
    [Show full text]
  • Database Application Development Overview SQL in Application Code SQL in Application Code (Contd.) Embedded SQL Embedded SQL: Va
    Overview Concepts covered in this lecture: Database Application Development SQL in application code Embedded SQL Cursors Chapter 6 Dynamic SQL JDBC SQLJ Stored procedures Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 2 SQL in Application Code SQL in Application Code (Contd.) SQL commands can be called from within a host language (e.g., C++ or Java) program. Impedance mismatch: SQL statements can refer to host variables SQL relations are (multi-) sets of records, with (including special variables used to return status). no a priori bound on the number of records. Must include a statement to connect to the right No such data structure exist traditionally in database. procedural programming languages such as Two main integration approaches: C++. (Though now: STL) Embed SQL in the host language (Embedded SQL, SQL supports a mechanism called a cursor to SQLJ) handle this. Create special API to call SQL commands (JDBC) Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 3 Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 4 Embedded SQL Embedded SQL: Variables Approach: Embed SQL in the host language. A preprocessor converts the SQL statements into special API calls. EXEC SQL BEGIN DECLARE SECTION Then a regular compiler is used to compile the char c_sname[20]; code. long c_sid; short c_rating; float c_age; Language constructs: EXEC SQL END DECLARE SECTION Connecting to a database: EXEC SQL CONNECT Declaring variables: Two special “error” variables: EXEC SQL BEGIN (END) DECLARE SECTION SQLCODE (long, is negative if an error has occurred) Statements: SQLSTATE (char[6], predefined codes for common errors) EXEC SQL Statement; Database Management Systems 3ed, R.
    [Show full text]
  • Declare Syntax in Pl Sql
    Declare Syntax In Pl Sql NickieIs Pierre perennates desecrated some or constant stunner afterafter pomiferousprojectional Sydney Alberto appreciatingconfabulate mourningly.so Jewishly? Abused Gordan masons, his hakim barged fasts reparably. Encircled It could write utility it an sql in the original session state in turn off timing command line if it needs to learn about oracle Berkeley electronic form, and os commands, declare syntax in pl sql syntax shows how odi can execute. To select in response times when it declares an assignment statement to change each actual parameter can be open in a declarative part. Sql functions run on a timing vulnerabilities when running oracle pl sql syntax shows how use? To learn how to performance overhead of an object changes made to explain plan chooses by create applications. Have an archaic law that declare subprograms, declaring variables declared collection of declarations and return result set cookies that references or distinct or script? Plus statements that column, it is not oracle pl sql syntax shows no errors have a nested blocks or a recordset. Always nice the highest purity level line a subprogram allows. The script creates the Oracle system parameters, though reception can be changed by the inactive program. If necessary to declare that are declared in trailing spaces cause a declarative part at precompile time. This syntax defines cursors declared in oracle pl sql. Run on that subprograms as columns and you use a variable must be recompiled at any syntax defines cursors. All procedures move forward references to it is executed at runtime engine runs for this frees memory than store.
    [Show full text]
  • An Array-Oriented Language with Static Rank Polymorphism
    An array-oriented language with static rank polymorphism Justin Slepak, Olin Shivers, and Panagiotis Manolios Northeastern University fjrslepak,shivers,[email protected] Abstract. The array-computational model pioneered by Iverson's lan- guages APL and J offers a simple and expressive solution to the \von Neumann bottleneck." It includes a form of rank, or dimensional, poly- morphism, which renders much of a program's control structure im- plicit by lifting base operators to higher-dimensional array structures. We present the first formal semantics for this model, along with the first static type system that captures the full power of the core language. The formal dynamic semantics of our core language, Remora, illuminates several of the murkier corners of the model. This allows us to resolve some of the model's ad hoc elements in more general, regular ways. Among these, we can generalise the model from SIMD to MIMD computations, by extending the semantics to permit functions to be lifted to higher- dimensional arrays in the same way as their arguments. Our static semantics, a dependent type system of carefully restricted power, is capable of describing array computations whose dimensions cannot be determined statically. The type-checking problem is decidable and the type system is accompanied by the usual soundness theorems. Our type system's principal contribution is that it serves to extract the implicit control structure that provides so much of the language's expres- sive power, making this structure explicitly apparent at compile time. 1 The Promise of Rank Polymorphism Behind every interesting programming language is an interesting model of com- putation.
    [Show full text]
  • Netezza EOL: IBM IAS Is a Flawed Upgrade Path Netezza EOL: IBM IAS Is a Flawed Upgrade Path
    Author: Marc Staimer WHITE PAPER Netezza EOL: What You’re Not Being Told About IBM IAS Is a Flawed Upgrade Path Database as a Service (DBaaS) WHITE PAPER • Netezza EOL: IBM IAS Is a Flawed Upgrade Path Netezza EOL: IBM IAS Is a Flawed Upgrade Path Executive Summary It is a common technology vendor fallacy to compare their systems with their competitors by focusing on the features, functions, and specifications they have, but the other guy doesn’t. Vendors ignore the opposite while touting hardware specs that mean little. It doesn’t matter if those features, functions, and specifications provide anything meaningfully empirical to the business applications that rely on the system. It only matters if it demonstrates an advantage on paper. This is called specsmanship. It’s similar to starting an argument with proof points. The specs, features, and functions are proof points that the system can solve specific operational problems. They are the “what” that solves the problem or problems. They mean nothing by themselves. Specsmanship is defined by Wikipedia as: “inappropriate use of specifications or measurement results to establish supposed superiority of one entity over another, generally when no such superiority exists.” It’s the frequent ineffective sales process utilized by IBM. A textbook example of this is IBM’s attempt to move their Netezza users to the IBM Integrated Analytics System (IIAS). IBM is compelling their users to move away from Netezza. In the fall of 2017, IBM announced to the Enzee community (Netezza users) that they can no longer purchase or upgrade PureData System for Analytics (the most recent IBM name for its Netezza appliances), and it will end-of-life all support next year.
    [Show full text]
  • 2020-2021 Course Catalog
    Unlimited Opportunities • Career Training/Continuing Education – Page 4 • Personal Enrichment – Page 28 • High School Equivalency – Page 42 • Other Services – Page 46 • Life Long Learning I found the tools and resources to help me transition from my current career to construction management through an Eastern Suffolk BOCES Adult Education Blueprint Reading course. The program provided networking opportunities which led me to my new job. 2020-2021 COURSE CATALOG SHARE THIS CATALOG with friends and family Register online at: www.esboces.org/AEV Adult Education Did You Know... • Adult Education offers over 50 Career Training, Licensing and Certification programs and 30 Personal Enrichment classes. • Financial aid is available for our Cosmetology and Practical Nursing programs. • We offer national certifications for Electric, Plumbing and HVAC through the National Center for Construction Education and Research. • Labor Specialists and Vocational Advisors are available to assist students with planning their careers, registration and arranging day and evening tours. • Continuing Education classes are available through our on-line partners. The Center for Legal Studies offers 15 classes designed for beginners as well as advanced legal workers. In addition, they provide 6 test preparation courses including SAT®, GMAT® and LSAT®. UGotClass offers over 40 classes in Business, Management, Education and more. • Internship opportunities are available in many of our classes to assist the students to build skills towards employment. Do you know what our students are saying about us? “New York State “Great teacher. Answered Process Server is all questions and taught a very lucrative “I like how the Certified Microsoft Excel in a way “I took Introduction to side business.
    [Show full text]
  • SAP Database Administration with IBM
    André Faustmann, Michael Greulich, André Siegling, Benjamin Wegner, and Ronny Zimmerman SAP® Database Administration with IBM® DB2® Bonn Boston Contents at a Glance 1 Introduction ............................................................................ 19 2 SAP System Landscapes ......................................................... 25 3 Basics and Architecture of the IBM DB2 for LUW Database ................................................................................. 71 4 Lifecycle ................................................................................. 233 5 Administration Tools Inside and Outside the SAP System .... 327 6 Backup, Restore, and Recovery .............................................. 463 7 Monitoring DB2 SAP Systems with SAP Solution Manager .................................................................................. 575 8 SAP NetWeaver Business Warehouse and IBM DB2 for LUW .................................................................................. 647 9 Common Problems and Their Solutions for DB2 Administrators ........................................................................ 697 Contents Foreword .................................................................................... 15 Acknowledgments ....................................................................... 17 1 Introduction ................................................................. 19 1.1 Who This Book Is For .................................................... 21 1.2 Focus of This Book .......................................................
    [Show full text]
  • Fortran Reference Guide
    FORTRAN REFERENCE GUIDE Version 2018 TABLE OF CONTENTS Preface............................................................................................................ xv Audience Description......................................................................................... xv Compatibility and Conformance to Standards............................................................ xv Organization................................................................................................... xvi Hardware and Software Constraints...................................................................... xvii Conventions................................................................................................... xvii Related Publications........................................................................................ xviii Chapter 1. Language Overview............................................................................... 1 1.1. Elements of a Fortran Program Unit.................................................................. 1 1.1.1. Fortran Statements................................................................................. 1 1.1.2. Free and Fixed Source............................................................................. 2 1.1.3. Statement Ordering................................................................................. 2 1.2. The Fortran Character Set.............................................................................. 3 1.3. Free Form Formatting..................................................................................
    [Show full text]
  • SPSS to Orthosim File Conversion Utility Helpfile V.1.4
    SPSS to Orthosim File Conversion Utility Helpfile v.1.4 Paul Barrett Advanced Projects R&D Ltd. Auckland New Zealand email: [email protected] Web: www.pbarrett.net 30th December, 2019 Contents 3 Table of Contents Part I Introduction 5 1 Installation Details ................................................................................................................................... 7 2 Extracting Matrices from SPSS - Cut and Paste ................................................................................................................................... 8 3 Extracting Matrices from SPSS: Orthogonal Factors - E.x..c..e..l. .E..x..p..o..r.t................................................................................................................. 17 4 Extracting Matrices from SPSS: Oblique Factors - Exce.l. .E..x..p..o..r..t...................................................................................................................... 24 5 Creating Orthogonal Factor Orthosim Files ................................................................................................................................... 32 6 Creating Oblique Factor Orthosim Files ................................................................................................................................... 41 3 Paul Barrett Part I 6 SPSS to Orthosim File Conversion Utility Helpfile v.1.4 1 Introduction SPSS-to-Orthosim converts SPSS 11/12/13/14 factor loading and factor correlation matrices into the fixed-format .vf (simple ASCII text) files
    [Show full text]
  • Operation in Xql______34 4.5 Well-Formedness Rules of Xql ______36 4.6 Summary ______42
    Translation of OCL Invariants into SQL:99 Integrity Constraints Master Thesis Submitted by: Veronica N. Tedjasukmana [email protected] Information and Media Technologies Matriculation Number: 29039 Supervised by: Prof. Dr. Ralf MÖLLER STS - TUHH Prof. Dr. Helmut WEBERPALS Institut für Rechnertechnologie – TUHH M.Sc. Miguel GARCIA STS - TUHH Hamburg, Germany 31 August 2006 Declaration I declare that: this work has been prepared by myself, all literally or content-related quotations from other sources are clearly pointed out, and no other sources or aids than the ones that are declared are used. Hamburg, 31 August 2006 Veronica N. Tedjasukmana i Table of Contents Declaration __________________________________________________________________ i Table of Contents _____________________________________________________________ ii 1 Introduction ______________________________________________________________ 1 1.1 Motivation _____________________________________________________________ 1 1.2 Objective ______________________________________________________________ 2 1.3 Structure of the Work ____________________________________________________ 2 2 Constraint Languages ______________________________________________________ 3 2.1 Defining Constraint in OCL _______________________________________________ 3 2.1.1 Types of Constraints ________________________________________________ 4 2.2 Defining Constraints in Database ___________________________________________ 4 2.3 Comparison of Constraint Language_________________________________________
    [Show full text]
  • Openvms Guide
    Mimer SQL OpenVMS Guide Version 11.0 Mimer SQL, OpenVMS Guide, Version 11.0, January 2018 © Copyright Mimer Information Technology AB. The contents of this manual may be printed in limited quantities for use at a Mimer SQL installation site. No parts of the manual may be reproduced for sale to a third party. Information in this document is subject to change without notice. All registered names, product names and trademarks of other companies mentioned in this documentation are used for identification purposes only and are acknowledged as the property of the respective company. Companies, names and data used in examples herein are fictitious unless otherwise noted. Produced and published by Mimer Information Technology AB, Uppsala, Sweden. Mimer SQL Web Sites: https://developer.mimer.com https://www.mimer.com Contents i Contents .............................................................................................................................. i Chapter 1 Introduction .......................................................................................1 About Mimer SQL for OpenVMS...................................................................................1 The Mimer SQL Database Server .................................................................................. 1 Embedded SQL................................................................................................................. 1 Module SQL......................................................................................................................
    [Show full text]