JDBC is the key Java technology for relational database access. Oracle is arguably the most widely used relational database platform in the world. In this book, Donald Bales brings these two technologies together, and shows you how to leverage the full power of Oracle's implementation of JDBC. You begin by learning the all-important mysteries of establishing database connections. This can be one of the most frustrating areas for programmers new to JDBC, and Donald covers it well with detailed information and examples showing how to make database connections from applications, applets, Servlets, and even from Java programs running within the database itself. Next comes thorough coverage of JDBC's relational SQL features. You'll learn how to issue SQL statements and get results back from the database, how to read and write data from large, streaming data types such as BLOBs, CLOBs, and BFILEs, and you'll learn how to interface with Oracle's other built-in programming language, PL/SQL.
If you're taking advantage of the Oracle's relatively new ability to create object tables and column objects based on user-defined datatypes, you'll be pleased with Don's thorough treatment of this subject. Don shows you how to use JPublisher and JDBC to work seamlessly with Oracle database objects from within Java programs. You'll also learn how to access nested tables and arrays using JDBC. Donald concludes the book with a discussion of transaction management, locking, concurrency, and performance--topics that every professional JDBC programmer must be familiar with. If you write Java programs to run against an Oracle database, this book is a must-have.
Donald Bales is a Computer Applications Consultant specializing in the analysis, design, and programming of distributed systems; systems integration; and data warehousing. Don has over sixteen years experience with Oracle as both a developer and a database administrator, and six years experiance with Java. He is currently working on the migration of medical and industrial hygiene systems to a web environment for a major Oil company. When he is not developing applications, Donald can often be found working with horses, playing the piano, or playing the bagpipes. Donald has had several careers, and has at various times been a mechanic, a general contractor, Mr. Mom, a developer, and currently a consultant. He has a bachelor of science degree in Business from Elmhurst College in Elmhurst, Illinois. Don currently resides in Downers Grove, Illinois with his wife Diane and his daughter Kristyn. He can be contacted by email at email@example.com
Preface Part I. Overview 1. Introduction to JDBC The JDBC API Clients Using SQL Part II. Connections 2. Application Database Connections JDBC Drivers Installation Connecting to a Database Handling Exceptions 3. Applet Database Connections Oracle Drivers and JDK Versions It's an Applet's Life Packaging Your Applet Getting Around the Sandbox Establishing a Connection Through a Firewall Guidelines for Choosing a Workaround 4. Servlet Database Connections Oracle Driver Selection Servlet Connection Strategies Guidelines for Choosing a Connection Strategy 5. Internal Database Connections Server-Side Driver Types Using the Server-Side Internal Driver Using the Server-Side Thin Driver JServer Program Support 6. Oracle Advanced Security Authentication Data Encryption Data Integrity A Data Encryption and Integrity Example Secure Sockets Layer 7. JNDI and Connection Pooling DataSources Oracle's Connection Cache Part III. Relational SQL 8. A Relational SQL Example Relational Database Analysis Refining the Analysis Relational Database Design 9. Statements Creating a Statement Object The execute( ) Method The executeUpdate( ) Method The executeQuery( ) Method OracleStatement Implements Statement 10. Result Sets Basic Cursor Positioning Data Types Accessor Methods Scrollable, Updateable Result Sets ResultSet Is an OracleResultSet 11. Prepared Statements A Prepared Statement Versus a Statement Formulating SQL Statements Batching PreparedStatement Is an OraclePreparedStatement 12. Streaming Data Types BLOBs CLOBs BFILEs LONG RAWs LONGs 13. Callable Statements Understanding Stored Procedures Calling Stored Procedures CallableStatement Is an OracleCallableStatement Part IV. Object-Relational SQL 14. An Object-Relational SQL Example From Relational Tables to Object Views Object Tables 15. Weakly Typed Object SQL Accessing Objects as Relational Tables Structs Arrays Refs Calling Object Methods Putting It All Together 0racle's Implementations 16. Strongly Typed Object SQL JPublisher The SQLData Interface Oracle's CustomDatum Interface Part V. Essentials 17. Transactions Manual Transactions Transaction Scope Implicit Locking and Visibility Isolation Levels Distributed Transactions 18. Detection and Locking Oracle's Locking Mechanisms Detection Data Integrity Solutions 19. Performance A Testing Framework Auto-Commit SQL92 Token Parsing Statement Versus PreparedStatement Batching Predefined SELECT Statements CallableStatements OCI Versus Thin Drivers 20. Troubleshooting The "Gotchas" Unsupported Features Debugging Net8 Tracing Wait for the Cure Index