Connectivity Guide
Introducing Actian X Connectivity
In This Guide
Connectivity Solutions Not in This Guide
Basic Networking Concepts
Actian X Components and Tools
Actian X Instance
Server Installation
Client Installation
System-specific Text in This Guide
Terminology Used in This Guide
Syntax Conventions Used in This Guide
Exploring Net
Ingres Net
General Communication Facility
Communications Server
Net Security
Installation Configurations That Require Net
Net and Other Ingres-related Products
Net and Enterprise Access and EDBC Products
Net and Ingres Star
Net Product Integration Summary
Benefits of Net
Net Concepts
Virtual Nodes
Connection Data
Listen Address
Remote User Authorizations
Global and Private Definitions
Net Management Tools
Net Users
System Administrator and Ingres Net
Database Administrator and Ingres Net
End Users and Actian X Net
GCA Privileges
Installing and Configuring Net
Net Installation Components
How You Prepare for Installation
Network Installation and Testing
TCP/IP Installation (Windows)
TCP/IP Installation (Linux)
Setup Parameters for Net
Installation Password and Remote User Authorization
Setup Parameters for a Server Installation
Setup Parameters for a Client Installation
How Net Setup Works on an Existing Installation
How Communications Are Enabled
How You Install Net
ingvalidpw Program
Create Password Validation Program (Linux)
Net Configuration Parameters--Customize Ingres Net
Establishing Communications
How to Establish User Access
Requirements for Accessing Remote Instances
Requirements for Accessing Distributed Databases
Tools for Defining Vnodes
Netutil (Net Management Utility)
Netutil Startup Screen
Virtual Node Name Table in Netutil
Naming Rules for Vnodes
Login and Password Data Table in Netutil
Task-Specific Values for the Login/Password Data Fields
Connection Data Table in Netutil
Network Protocol Keywords
Other Attribute Data Table in Netutil
Netutil Operations
Prerequisites to Establish and Test a Remote Connection
Establish and Test a Remote Connection Using Netutil
Configure Vnode Attributes
Delete an Entry
Delete All Vnode Information
Change an Entry
Modify a Vnode Name
Define an Installation Password for the Local Instance
Netutil Non-Interactive Mode
Command Line Flags in Netutil Non-interactive Mode
Input Control File
Invariant Fields
Wildcards
Create Function--Create a Remote User Authorization
Destroy Function--Destroy a Remote User Authorization
Show Function--Display Remote User Authorizations
Create Function--Define an Installation Password for the Local Instance
Create Function--Create a Connection Data Entry
Destroy Function--Destroy a Connection Data Entry
Show Function--Display Connection Data Entries
Stop and Quiesce Commands--Stop or Quiesce One or More Communications Servers
Network Utility and Visual DBA
Virtual Nodes Toolbar
Simple and Advanced Vnodes
Advanced Vnode Parameters
Multiple Connection Data Entries
Additional Remote User Authorization
Vnode Attributes Configuration
Installation Password Definitions for the Local Instance
Changing Installation Passwords
Additional Vnode-Related Tasks
Refresh Vnodes
Opening Utility Windows
Server-related Tasks
Using Net
Connection to Remote Databases
Database Access Syntax--Connect to Remote Database
Dynamic Vnode Specification--Connect to Remote Database
Server Classes
Use of the SQL CONNECT Statement with Net
Using a Local Communications Server for Remote Connections
Commands and Net
User Identity on Remote Instance
-u Command Flag--Impersonate User
Verify Your Identity
Maintaining Connectivity
Start Communications Server
Stop Communications Server
Network Server Control Screen in Netutil
Stop or Quiesce a Communications Server Using Netutil
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)
Exploring Bridge
Ingres Bridge
How the Bridge Server Works
Tools for Configuring Bridge
Installation Configurations That Require Bridge
Sample Installation Configuration Using Bridge
How Bridge Is Installed
How Bridge Is Started
config.dat File--Store Bridge Configuration
ingstart Command--Start the Bridge Server
iigcb Command--Start the Bridge Server
How the Client Is Set Up
vnode Definition--Enable Client Access to Remote Servers Through Bridge
Bridge Server Monitoring
Stop the Bridge Server
How a Connection Is Established Through Bridge
Bridge Troubleshooting
Sample Bridge Server Configuration
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
Actian X 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
Example:
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
Actian X 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 Environment
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
TCP/IP Protocol
Listen Address Format
Network Address Format
Connection Data Entry Information
Windows
Linux
IPv6 Configuration
IPv6 Configuration Overview
TCP/IP and Actian X Communications
Parameters for Controlling IPv6 Support
II_TCPIP_VERSION Environment Variable--Specify Version of TCP/IP to Use
value
II_GC_PROT Environment Variable--Set IPC Protocol
protocol
ii.hostname.gcX.*.protocol.status Resource--Set Network Communications Protocol
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
3rd-Party Tools Certified with the Actian Ingres 12 release
Connectivity Guide
3rd-Party Tools Certified with the Actian Ingres 12 release