Connectivity Guide
1. Introducing Ingres Connectivity
In This Guide
Connectivity Solutions Not in This Guide
Basic Networking Concepts
Ingres Components and Tools
Ingres Instance
Server Installation
Client Installation
System-specific Text in This Guide
Terminology Used in This Guide
Syntax Conventions Used in This Guide
2. 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 and Bridge Users
System Administrator and Ingres Net
Database Administrator and Ingres Net
End Users and Ingres Net
GCA Privileges
3. Installing and Configuring Net
Net Installation Components
How You Prepare for Installation
Network Installation and Testing
TCP/IP Installation (Windows)
SPX/IPX Installation (Windows)
TCP/IP Installation (UNIX)
TCP/IP Services Installation (VMS)
DECnet Installation (VMS)
MultiNet TCP/IP Installation (VMS)
SunLink SNA Peer-to-Peer Installation (Solaris and Sun-4)
HP-UX SNAplus (HP-UX 9.0)
AIX SNA Services/6000 (IBM RS/6000)
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 (UNIX)
Net Configuration Parameters—Customize Ingres Net
4. Establishing Communications
How User Access Is Established
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
-u user
-u user
-file filename
-file-
-vnode vnode
Input Control File
Invariant Fields
Wildcards
Create Function—Create a Remote User Authorization
type
vnode
login
password
Destroy Function—Destroy a Remote User Authorization
type
vnode
Show Function—Display Remote User Authorizations
type
vnode
Create Function—Define an Installation Password for the Local Instance
local_vnode
password
Create Function—Create a Connection Data Entry
type
vnode
network_address
protocol
listen_address
Destroy Function—Destroy a Connection Data Entry
type
vnode
network_address
protocol
listen_address
Show Function—Display Connection Data Entries
type
vnode
network_address
protocol
listen_address
Stop and Quiesce Commands—Stop or Quiesce One or More Communications Servers
server_id
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
5. Using Net
Connection to Remote Databases
Database Access Syntax—Connect to Remote Database
command
command
vnode::
vnode_name
dbname
server_class
Dynamic Vnode Specification—Connect to Remote Node
protocol
port
attribute=value
Server Classes
Use of the SQL Connect Statement with Net
Commands and Net
User Identity on Remote Instance
-u Command Flag—Impersonate User
Verify Your Identity
6. 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)
7. 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 UNIX
How You Check Installation on VMS
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 (UNIX)
8. 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
prot
dest_prot
hostname
listen_addr
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
9. 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
10. 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 (UNIX and VMS)
iiodbcadmin Utility
Connection String Keywords
ODBC CLI Implementation Considerations
Configuration on UNIX, Linux, and VMS
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
SQLRecordScroll()—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
Date/Time Columns and Values
ODBC Support for ANSI Syntax
Support for Ingres Date Syntax
Special Date Values Meaning "TBD"
Default Treatment of Date/Time Syntax
Boolean Columns
National Character Set (Unicode) 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
UNIX, Linux, and VMS 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
11. Understanding JDBC Connectivity
JDBC Components
JDBC Driver
JDBC Information Utility—Load the JDBC Driver
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
host
port
db
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
Date/Time Columns and Values
National Character Set Columns
Data Type Compatibility
JDBC Tracing
Tracing Levels
JDBC Driver Tracing Using Java Logging Package
DBMS Tracing Using Java Logging Package
Example Logging Configuration
12. Understanding .NET Data Provider Connectivity
.NET Data Provider
.NET Data Provider Architecture
Data Provider Data Flow
Data Provider 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
.NET 2.0 Programming Model
.NET 1.1 Programming Model
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
TransactionScope Example
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 Ingres 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
Integration with Visual Studio
Install the Data Provider into the Toolbox
Start the Ingres 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
Obtain File Version of the Data Provider
A. TCP/IP Protocol
Listen Address Format
a
x
n
p
Network Address Format
host_name
ip_address
Connection Data Entry Information
Windows
UNIX
VMS
MVS
xx
B. SNA LU0 Protocol
Listen Address Format
MVS
xx
acb_name
C. SNA LU62 Protocol
Listen Address Format
MVS
xx
acb_name
lu_name
mode_name
Solaris
gateway_name
tp_name
HP-UX
tp_name
lu_alias
plu_alias
mode_name
RS/6000
pathname
connection_profile tp_profile
tp_name
D. SPX/IPX Protocol
Listen Address Format
Windows
xxxxxxxx
node
UNIX and VMS
a
b
n
xxxx
network
node
E. DECnet Protocol
Listen Address Format
VMS
xx
nnnnn
F. LAN Manager Protocol
LAN Manager Listen Address—Enable Communications
computername
G. SunLink Gateway Configuration Files
SunLink Gateway Configuration File
Solaris Independent LUs
Solaris Dependent LUs
SunOS (or Sun-4) Independent LUs
SunOS (or Sun-4) Dependent LUs
H. AIX SNA Services/6000 Configuration Profiles
Sample Configuration Profiles
CONNECTION Profile for Independent LUs
CONNECTION Profile for Dependent LUs
LOCALLU Profile for Independent LU
LOCALLU Profile for Dependent LU
MODE Profile for Independent LUs
MODE Profile for Dependent LUs
I. HP-UX SNAplus Configuration
Sample Configuration File Excerpts
Independent LUs
Dependent LUs
Dynamically Loadable TP
J. Netu Procedures
Netu (Deprecated)
Start Netu
Netu User Interface
Stop the Communications Server
Modify Node Entry
Modify Remote Authorization Entry
Exit Netu
Remote Node Definition Operations
Add or Merge Remote Node Definitions
Delete Remote Node Definitions
How You Change Remote Node Definitions
Overwrite an Existing Definition
Delete Old and Add New Definition
Retrieve Remote Node Definition Information
Displayed Node Definition Examples
Remote User Authorization Operations
Define Remote User Authorizations
Delete Remote User Authorizations
Change Remote User Authorizations
Overwrite an Incorrect Entry
Delete and Add an Entry
Retrieve Remote User Authorizations
Displayed Remote User Authorization Examples
Netu Options for Stopping the Communications Server
Obtain GCF Address
Stop Communications Server
K. IPv6 Configuration
IPv6 Configuration Overview
TCP/IP and Ingres 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
Ingres 10S
Examples of Disabling IPv6 Support