JDBC architecture
- Java™ application
- The application, written in the Java programming language, is responsible for interacting with the user and for invoking JDBC API functions. These API functions submit SQL statements for processing by a file system or a database management system. The Java application uses interfaces, classes, and methods that are defined by the Java API to access a data source.
- Java virtual machine
- When a Java application is compiled, the Java object program consists of byte codes. The Java virtual machine is responsible for converting the Java byte codes into instructions that can run on the machine on which the application is running. The Java virtual machine functions as an intermediary between the Java object program and the machine on which the application is running. There is a different Java virtual machine implementation for each platform. The Java virtual machine makes it possible for the same Java program to be run on any machine for which a Java virtual machine is implemented, without changing or recompiling the program.
- JDBC driver
- The JDBC driver processes the JDBC API interfaces, classes, and methods in the Java application. The Java application
uses the JDBC driver to interact with the file system or database management system to access the
required data. The driver also returns results to the Java
virtual machine, which, in turn, returns those results to the Java application. There is a different JDBC driver for each type of DBMS or data source
type.
Netezza provides a JDBC driver for Version 4.1 of the Oracle JDBC API specification. The driver is a Type 4, pure Java driver that Netezza Performance Server tested for conformance with the Oracle JDBC specification on Windows, Linux®, and UNIX platforms. Although an application can call any method that is mentioned in the specification, the JDBC driver or Netezza (NPS®) might not support the method; if so, an exception is thrown. For a list of unsupported methods, see Unsupported JDBC methods.
The Netezza Performance Server JDBC driver supports all NZSQL data types, includes password encryption, and provides connection options for the host, port, and database.
For a Netezza Performance Server host that is running Release 7.2.1 or later, your JDBC clients require JDK Release 1.7 or later.
- Data source
- A data source contains the sets of data that the JDBC driver accesses, along with all the environments that are associated with the data. These environments might include file access or database access software, an operating system, and a networking platform.
To use JDBC to access a Netezza Performance Server system, you need at least a two-tier client-server configuration. In a two-tier client-server system, the data source is stored on the Netezza Performance Server system, which handles all database access processing. The JDBC driver, virtual machine, and JDBC application are located on the client system and use a network connection to a Postgres process on the Netezza Performance Server system host, which coordinates SQL statement processing functions.