Preface
This manual describes the basic techniques for using Hitachi Advanced Database to develop applications. It also explains how to set up an HADB client environment.
Note that, in this manual, and in the information output by the product (messages, command output results, and so on), HADB is often used in place of Hitachi Advanced Database.
- Organization of this preface
■ Intended readers
This manual is intended for:
-
Application program developers
-
HADB client administrators
Readers of this manual must have:
-
A basic knowledge of SQL
-
A basic knowledge of Java programming and a basic knowledge of JDBC (if you plan to create application programs in Java)
-
A basic knowledge of ODBC (if you plan to create ODBC-compliant application programs)
-
A basic knowledge of programming in C or C++ (if you plan to create application programs in C or C++)
-
A basic knowledge of Linux or Windows system management
■ Organization of this manual
This manual is organized into the following parts, chapters, and appendixes:
- PART 1: Environment Setup (Common)
-
- 1. Overview of Application Program Development and Execution
-
This chapter provides an overview of application program development, explains the prerequisites that you need to know before you begin developing an application program, and shows the application program execution modes.
- 2. Designing Client Definitions
-
This chapter explains the format in which operands for client definitions are to be specified, the content of client definitions, and the syntax rules that apply to client definitions.
- 3. Setting Up an Environment for the JDBC Driver
-
This chapter explains how to set up an environment for the JDBC driver, including how to install the JDBC driver and specify the environment variables.
- 4. Setting Up an Environment for an HADB Client (If the ODBC Driver and CLI Functions Are Used)
-
This chapter explains how to set up an environment for an HADB client, including installation of an HADB client and specification of environment variables.
- PART 2: Application Program Creation (Common)
-
- 5. Designs Related to Improvement of Application Program Performance
-
This chapter explains designs related to improving the performance of application programs.
- 6. Tuning Application Programs
-
This chapter explains how to use access paths.
- PART 3: Application Program Creation (JDBC)
-
- 7. Creating Application Programs
-
This chapter explains how to create application programs that use the JDBC driver.
- 8. The JDBC 1.2 API
-
This chapter describes the interfaces and methods available in the JDBC 1.2 API.
- 9. The JDBC 2.1 Core API
-
This chapter explains HADB's scope of support for the functions added in the JDBC 2.1 Core API.
- 10. The JDBC 2.0 Optional Package
-
This chapter describes the interfaces and methods available in the JDBC 2.0 Optional Package.
- 11. The JDBC 3.0 API
-
This chapter describes the interfaces and methods available in the JDBC 3.0 API.
- 12. The JDBC 4.0 API
-
This chapter describes the interfaces and methods available in the JDBC 4.0 API.
- 13. JDBC 4.1 API
-
This chapter explains HADB's scope of support for the functions added in the JDBC 4.1 API.
- 14. JDBC 4.2 API
-
This chapter explains HADB's scope of support for the functions added in the JDBC 4.2 API.
- PART 4: Application Program Creation (ODBC)
-
- 15. Creating Application Programs
-
This chapter explains how to set up an environment for the HADB ODBC driver and provides notes about creating application programs that support ODBC.
- 16. ODBC Functions
-
This chapter describes the capabilities and syntax of the ODBC functions provided by HADB.
- 17. Troubleshooting
-
This chapter explains how to troubleshoot use of the ODBC interfaces.
- PART 5: Application Program Creation (CLI Functions)
-
- 18. Creating Application Programs
-
This chapter explains the basic considerations involved in designing and creating application programs in C and C++.
- 19. CLI Functions
-
This chapter describes the capabilities and syntax of the CLI functions provided by HADB.
- A. Sample Application Program
-
This appendix provides an overview of the sample application program that is provided, explains the preparations for using the sample program, and explains the sample program execution procedure.
- B. Structure of HADB Client Directories
-
This appendix describes the structures of the client directories of HADB clients (during installation and operation).
- C. Estimating the Memory Requirements for an HADB Client
-
This appendix explains how to estimate the memory requirements for an HADB client.
■ Related publications
This manual is part of a related set of manuals. The manuals in the set are listed below (with the manual numbers):
-
Hitachi Advanced Database Setup and Operation Guide (3000-6-501(E))
-
Hitachi Advanced Database Command Reference (3000-6-503(E))
-
Hitachi Advanced Database SQL Reference (3000-6-504(E))
-
Hitachi Advanced Database Messages (3000-6-505(E))
-
HA Monitor Cluster Software Guide (for Linux(R) (x86) Systems) (3000-9-201(E))
-
Job Management Partner 1 Version 10 Job Management Partner 1/Automatic Job Management System 3 System Design (Work Tasks) Guide (3021-3-320(E))
-
JP1 Version 11 JP1/Base User's Guide (3021-3-A01(E))
In references to Hitachi Advanced Database manuals, this manual uses HADB in place of Hitachi Advanced Database.
Example: HADB Setup and Operation Guide
In references to the HA Monitor manual, this manual uses HA Monitor for Linux(R) (x86) in place of HA Monitor Cluster Software Guide (for Linux(R) (x86) Systems).
Example: HA Monitor for Linux(R) (x86)
In references to the Job Management Partner 1/Automatic Job Management System 3 manual, this manual uses Job Management Partner 1/Automatic Job Management System 3 System Design (Work Tasks) Guide in place of Job Management Partner 1 Version 10 Job Management Partner 1/Automatic Job Management System 3 System Design (Work Tasks) Guide.
Example: Job Management Partner 1/Automatic Job Management System 3 System Design (Work Tasks) Guide
In references to the JP1/Base manual, this manual uses JP1/Base User's Guide in place of JP1 Version 11 JP1/Base User's Guide.
Example: JP1/Base User's Guide
■ Conventions: Abbreviations for product names
This manual uses the following abbreviations for product names:
Abbreviation |
Full name or meaning |
|
---|---|---|
HADB |
HADB server |
Hitachi Advanced Database |
HADB client |
Hitachi Advanced Database Client |
|
Linux |
Linux |
Linux(R) |
Red Hat Enterprise Linux Server 6 |
Red Hat(R) Enterprise Linux(R) Server 6 (64-bit x86_64) |
|
Red Hat Enterprise Linux Server 6 (64-bit x86_64) |
||
Red Hat Enterprise Linux Server 7 |
Red Hat(R) Enterprise Linux(R) Server 7 (64-bit x86_64) |
|
Red Hat Enterprise Linux Server 7 (64-bit x86_64) |
||
HDLM |
Hitachi Dynamic Link Manager Software |
|
JP1/AJS3 |
Job Management Partner 1/Automatic Job Management System 3 |
|
JP1/Audit |
JP1/Audit Management - Manager |
|
Red Hat Enterprise Linux Server 6 (64-bit x86_64) |
Red Hat(R) Enterprise Linux(R) Server 6 (64-bit x86_64) |
|
Red Hat Enterprise Linux Server 7 (64-bit x86_64) |
Red Hat(R) Enterprise Linux(R) Server 7 (64-bit x86_64) |
■ Conventions: Acronyms
This manual also uses the following acronyms:
Acronym |
Full name or meaning |
---|---|
APD |
Application Parameter Descriptor |
API |
Application Programming Interface |
ARD |
Application Row Descriptor |
BI |
Business Intelligence |
BLOB |
Binary Large Object |
BNF |
Backus-Naur Form |
BOM |
Byte Order Mark |
CLI |
Call Level Interface |
CLOB |
Character Large Object |
CPU |
Central Processing Unit |
CSV |
Character-Separated Values |
DB |
Database |
DBMS |
Database Management System |
DMMP |
Device Mapper Multipath |
DNS |
Domain Name System |
ER |
Entity Relationship |
HBA |
Host Bus Adapter |
ID |
Identification number |
IEF |
Integrity Enhancement Facility |
IP |
Internet Protocol |
IPD |
Implementation Parameter Descriptor |
IRD |
Implementation Row Descriptor |
JAR |
Java Archive File |
JDBC |
Java Database Connectivity |
JDK |
Java Developer's Kit |
JNDI |
Java Naming and Directory Interface |
JRE |
Java Runtime Environment |
JTA |
Java Transaction API |
LOB |
Large Object |
LRU |
Least Recently Used |
LV |
Logical Volume |
LVM |
Logical Volume Manager |
MSDN |
Microsoft Developer Network |
NFS |
Network File System |
NIC |
Network Interface Card |
NTP |
Network Time Protocol |
ODBC |
Open Database Connectivity |
OS |
Operating System |
PP |
Program Product |
RAID |
Redundant Array of Independent Disks |
RDBMS |
Relational Database Management System |
TLB |
Translation Lookaside Buffer |
URL |
Uniform Resource Locator |
VG |
Volume Group |
WWN |
World Wide Name |
■ Conventions: Fonts and symbols
The following table explains the fonts used in this manual:
Font |
Convention |
---|---|
Bold |
Bold type indicates text on a window, other than the window title. Such text includes menus, menu options, buttons, radio box options, or explanatory labels. For example:
|
Italics |
Italics are used to indicate a placeholder for some actual text to be provided by the user or system. For example:
Italics are also used for emphasis. For example:
|
Code font |
A code font indicates text that the user enters without change, or text (such as messages) output by the system. For example:
|
The table below shows the symbols used in this manual for explaining commands and operands, such as the operands used in server definitions.
Note that these symbols are used for explanatory purposes only; do not specify them in the actual operand or command.
Symbol |
Meaning |
Example |
---|---|---|
| |
In syntax explanations, a vertical bar separates multiple items, and has the meaning of OR. |
adb_sql_text_out = {Y|N} In this example, the vertical bar means that you can specify either Y or N. |
[ ] |
In syntax explanations, square brackets indicate that the enclosed item or items are optional. |
adbsql [-V] In this example, the square brackets mean that you can specify adbsql, or you can specify adbsql -V. |
{ } |
In syntax explanations, curly brackets indicate that only one of the enclosed items is to be selected. |
adbcancel {--ALL|-u connection-ID} In this example, the curly brackets mean that you can specify either --ALL or -u connection-ID. |
... |
In syntax explanations, an ellipsis (...) indicates that the immediately preceding item can be repeated as many times as necessary. |
adbbuff -n DB-area-name[, DB-area-name] ... In this example, the ellipsis means that you can specify DB-area-name as many times as necessary. |
{{ }} |
In syntax explanations, double curly brackets indicate that the enclosed items can be repeated as a single unit. |
{{adbinitdbarea -n data-DB-area-name}} In this example, the double curly brackets mean that you can specify adbinitdbarea -n data-DB-area-name as many times as necessary. |
X (underline) |
In syntax explanations, underlined characters indicate a default value. |
adb_import_errmsg_lv = {0|1} In this example, the underline means that the value 0 is assumed by HADB when the operand is omitted. |
~ |
A swung dash indicates that the text following it explains the properties of the specified value. |
adb_sys_max_users = maximum-number-of-concurrent-connections ~ <integer> ((1 to 1024)) <<10>> In this example, the text following the swung dash means that you can specify an integer in the range from 1 to 1024. If the operand is not specified, the value 10 is assumed by HADB. |
< > |
Single angle brackets explain the data type of the specified value. |
|
(( )) |
Double parentheses indicate the scope of the specified value. |
|
<< >> |
Double angle brackets indicate a default value. |
■ Conventions: Method abbreviations
-
This manual uses "getxxx method" to represent any method whose name begins with get.
-
This manual uses the "setxxx method" to represent any method whose name begins with set.
-
This manual uses "executexxx method" to represent any method whose name begins with execute.
■ Conventions: Path names
-
$INSTDIR is used to indicate the server directory path (for installation).
-
$ADBDIR is used to indicate the server directory path (for operation).
-
$DBDIR is used to indicate the DB directory path.
-
%ADBCLTDIR% (for a Windows HADB client) or $ADBCLTDIR (for a Linux HADB client) is used to indicate the client directory path.
-
%ADBODBTRCPATH% is used to indicate the folder path where HADB's ODBC driver trace files are stored.
■ Conventions: Symbols used in mathematical formulas
The following table explains special symbols used by this manual in mathematical formulas:
Symbol |
Meaning |
---|---|
↑ ↑ |
Round up the result to the next integer. Example: The result of ↑34 ÷ 3↑ is 12. |
↓ ↓ |
Discard digits following the decimal point. Example: The result of ↓34 ÷ 3↓ is 11. |
MAX |
Select the largest value as the result. Example: The result of MAX(3 × 6, 4 + 7) is 18. |
MIN |
Select the smallest value as the result. Example: The result of MIN(3 × 6, 4 + 7) is 11. |
■ Conventions: Syntax elements
Syntax element notation |
Meaning |
---|---|
<path name> |
The following characters can be used in path names:
Note, however, that the characters that can be used might differ depending on the operating system. |
<OS path name> |
For an OS path name, all characters that can be used in a path name in the operating system can be used. For details about available characters, see the documentation for the operating system you are using. |
<character string> |
Any character string can be specified. |
<integer suffixed by the unit> |
Specify the value in a format consisting of a numeric character (in the range from 0 to 9) followed by a unit (MB (megabyte), GB (gigabyte), or TB (terabyte)). Do not enter a space between the numeric character and the unit.
|
■ Abbreviation of function names
-
Functions whose names begin with SQL are referred to generically as SQLxxx functions.
-
Functions whose names begin with SQL and end with W are referred to generically as SQLxxxW functions.
■ Conventions: KB, MB, GB, TB, PB, and EB
This manual uses the following conventions:
-
1 KB (kilobyte) is 1,024 bytes.
-
1 MB (megabyte) is 1,0242 bytes.
-
1 GB (gigabyte) is 1,0243 bytes.
-
1 TB (terabyte) is 1,0244 bytes.
-
1 PB (petabyte) is 1,0245 bytes.
-
1 EB (exabyte) is 1,0246 bytes.
■ Conventions: Version numbers
The version numbers of Hitachi program products are usually written as two sets of two digits each, separated by a hyphen. For example:
-
Version 1.00 (or 1.0) is written as 01-00.
-
Version 2.05 is written as 02-05.
-
Version 2.50 (or 2.5) is written as 02-50.
-
Version 12.25 is written as 12-25.
The version number might be shown on the spine of a manual as Ver. 2.00, but the same version number would be written in the program as 02-00.