Connectivity Guide
Introducing Vector Connectivity
Vector Instance
Server Installation
Client Installation
Installation Code
Network Connections
How Communications Are Enabled
How to Establish User Access
Requirements for Accessing Remote Instances
Server Connection Definitions (Virtual Nodes)
Connection Data
Remote User Authorizations
Global and Private Definitions
ingvalidpw and ingvalidpam Programs
Net Configuration Parameters--Customize Ingres Net
Using Net
Connection to Remote Databases
Database Access Syntax--Connect to Remote Database
Dynamic Vnode Specification--Connect to Remote Database
Use of the SQL CONNECT Statement with Net
Commands and Net
User Identity on Remote Instance
-u Command Flag--Impersonate User
Verify Your Identity
Creating Server Connection Definitions (Vnodes)
Server Connection Definitions (Virtual Nodes)
Tools for Defining Vnodes
Naming Rules for Vnodes
Connection Data
Network Address Format
Listen Address Format
Simple and Advanced Vnodes
Advanced Vnode Parameters
Multiple Connection Data Entries
Additional Remote User Authorization
Vnode Attributes Configuration
Vnode Attribute Names and Values
Installation Password Definitions for the Local Instance
Changing Installation Passwords
Maintaining Connectivity
Start Communications Server
Stop Communications Server
Inbound and Outbound Session Limits
How You Set Inbound and Outbound Session Limits
Logging Levels
How You Change the Logging Level
How You Direct Logging Output to a File
GCF Server Management Using iimonitor
Default Remote Nodes
How You Set Default Remote Nodes
Start Data Access Server (DAS)
Stop Data Access Server (DAS)
Troubleshooting Connectivity
How Connection Between the Application and DBMS Server Is Established
Where Ingres Net Information Is Stored
config.dat--Store Net Configuration Values
Name Server Database--Store Remote Access Information
Causes of Connectivity Problems
How You Diagnose Connectivity Problems
General Net Installation Check
How You Check Net Installation on Windows
How You Check Net Installation on Linux
Connection Errors
Local Connection Errors
How You Resolve Remote Connection Errors
How You Resolve Net Registration Problems
Security and Permission Errors
How You Resolve Security Problems (Linux)
Configuring the Data Access Server
Data Access Server
Data Access Server Parameters--Configure DAS
How You Enable Data Access Server Tracing
Tracing Levels
Set DAS Tracing
Understanding ODBC Connectivity
ODBC Driver
ODBC Call-level Interface
Unsupported ODBC Features
Read-Only Driver Option
ODBC Driver Requirements
ODBC Driver Manager Programs
UnixODBC Implementation Considerations
Support for Previously Released ODBC Drivers
ODBC Driver Names
Backward Compatibility Issues for ODBC DSN Definitions
II_ODBC_WCHAR_SIZE for Unicode Compatibility with unixODBC or DataDirect
Access to a Remote Instance
vnode Connection
Dynamic Vnode (Vnode-less)
Serverless Client
Configure a Data Source (Windows)
Configure a Data Source (Linux)
iiodbcadmin Utility
Connection String Keywords
ODBC CLI Implementation Considerations
Configuration on Linux
Optional Data Source Definitions
Supported Applications
ODBC Programming
ODBC Handles
How ODBC Applications Connect to a Database
SQLConnect()--Connect Using a Data Source Name
SQLDriverConnect()--Connect without Using a Data Source Name
Connect Using Dynamic Vnode Definitions
ODBC User Authentication
User Name and Password
Ingres Super Users
Installation Passwords
DBMS Passwords
Kerberos
Dynamic (Run-Time) Authentication (Windows Only)
Specification of User Names and Passwords in ODBC
Query Execution
SQLExecDirect()--Execute Queries Directly
SQLPrepare() and SQLExecute()--Prepare and Execute Queries
Queries with Dynamic Parameters
Database Procedure Execution
Database Procedures that Return Values
Database Procedures with Input Parameters
Database Procedures with BYREF Parameters
Database Procedures that Return Rows
Batch Execution
Explicit Batch Execution
Fetched Data
SQLFetch()--Fetch Single Rows
SQLGetData() and SQLBindCol()--Bind Fetched Data
SQLFetchScroll()--Fetch Record Sets
Column-wise versus Row-wise Binding
SQLSetCursorName()--Declare Cursor
Updatable Cursors
Cursors versus Select Loops
SQLFreeStmt()--Close Fetch Loop
Scrollable Cursors
Static Scrollable Cursors
Keyset-driven Scrollable Cursors
Scrollable Cursor Programming Considerations
SQLFetchScroll()--Fetch from a Scrollable Cursor
SQLSetPos()--Scroll Cursor to Absolute Position
Static Scrollable Cursor Example
Keyset-driven Scrollable Cursor Example
Large Objects (Blobs) Support
SQLPutData()--Send Data in Segments
SQLGetData()--Fetch Data in Segments
Transactions Handling
SQLSetConnectAttr()--Enable Autocommit
Simulated Autocommit for Cursors
SQLSetStmtAttr()--Set Transaction Isolation Level
Distributed (XA) Transactions
Supported Data Types
Datetime Columns and Values
ODBC Support for ANSI Syntax
Support for Ingres Date Syntax
Special Date Values Meaning "TBD"
Default Treatment of Datetime Syntax
Boolean Columns
National Character Set (Unicode) Columns
GUID/UUID Columns
Metadata (Catalog) Queries
Error Reporting
Termination and Clean-up
ODBC CLI Connection Pooling
ODBC Connection Pools: Per Driver and Per Environment
ODBC Connection Pool Match Criteria: Strict and Relaxed
ODBC Connection Pool Timeout
Ingres ODBC and Distributed Transactions (Windows)
How You Enable the Use of Distributed Transactions through the ODBC Driver
Vnode Definitions When Using Distributed Transactions through ODBC
Troubleshooting Distributed Transactions through ODBC
ODBC Trace Diagnostics
Standard ODBC Tracing
Windows Environments
Linux Environments
Ingres ODBC CLI
UnixODBC Driver Managers
ODBC Tracing on All Platforms--Internal ODBC Tracing
Internal versus Standard ODBC Trace Logs
Disable Tracing
How You Disable Standard Tracing
How You Disable Internal Tracing
Understanding JDBC Connectivity
Getting Started
JDBC Components
JDBC Driver
JDBC Information Utility--Load the JDBC Driver
Driver Archive Interface
Set CLASSPATH Environment
Unsupported JDBC Features
JDBC Driver Interface
JDBC Driver and Data Source Classes
JDBC Driver Properties
Data Source Properties
Additional Data Source Properties
System Properties
How the Driver Is Loaded
DriverManager.getConnection() Method--Establish JDBC Driver Connection
Access to a Remote Instance
JDBC Implementation Considerations
JDBC User Authentication
How Transactions Are Autocommitted
autocommit_mode Connection Property--Set Autocommit Processing Mode
Cursors and Result Set Characteristics
Turn Off Bi-directional Updatable Scrollable Cursors
Cursors and Select Loops
Batch Statement Execution
Batch Statement Execution Example
Database Procedures
Named and Unnamed Parameters
Additional Parameter Considerations
Executing Procedures
BLOB Column Handling
Large Data Objects
LOB Data Streams
LOB Locators
Cached LOB Values
Datetime Columns and Values
National Character Set Columns
Using Data Compression
Data Type Compatibility
JDBC Tracing
Tracing Levels
JDBC Driver Tracing Using Java Logging Package
DBMS Tracing Using Java Logging Package
Example Logging Configuration
Understanding .NET Data Provider Connectivity
Getting Started
.NET Data Provider
.NET Framework versus .NET Core
.NET Data Provider Architecture
Data Provider Data Flow
Data Provider NuGet versus Assembly
Data Provider Namespace
Data Retrieval Strategies
Connection Pooling
Code Access Security
.NET Data Provider Classes
IngresCommand Class
IngresCommand Class Declaration
IngresCommand Class Example
IngresCommand Class Properties
IngresCommand Class Public Methods
IngresCommand Class Constructors
Sample Program Constructed with .NET Data Provider
IngresCommandBuilder Class
IngresCommandBuilder Class Declaration
IngresCommandBuilder Class Properties
IngresCommandBuilder Class Methods
IngresCommandBuilder Class Constructors
IngresConnection Class
IngresConnection Class Declaration
IngresConnection Class Example
IngresConnection Class Properties
IngresConnection Class Public Methods
IngresConnection Class Events
IngresConnection Class Constructors
Connection String Keywords
User ID Options for the Data Provider
SendIngresDates Connection Keyword
IngresConnection.GetSchema Method
Enlistment in Distributed Transactions
System.Transactions Programming Models
IngresConnectionStringBuilder Class
IngresConnectionStringBuilder Class Declaration
IngresConnectionStringBuilder Class Properties
IngresConnectionStringBuilder Class Methods
IngresConnectionStringBuilder Class Constructors
IngresDataReader Class
IngresDataReader Class Declaration
IngresDataReader Class Example
IngresDataReader Class Properties
IngresDataReader Class Public Methods
GetSchemaTable Columns Returned
Mapping of Actian Database Native Types to .NET Types
IngresDataAdapter Class
IngresDataAdapter Class Declaration
IngresDataAdapter Class Example
IngresDataAdapter Class Properties
IngresDataAdapter Class Public Methods
IngresDataAdapter Class Events
IngresDataAdapter Class Constructors
Batch Statement Execution
IngresError Class
IngresError Class Declaration
IngresError Class Example
IngresError Class Properties
IngresError Class Public Methods
IngresErrorCollection Class
IngresErrorCollection Class Declaration
IngresErrorCollection Class Example
IngresErrorCollection Class Properties
IngresErrorCollection Class Public Methods
IngresException Class
IngresException Class Declaration
IngresException Class Example
IngresException Class Properties
IngresException Class Public Methods
IngresFactory Class
IngresFactory Class Declaration
IngresFactory Class Public Fields
IngresFactory Class Public Methods
IngresInfoMessageEventArgs Class
IngresInfoMessageEventArgs Class Declaration
IngresInfoMessageEventArgs Class Example
IngresInfoMessageEventArgs Class Properties
IngresInfoMessageEventHandler Class
IngresInfoMessageEventHandler Class Declaration
IngresInfoMessageEventHandler Class Example
IngresMetaDataCollectionNames Class
IngresMetaDataCollectionNames Class Declaration
IngresParameter Class
Positional Parameters
Named Parameters
Named Parameters Example
IngresParameter Class Example
IngresParameter Class Declaration
IngresParameter Class Properties
IngresParameter Class Public Methods
IngresParameter Class Constructors
IngresParameterCollection Class
IngresParameterCollection Class Declaration
IngresParameterCollection Class Example
IngresParameterCollection Class Properties
IngresParameterCollection Class Public Methods
IngresPermission Class
IngresRowUpdatedEventArgs Class
IngresRowUpdatedEventArgs Class Declaration
IngresRowUpdatedEventArgs Class Properties
IngresRowUpdatedEventHandler Class
IngresRowUpdatedEventHandler Class Declaration
IngresRowUpdatingEventArgs Class
IngresRowUpdatingEventArgs Class Declaration
IngresRowUpdatingEventArgs Class Properties
IngresRowUpdatingEventHandler Class
IngresRowUpdatingEventHandler Class Declaration
IngresTransaction Class
IngresTransaction Class Declaration
IngresTransaction Class Example
IngresTransaction Class Properties
IngresTransaction Class Methods
Data Types Mapping
DbType Mapping
Coercion of Unicode Strings
IngresDataReader Object--Retrieve Data from the Database
Build the IngresDataReader
IngresDataReader Methods
Example: Using the IngresDataReader
ExecuteScalar Method--Obtain a Single Value from a Database
GetBytes Method--Obtain BLOB Values from a Database
GetSchemaTable Method--Obtain Schema Information from a Database
ExecuteNonQuery Method--Modify and Update Database
IngresDataAdapter Object--Manage Data
IngresDataAdapter Events
How Database Procedures Are Called
Row Producing Procedures
Plug-ins to .NET Data Provider
Creating a New Plug-in
Install Plug-in from .NET Application
Custom Plugin Example – Joinop
Custom Plugin Example – TrimChars
Integration with Visual Studio
Install the Data Provider into the Toolbox
Start the Data Adapter Configuration Wizard
Configure a Connection
Design a Query Using the Query Builder
Server Explorer Integration
Application Configuration File--Troubleshoot Applications
Capturing DBMS Server Trace Information
Dotnetinfo Utility--Obtain File Version of the Data Provider
B. IPv6 Configuration
IPv6 Configuration Overview
TCP/IP and Vector Communications
Parameters for Controlling IPv6 Support
II_TCPIP_VERSION Environment Variable--Specify Version of TCP/IP to Use
II_GC_PROT Environment Variable--Set IPC Protocol
ii.hostname.gcX.*.protocol.status Resource--Set Network Communications Protocol
Options for Disabling IPv6 Support
Use IPv4 Addresses Only
Back Out IPv6 Support
iicvtwintcp Command--Convert wintcp to tcp_ip Protocol Setting
iicvtwintcp Examples
IPv6 in the JDBC Driver and .NET Data Provider
Examples of Disabling IPv6 Support
Connectivity Guide
B. IPv6 Configuration