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))
-
Hitachi Code Converter (for UNIX) (3020-7-358)#
-
HA Monitor Cluster Software Guide (for Linux(R) (x86) Systems) (3000-9-201(E))
-
For Public Cloud Systems HA Monitor Cluster Software Guide (3000-9-204)#
-
JP1 Version 11 JP1/Base User's Guide (3021-3-A01(E))
-
JP1 Version 11 JP1/Automatic Job Management System 3 System Design (Work Tasks) Guide (3021-3-B14(E))
-
JP1 Version 11 JP1/Audit Management - Manager Construction and Operation Guide (3021-3-A17)#
-
JP1 Version 12 JP1/Base User's Guide (3021-3-D65(E))
-
JP1 Version 12 JP1/Automatic Job Management System 3 System Design (Work Tasks) Guide (3021-3-D23(E))
#: These manuals have been published in Japanese only; they are not available in English.
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)
-
HA Monitor for Public Cloud in place of For Public Cloud Systems HA Monitor Cluster Software Guide
Example: HA Monitor for Public Cloud
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 or JP1 Version 12 JP1/Base User's Guide.
Example: JP1/Base User's Guide
In references to the JP1/Automatic Job Management System 3 manual, this manual uses JP1/Automatic Job Management System 3 System Design (Work Tasks) Guide in place of JP1 Version 11 JP1/Automatic Job Management System 3 System Design (Work Tasks) Guide or JP1 Version 12 JP1/Automatic Job Management System 3 System Design (Work Tasks) Guide.
Example: JP1/Automatic Job Management System 3 System Design (Work Tasks) Guide
In references to the JP1/Audit manual, this manual uses JP1/Audit Construction and Operation Guide in place of JP1 Version 11 JP1/Audit Management - Manager Construction and Operation Guide.
Example: JP1/Audit Construction and Operation 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 |
RHEL 8 |
Red Hat Enterprise Linux Server 8 (64-bit x86_64) |
|
RHEL 9 |
Red Hat Enterprise Linux Server 9 (64-bit x86_64) |
|
|
RHEL 10 |
Red Hat Enterprise Linux Server 10 (64-bit x86_64) |
|
|
HDLM |
Hitachi Dynamic Link Manager Software |
|
|
Hitachi Code Converter |
Hitachi Code Converter - Runtime for C/COBOL (64) |
|
|
JP1/AJS3 |
Job Management Partner 1/Automatic Job Management System 3 |
|
|
JP1/Audit |
Job Management Partner 1/Audit Management - Manager |
|
■ Conventions: Acronyms
This manual also uses the following acronyms:
|
Acronym |
Full name or meaning |
|---|---|
|
AD |
Active Directory |
|
Amazon S3 |
Amazon Simple Storage Service |
|
APD |
Application Parameter Descriptor |
|
API |
Application Programming Interface |
|
ARD |
Application Row Descriptor |
|
AWS |
Amazon Web Services |
|
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 |
|
DRBD |
Distributed Replicated Block Device |
|
EBS |
Amazon Elastic Block Store |
|
EC2 |
Amazon Elastic Compute Cloud |
|
EFS |
Amazon Elastic File System |
|
ELF |
Executable and Linking Format |
|
ER |
Entity Relationship |
|
HBA |
Host Bus Adapter |
|
HDD |
Hard Disk Drive |
|
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 |
|
JSON |
JavaScript Object Notation |
|
JTA |
Java Transaction API |
|
LDAP |
Lightweight Directory Access Protocol |
|
LOB |
Large Object |
|
LRU |
Least Recently Used |
|
LV |
Logical Volume |
|
LVM |
Logical Volume Manager |
|
LWP |
Light Weight Process |
|
MSDN |
Microsoft Developer Network |
|
NFS |
Network File System |
|
NIC |
Network Interface Card |
|
NTP |
Network Time Protocol |
|
ODBC |
Open Database Connectivity |
|
OS |
Operating System |
|
OSS |
Open Source Software |
|
PAM |
Pluggable Authentication Module |
|
PP |
Program Product |
|
PV |
Physical Volume |
|
PVC |
Persistent Volume Claim |
|
RAID |
Redundant Array of Independent Disks |
|
RDBMS |
Relational Database Management System |
|
SELinux |
Security-Enhanced Linux |
|
SSD |
Solid State Drive |
|
SSSD |
System Security Services Daemon |
|
TLB |
Translation Lookaside Buffer |
|
URI |
Uniform Resource Identifier |
|
URL |
Uniform Resource Locator |
|
UUID |
Universally Unique Identifier |
|
VG |
Volume Group |
|
VPC |
Amazon Virtual Private Cloud |
|
WWN |
World Wide Name |
|
XFS |
Extents File System |
■ 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.