SAP Adaptive Server Enterprise 16.0
SAP Adaptive Server Enterprise 16.0 (Japanese)
SAP Adaptive Server Enterprise 16.0 (Simplified Chinese)
Adaptive Server Enterprise 15.7 SP121
Adaptive Server Enterprise 15.7 SP110
Adaptive Server Enterprise 15.7 SP100
Adaptive Server Enterprise 15.7 SP60
Adaptive Server Enterprise 15.7 SP50
Adaptive Server Enterprise 15.7 ESD #4
Adaptive Server Enterprise 15.7 ESD #3
Adaptive Server Enterprise 15.7 ESD #2
Adaptive Server Enterprise 15.7 ESD #2 (Japanese)
Adaptive Server Enterprise 15.7 ESD #2 (Simplified Chinese)
Adaptive Server Enterprise 15.7
Adaptive Server Enterprise 15.7 (Japanese)
Adaptive Server Enterprise 15.7 (Simplified Chinese)
Adaptive Server Enterprise 15.5
Adaptive Server Enterprise 15.5 - Simplified Chinese
Adaptive Server Enterprise 15.5 (Japanese)
Adaptive Server Enterprise 12.5.4
Adaptive Server Enterprise 12.5.4 (Simplified Chinese)
Adaptive Server Enterprise 12.5.4 (French)
Adaptive Server Enterprise 12.5.4 (Japanese)
Adaptive Server Enterprise 12.5.3
Adaptive Server Enterprise 12.5.2
Adaptive Server Enterprise 12.5.1
AppBuilder 1.0
Appeon 6.5.1 for PowerBuilder
Appeon 6.5 for PowerBuilder
Appeon 6.2 for PowerBuilder
Appeon 6.1 for PowerBuilder
Appeon 6.0 for PowerBuilder
Appeon 6.0 for PowerBuilder (Japanese)
Avaki EII 7.1
Avaki EII 7.0
Avaki EII 6.2
DataWindow .NET 2.5
DataWindow .NET 2.0.1
DataWindow .NET 2.0
EAServer 6.3.1
EAServer 6.3
EAServer 6.2
EAServer 6.1
EAServer 6.0.2
EAServer 6.0
EAServer 5.5
EAServer 5.3
EAServer 5.2.1
EAServer 5.2
EAServer 5.0.1
EDI Products 5.2.2
Enterprise Connect Data Access 15.7
Enterprise Connect Data Access 15.0.1
Enterprise Connect Data Access 15.0
Enterprise Connect Data Access 12.6.1
Enterprise Connect Data Access 12.6
Financial Fusion GlobalFIX 6.0
InfoMaker 12.5.2
InfoMaker 12.5
SAP jConnect for JDBC 16.0
jConnect for JDBC 7.07 SP110
jConnect for JDBC 7.07 SP100
jConnect for JDBC 7.07
jConnect for JDBC 7.0
jConnect for JDBC 6.05
jConnect for JDBC 5.5
M-Business Anywhere 7.0
M-Business Anywhere 6.7
Mainframe Connect 15.0
Mainframe Connect 12.6.1
Mainframe Connect 12.6
SAP Open Server 16.0
SAP Open Server 15.7 SP127
Open Server 15.7 SP121
Open Server 15.7 SP110
Open Server 15.7 SP100
Open Server 15.7
Open Server 15.5
Open Server Release Bulletin for HP-UX
Electronic Bug Fix (EBF) downloads for security fixes
Accessing current release bulletin information
Product summary
Product components
Patches
POSIX threads and pthreads libraries
IPv6 support
Sample files
Special installation and configuration instructions
Installing EBFs
Required applications
Installing Open Server 15.5 on top of Open Server 15.0
Running InstallAnywhere and InstallShield Multiplatform installers
Modifying interfaces file entries with dscp or dsedit
Changed functionality in this version
Known problems
Installer issues
Installer fails to launch when path to setup.bin contains “..”
Uninstallation process stops responding
Feature names are not validated when installing in silent mode
Availability with 64-bit libraries
Programming issues
Upgrading to a new version
Timeslice property and multithreaded library versions
Product compatibility and interoperability
Compatibility and interoperability matrix
Guidelines for installing Open Server with other Sybase products
Technical support
Other sources of information
Sybase certifications on the Web
Sybase EBFs and software maintenance
Accessibility features
Open Server Release Bulletin for IBM AIX
Electronic Bug Fix (EBF) downloads for security fixes
Accessing current release bulletin information
Product summary
Product components
Patches
POSIX threads and pthreads libraries
IPv6 support
Sample files
Special installation and configuration instructions
Installing EBFs
Required applications
Installing Open Server 15.5 on top of Open Server 15.0
Running InstallAnywhere and InstallShield Multiplatform installers
Modifying interfaces file entries with dscp or dsedit
Changed functionality in this version
Known problems
Open Server shutdown dumps when running sample programs
Installer issues
Installer fails to launch when path to setup.bin contains “..”
Uninstallation process stops responding
Feature names are not validated when installing in silent mode
Availability with 64-bit libraries
Programming issues
Upgrading to a new version
Timeslice property and multithreaded library versions
Product compatibilities and interoperability
Compatibility and interoperability matrix
Guidelines for installing Open Server with other Sybase products
Technical support
Other sources of information
Sybase certifications on the Web
Sybase EBFs and software maintenance
Accessibility features
Open Server Release Bulletin for Linux
Electronic Bug Fix (EBF) downloads for security fixes
Accessing current release bulletin information
Product summary
Product components
Patches
POSIX threads and pthreads libraries
IPv6 support
Sample files
Special installation and configuration instructions
Installing EBFs
Required applications
Installing Open Server 15.5 on top of Open Server 15.0
Running InstallAnywhere and InstallShield Multiplatform installers
Preinstallation instructions for Linux POWER 32-bit and 64-bit
Modifying interfaces file entries with dscp or dsedit
Changed functionality in this version
Known problems
Installer issues
Installer fails to launch when path to setup.bin contains “..”
Uninstallation process stops responding
Installer stops responding at the Pre-Installation Summary screen
Feature names are not validated when installing in silent mode
Availability with 64-bit libraries
Programming issues
Upgrading to a new version
Timeslice property and multithreaded library versions
Product compatibility and interoperability
Compatibility and interoperability matrix
Guidelines for installing Open Server with other Sybase products
Technical support
Other sources of information
Sybase certifications on the Web
Sybase EBFs and software maintenance
Accessibility features
Open Server Release Bulletin for Sun Solaris
Electronic Bug Fix (EBF) downloads for security fixes
Accessing current release bulletin information
Product summary
Product components
Patches
POSIX threads and pthreads libraries
IPv6 support
Sample files
Special installation and configuration instructions
Installing EBFs
Required applications
Installing Open Server 15.5 on top of Open Server 15.0
Running InstallAnywhere and InstallShield Multiplatform installers
Modifying interfaces file entries with dscp or dsedit
Changed functionality in this version
Known problems
Open Server call leaks memory on Sun Solaris platforms
Installer issues
Installer fails to launch when path to setup.bin contains “..”
Uninstallation process stops responding
Installer cannot use tar to extract from the Open Server suite archive
Installation fails on Sun Solaris SPARC
Feature names are not validated when installing in silent mode
“./setup.bin: !: not found” message appears
Availability with 64-bit libraries
Programming issues
Upgrading to a new version
Linking static libraries
Link to usr/lib/lwp
Programming with thread-safe libraries
Timeslice property and multithreaded library versions
Product compatibility and interoperability
Compatibility and interoperability matrix
Guidelines for installing Open Server with other Sybase products
Technical support
Other sources of information
Sybase certifications on the Web
Sybase EBFs and software maintenance
Accessibility features
Open Server Release Bulletin for Microsoft Windows
Electronic Bug Fix (EBF) downloads for security fixes
Accessing current release bulletin information
Product summary
Product components
IPv6 support
Sample files
Special installation and configuration instructions
Installing EBFs
Installing Open Server 15.5 on top of Open Server 15.0
Running InstallAnywhere and InstallShield Multiplatform installers
Running different versions of Open Server on Microsoft Windows
Changed functionality in this version
Known problems
Open Server requires components of Microsoft Visual C++ libraries
Installer issues
Installer cannot create installer directory on Microsoft Windows 2008
Uninstallation process stops responding
Installer fails on Microsoft Windows Vista and 2008 x86-64 64-bit
Cannot navigate the Choose Product Features window with a keyboard
Console mode incorrectly displays western character sets
Feature names are not validated when installing in silent mode
Availability with 64-bit libraries
Programming issues
Upgrading to a new version
System path restriction
Open Server routines not supported
Product compatibility and interoperability
Compatibility and interoperability matrix
Guidelines for installing Open Server with other Sybase products
Technical support
Other sources of information
Sybase certifications on the Web
Sybase EBFs and software maintenance
Accessibility features
Software Developer's Kit and Open Server Installation Guide for UNIX
About this book
Before You Begin
SDK and Open Server components
SDK components
Open Server components
System requirements for the SDK and Open Server
Hardware and software requirements
Disk space requirements
Disk space required for installation
jConnect requirements
Preinstallation instructions
Installing the SDK and Open Server
Using SDK or Open Server installer
Installing on a remote machine
Installing SDK or Open Server
Installing SDK or Open Server 15.5 on the same machine as a pre-15.5 Adaptive Server
Installing SDK or Open Server 15.5 into version 15.0 directory
Mount the CD
Installing in GUI mode
Installing in console mode
Installing using a response file
Creating a response file
Installing in silent mode
Uninstalling the SDK or Open Server
Uninstallation procedures
Downgrading SDK or Open Server
Command line options
Post-Installation Tasks
Setting environment variables
Configuring the components
Modifying interfaces file entries
jConnect for JDBC post-installation tasks
Setting JDBC_HOME
Setting the CLASSPATH
Installing stored procedures
Reviewing the installation contents
Packages
Directories and files
JDBC samples and specifications
Testing the jConnect installation
Verifying the jConnect version
Upgrading jConnect
Software Developer's Kit and Open Server Installation Guide for Microsoft Windows
About this book
Before You Begin
SDK and Open Server components
SDK components
Open Server components
System requirements for SDK and Open Server
Hardware and software requirements
Installing data access components from Microsoft
Disk space requirements
Disk space required for the installation
Compiler requirements
Preinstallation tasks for SDK and Open Server
Installing SDK and Open Server
Using SDK or Open Server installer
Installing SDK or Open Server
Installing SDK or Open Server 15.5 on the same machine as a pre-15.5 Adaptive Server
Starting Adaptive Servers
Installing SDK or Open Server 15.5 into a version 15.0 directory
Installing in GUI mode
Installing in console mode
Installing using a response file
Creating a response file
Installing in silent mode
Uninstalling SDK or Open Server
Uninstallation procedures
Downgrading SDK or Open Server
Command line options
Post-Installation Tasks
Setting environment variables
Configuring the components
jConnect for JDBC post-installation tasks
Setting JDBC_HOME
Setting the CLASSPATH
Installing stored procedures
Reviewing the installation contents
Packages
Directories and files
JDBC samples and specifications
Testing the jConnect installation
Verifying the jConnect version
Upgrading jConnect
Open Client and Open Server Configuration Guide for UNIX
About this book
Configuration Overview
About Open Client and Open Server
Overview of configuration
The initialization process
The connection process
Configuration tasks
Basic Configuration for Open Client
Overview of configuration for Open Client
Configuration tasks for Open Client
Basic Configuration for Open Server
About Open Server applications
Overview of configuration for Open Server
Configuration tasks
Configuring Open Client for Sybase Failover
Add hafailover line to interfaces file
Client-Library application changes
Using isql with Sybase HA Failover
Using a Directory Service
Overview of directory services
LDAP directory services
LDAP directory services versus the Sybase interfaces file
Server objects and attributes
How applications use a directory service
How applications use LDAP directory services
Authentication
Anonymous connections
User name and password authentication
Enabling LDAP directory services
Multiple directory services with LDAP
Importing Microsoft Active Directory schema
Creating a container for Sybase server entries
Connecting to LDAP using SSL/TLS
Using Security Services
Overview of network-based security
Security mechanisms
Security drivers
Security services
How applications use security services
Client-Library and security services
Server-Library and security services
Configuration tasks
Configure Kerberos
Configure libtcl.cfg
Using dscp
About dscp
Starting dscp
Viewing your configuration
Getting help
Using dscp sessions
Adding and modifying server entries
Listing server entries
Viewing a server entry
Adding a server entry
Modifying a server entry
Deleting server entries
Copying server entries
Copying entries within a session
Copying entries between sessions
Copying all entries to a different session
Exiting dscp
Using dsedit
About dsedit
Starting dsedit
Opening a session
Interfaces file sessions
Adding a server to the directory services
Adding, viewing, and editing server entries
Adding or editing network transport addresses
TCP/IP addresses
Troubleshooting dsedit or dsedit problems
dsedit does not start
Cannot add, modify, or delete server entries
Environment Variables
Environment variables used for connection
Environment variables used for localization
Environment variables used for configuration
Setting environment variables
Configuration Files
About configuration files
The libtcl.cfg and libtcl64.cfg files
Dynamic linking of drivers
How libtcl.cfg is used
How libtcl.cfg is structured
DIRECTORY section
For LDAP entries in the DIRECTORY section
Encrypting the password
SECURITY section
Adding a directory driver
Adding a security driver
The interfaces file
interfaces entries
Standard format
Editing the interfaces file
Standby server addressing
The ocs.cfg file
Localization
Overview of the localization process
Environment variables used during localization
Localization files
The locales directory
The locales.dat file
Localized message files
The charsets directory
Collating sequence files
Unicode conversion files
The config directory
The objectid.dat file
Kerberos Security Services
Supported security services
Configuring CyberSafe Kerberos
Open Server applications and CyberSafe Kerberos
Client-Library applications and CyberSafe Kerberos
Configuring MIT Kerberos
Open Server applications and MIT Kerberos
Client-Library applications and MIT Kerberos
Credential delegation for MIT Kerberos
Configuring Sun Solaris Kerberos
Configuring Kerberos environments and mixed Kerberos environments
Secure Sockets Layer in Open Client and Open Server
SSL description
SSL handshake
SSL security levels in Open Client and Open Server
The SSL filter
Validating a server by its certificate
Common name validation in an SDC environment
The trusted roots file
Obtaining a server certificate
Using third-party tools to request certificates
Using Sybase tools to request and authorize certificates
Description of Sybase tools
The certauth utility
The certreq utility
The certpk12 utility
Customized Open SSL support
FIPS 140-2 compliance for password encryption
Open Client and Open Server Configuration Guide for Microsoft Windows
About this book
Configuration Overview
About Open Client and Open Server
Overview of configuration
The initialization process
The connection process
Configuration tasks
Basic Configuration for Open Client
Overview of basic configuration
Configuration tasks
Set environment variables
Configure the drivers
Configure sql.ini
Basic Configuration for Open Server
About Open Server applications
Overview of basic configuration
Configuration tasks
Configure sql.ini or Registry
Set environment variables
Configure the drivers
Configuring Open Client for Sybase Failover
Adding a hafailover line to the sql.ini file
Client-Library application changes
Using isql with Sybase Failover
Using a Directory Service
Overview of directory services
LDAP
LDAP directory services versus the Sybase sql.ini file
Server objects and attributes
Directory drivers
How applications use a directory service
How applications use LDAP directory services
Authentication
Enabling LDAP directory services
Multiple directory services with LDAP
Importing Microsoft Active Directory schema
Creating a container for Sybase server entries
Connecting to LDAP using SSL/TLS
Configuration tasks for DCE directory service
Using Security Services
Overview of network-based security
Security mechanisms
Security drivers
Security services
LAN Manager security services
Kerberos security services
Configuring CyberSafe Kerberos
Configuring MIT Kerberos
Credential delegation for MIT Kerberos
Using Windows Security SSPI
How applications use security services
Client-Library and security services
Server-Library and security services
Configuration tasks
Using ocscfg
About ocscfg
Starting ocscfg
Setting environment variables
Setting the SYBASE environment variables
Setting other environment variables
Clearing environment variables
Configuring a directory driver
Adding a directory driver entry
DIT base syntax
Modifying an existing directory driver entry
Deleting a directory driver entry
Activating a directory driver
Configuring a security driver
Adding a security driver entry
Modifying an existing security driver entry
Deleting a security driver entry
Setting the default security driver
Using dsedit
Using dsedit
Opening a session
Opening additional sessions
Activating sessions
Adding a server to the directory services
Making and modifying server entries
Adding a server entry
Modifying a server entry
Renaming a server entry
Deleting entries
Using the ping command
Copying server entries
Copying entries within a session
Copying entries between sessions
Exiting dsedit
Troubleshooting with dsedit
How dsedit works
Troubleshooting connection failures
If dsedit fails
If dsedit succeeds but other applications fail
Information you need for Sybase Technical Support
Commonly asked questions
Environment Variables
Environment variables used for connection
Environment variables used for localization
Environment variables used for configuration
Configuration Files
About configuration files
The libtcl.cfg and libtcl64.cfg files
Layout of libtcl.cfg
Directory drivers
DCE directory service ditbase syntax
For LDAP entries in the DIRECTORY section
Encrypting the password
Security drivers
Security service initialization syntax
DCE security service initialization syntax
libtcl.cfg example
The sql.ini file
sql.ini entries
sql.ini examples
Multiple connection service entries
Servers listening over multiple networks
Clients connecting over multiple networks
The ocs.cfg file
Localization
Overview of the localization process
Environment variables used during localization
Localization files
The locales directory
The locales.dat file
How locales.dat is used
locales.dat sections and entries
locales.dat example
Editing locales.dat
Localized message files
The charsets directory
Collating sequence files
Unicode conversion files
The ini directory
The objectid.dat file
Location of objectid.dat
objectid.dat sections and entries
objectid.dat example
Secure Sockets Layer in Open Client and Open Server
SSL handshake
SSL security levels and security mechanisms
Validating a server by its certificate
Common name validation in an SDC environment
The trusted roots file
Obtaining a certificate
Using third-party tools to obtain a certificate
Using Sybase tools to request and authorize certificates
certauth
certreq
certpk12
Customized Open SSL support
FIPS 140-2 compliance for password encryption
Open Client and Open Server Programmers Supplement for UNIX
About this book
Open Client Client-Library/C
General instructions
Building a Client-Library executable
Native thread support
Kerberos support
Compile-and-link lines
Compile-and-link lines for non-threaded applications
Compile-and-link lines for multithreaded applications
Compile-and-link lines for Kerberos-supported applications
Bulk-copy routines
Performance considerations
Header files
Using Client-Library sample programs
makefile and sample programs
Purpose of the sample programs
The sybopts.sh script and building applications
Location
Header file
Utility routines for the sample programs
Sample program summaries
arraybind.c sample program
blktxt.c sample program
compute.c sample program
csr_disp.c sample program
csr_disp_scrollcurs.c sample program
csr_disp_scrollcurs2.c sample program
csr_disp_implicit.c sample program
ex_alib.c and ex_amain.c sample programs
exconfig.c sample program
firstapp.c sample program
getsend.c sample program
i18n.c sample program
multthrd.c and thrdfunc.c sample programs
rpc.c sample program
secct.c sample program
uni_blktxt.c sample program
uni_compute.c sample program
uni_csr_disp.c sample program
uni_firstapp.c sample program
uni_rpc.c sample program
usedir.c sample program
wide_compute.c sample program
wide_curupd.c sample program
wide_dynamic.c sample program
wide_rpc.c sample program
Open Client DB-Library/C
General instructions
Building a DB-Library executable
Libraries
Compile-and-link lines
Performance considerations
Header files
Using DB-Library sample programs
Purpose of the sample programs
Location
Header file
Sample program summaries
example1.c sample program
example2.c sample program
example3.c sample program
example4.c sample program
example5.c sample program
example6.c sample program
example7.c sample program
example8.c sample program
example9.c sample program
example10.c sample program
example11.c sample program
example12.c sample program
bulkcopy.c sample program
twophase.c sample program
Open Server Server-Library/C
General instructions
Building a Server-Library executable
Libraries
Compile-and-link line commands
Kerberos support
Bulk copy routines
Performance considerations
Header files
Using Server-Library sample programs
Purpose of the sample programs
Location
Sample program summaries
ctos.c sample program
exfds.c sample program
fullpass.c sample program
intlchar.c sample program
lang.c sample program
multthrd.c sample program
osintro.c sample program
regproc.c sample program
secsrv.c sample program
sigalarm.c sample program
Open Client Embedded SQL/C
General instructions
Building an Embedded SQL/C executable
Precompiling the application
Compiling and linking the application
Additional considerations
Loading stored procedures
Using Embedded SQL/C sample programs
Purpose of the sample programs
Location
Header file
example1.cp sample program
example2.cp sample program
exampleHA.cp sample program
uni_example1.cp sample program
uni_example2.cp sample program
Open Client Embedded SQL/COBOL
General instructions
Building an Embedded SQL/COBOL executable
Libraries
Precompiling the application
Compiling and linking the application
Additional considerations
Data alignment on a 64-bit architecture
Loading stored procedures
Using Embedded SQL/COBOL sample programs
Purpose of the sample programs
Location
example1.pco sample program
example2.pco sample program
Utility Commands Reference
bcp
cpre
cobpre
defncopy
isql
installjava
extractjava
Environment Variables
Utility Messages
bcp messages
Message 1: Memory allocation failure
Message 5: Unable to open input file
Message 6: Unable to open output file
Message 7: Bad arguments
Message 8: Invalid first row
Message 9: Invalid rows
Message 10: Invalid last row
Message 11: Invalid direction
Message 12: Invalid integer
Message 13: Duplicate flags
Message 14: Overriding arguments
Message 15: Invalid prefix length
Message 21: Retry
Message 23: Starting message
Message 24: N rows copied
Message 25: Total time
Message 26: File save
Message 27: Host file
Message 28: Invalid column type
Message 29: Invalid column type
Message 30: Average Time
Message 31: Copy failure
Message 32: Partial copy failure
Message 33: Invalid precision
Message 34: Invalid scale
Message 35: Unexpected result type
Message 36: Unexpected result
Message 37: Write error
Message 39: Invalid rows
Message 40: Row transfer error
Message 41: Invalid datatype
Message 42: Input read file error
Message 43: Error file write error
Message 44: Unable to open error file
Message 45: Unexpected end-of-file
Message 46: Negative-length prefix
Message 48: Cannot read specified number of rows
Message 49: Length prefix or terminator required
Message 50: Text/image data truncated
Message 51: Max errors exceeded
Message 52: Unable to open discard file
Message 53: Discard file write error
Message 54: Unable to close file
Message 55: Batch size adjusted
Message 56: Max rows reached
defncopy messages
Message 1: Memory allocation failure
Message 2: Insufficient read space
Message 3: Unable to open input file
Message 4: Unable to open output file
Message 5: Bad argument
Message 6: File not flushed
Message 7: Unexpected object definition
Message 8: Abend
Message 9: Invalid direction
Message 10: No object name
isql messages
Message 1: Memory allocation failure
Message 8: Database name length
Message 9: CS-Lib message callback routine installation
Message 10: CT-Lib initialization
Message 11: CT-Lib message callback routine installation
Message 12: Unsupported datatype
Message 13: Buffer overflow
Message 14
Message 15: Invalid memory block size
Message 16: Invalid memory handle
Message 17: Internal memory allocation error
Message 18: Editor command too long
Message 19: Uninitialized application context
Message 20: Connection failure
Message 21: Unavailable command handle
Message 23: File position reset failure
Message 24: Command buffer not cleared
Message 25: Command not initiated
Message 26: Command handle not cleared
Message 27
Message 28: Command argument too long
Message 29: Filename missing
Message 30: Prompt label too long
Message 31: Prompt input mismatch
Message 32: Missing quote
Message 33: Directory creation failure
Message 34: Unexpected argument type
Message 35: Unable to open history file
Message 36: Temporary file deletion failure
Open Client and Open Server Programmers Supplement for Microsoft Windows
About this book
Building Open Client and Open Server Applications
Open Client and Open Server requirements
C compilers
Environment variables and header files
Header files
Import libraries and dynamic link libraries (DLLs)
Import libraries
Dynamic link libraries (DLLs)
Configuration requirements
Platform-specific default values
Client-Library programming issues
ct_callback
Using the debug DLLs
Multithreaded support
Example compile-and-link operations
DB-Library programming issue
Compile-and-link example
Server-Library programming issues
srv_callback
Scheduling modes
Preemptive mode programming
srv_sleep
srv_wakeup
Example of compile-and-link operations
Client-Library/C Sample Programs
Using Client-Library sample programs
Location of the sample programs
Header files
example.h file
Sample program summaries
Utility routines for the sample programs
firstapp.c sample program
uni_firstapp.c sample program
arraybind.c sample program
Asynchronous sample program
blktxt.c sample program
compute.c sample program
usedir.c sample program
exconfig.c sample program
csr_disp_implicit.c sample program
il8n.c sample program
Multithreaded sample program
csr_disp.c sample program
uni_csr_disp.c sample program
rpc.c command sample program
uni_rpc.c sample program
secct.c sample program
csr_disp_scrollcurs.c sample program
csr_disp_scrollcurs2.c sample program
getsend.c sample program
twophase.c sample program
uni_blktxt.c sample program
uni_compute.c sample program
wide_compute.c sample program
wide_curupd.c sample program
wide_dynamic.c sample program
wide_rpc.c sample program
Open Client DB-Library/C Sample Programs
Using DB-Library sample programs
Location of the sample programs
Header files
sybdbex.h header file
Sample program summaries
example1.c sample program
example2.c sample program
example3.c sample program
example4.c sample program
example5.c sample program
example6.c sample program
example7.c sample program
example8.c sample program
example9.c sample program
exampl10.c sample program
exampl11.c sample program
exampl12.c sample program
bulkcopy.c sample program
twophase.c sample program
Open Server Server-Library/C Sample Programs
Using Server-Library sample programs
Location and content
Tracing
Header files
Sample program summaries
Testing sample programs
osintro.c sample program
ctos.c sample program
lang.c sample program
fullpass.c sample program
regproc.c sample program
intlchar.c sample program
multthrd.c sample program
secsrv.c sample program
Open Client Embedded SQL/C
Building an Embedded SQL/C executable
Precompiling the application
Compiling and linking the application
Link libraries
Loading stored procedures
Using Embedded SQL/C sample programs
Header file
example1.cp sample program
example2.cp sample program
exampleHA.cp sample program
uni_example1.cp sample program
uni_example2.cp sample program
Open Client Embedded SQL/COBOL
Building an Embedded SQL/COBOL executable
Precompiling the application
Compiling and linking the application
Link libraries
Loading stored procedures
Using Embedded SQL/COBOL sample programs
Environment variables for Micro Focus COBOL
example1.pco sample program
example2.pco sample program
Utility Commands Reference
bcp
cpre
cobpre
defncopy
isql
instjava
extrjava
Utility Messages
bcp messages
Message 1: Memory allocation failure
Message 5: Unable to open input file
Message 6: Unable to open output file
Message 7: Bad arguments
Message 8: Invalid first row
Message 9: Invalid rows
Message 10: Invalid last row
Message 11: Invalid direction
Message 12: Invalid integer
Message 13: Duplicate flags
Message 14: Overriding arguments
Message 15: Invalid prefix length
Message 21: Retry
Message 23: Starting message
Message 24: N rows copied
Message 25: Total time
Message 26: File save
Message 27: Host file
Message 28: Invalid column type
Message 29: Invalid column type
Message 30: Average Time
Message 31: Copy failure
Message 32: Partial copy failure
Message 33: Invalid precision
Message 34: Invalid scale
Message 35: Unexpected result type
Message 36: Unexpected result
Message 37: Write error
Message 39: Invalid rows
Message 40: Row transfer error
Message 41: Invalid datatype
Message 42: Input read file error
Message 43: Error file write error
Message 44: Unable to open error file
Message 45: Unexpected end-of-file
Message 46: Negative-length prefix
Message 48: Cannot read specified number of rows
Message 49: Length prefix or terminator required
Message 50: Text/image data truncated
Message 51: Max errors exceeded
Message 52: Unable to open discard file
Message 53: Discard file write error
Message 54: Unable to close file
Message 55: Batch size adjusted
Message 56: Max rows reached
defncopy messages
Message 1: Memory allocation failure
Message 2: Insufficient read space
Message 3: Unable to open input file
Message 4: Unable to open output file
Message 5: Bad argument
Message 6: File not flushed
Message 7: Unexpected object definition
Message 8: Abend
Message 9: Invalid direction
Message 10: No object name
isql messages
Message 1: Memory allocation failure
Message 8: Database name length
Message 9: CS-Lib message callback routine installation
Message 10: CT-Lib initialization
Message 11: CT-Lib message callback routine installation
Message 12: Unsupported datatype
Message 13: Buffer overflow
Message 14
Message 15: Invalid memory block size
Message 16: Invalid memory handle
Message 17: Internal memory allocation error
Message 18: Editor command too long
Message 19: Uninitialized application context
Message 20: Connection failure
Message 21: Unavailable command handle
Message 23: File position reset failure
Message 24: Command buffer not cleared
Message 25: Command not initiated
Message 26: Command handle not cleared
Message 27
Message 28: Command argument too long
Message 29: Filename missing
Message 30: Prompt label too long
Message 31: Prompt input mismatch
Message 32: Missing quote
Message 33: Directory creation failure
Message 34: Unexpected argument type
Message 35: Unable to open history file
Message 36: Temporary file deletion failure
Open Server and SDK New Features for Windows, UNIX, and Mac OS X
Product platforms and compatibilities
Product components
Open Server
Software Developer’s Kit
SDK DB-Library Kerberos Authentication Option
IPv6 support
Character set support
Upgrading to the new version
New Features for ESD #11
Enhanced Adaptive Server ADO.NET Data Provider support for connection pooling
New Features for ESD #10
Adaptive Server ADO.NET Data Provider support for SSIS
Cybersafe Kerberos driver on 64-bit Microsoft Windows
New Features for ESD #9
isql64 and bcp64 for 64-bit products on UNIX and Windows platforms
New platform for ESQL/COBOL 64-bit
LAN Manager driver for Microsoft Windows 64-bit
JAVA_CHARSET_MAPPING connection property
Adaptive Server character set mapping reference
.NET Framework 4 support
Support for EDM canonical functions
Exposed Adaptive Server functions
Model-first development
Bulk-load support in Adaptive Server ADO.NET Data Provider
New Features for ESD #8
New ESQL/COBOL platforms
Enhanced DDEX Provider for Adaptive Server
New features for ESD #7
DDEX Provider for Adaptive Server
Supported Adaptive Server objects
New CHANGEBIGINTDEFAULT property
New features for ESD #5
Extended Adaptive Server ODBC Driver support
New SECURECONNECTIONSTRING property
New features for ESD #4
Bulk-load support in Adaptive Server ODBC Driver
Bulk-load support in jConnect for JDBC
Managing Adaptive Server ADO.NET Data Provider tracing
New jConnect property DELETE_WARNINGS_FROM_EXCEPTION_CHAIN
New feature for ESD #3
Open Client 15.5 and Open Server 15.5 features
Microsecond granularity for time data
Capabilities
Constants
Mapping
Datatype conversions
Conversion to CS_CHAR
Updates to cs_dt_crack
bcp file storage types
bcp host file datatype storage format
ct_send_data extension
Processing text and image data
sp_mda
Open Server dynamic listeners
Events
Server properties
Thread type
Thread properties
Starting a dynamic listener
Performance enhancements
CS_RES_NOXNLMETADATA response capability
FIPS-140-2-compliant password encryption
SQL Server references
SDK 15.5 features for jConnect and Adaptive Server driver and providers
Microsecond granularity for time data
FIPS-140-2-compliant password encryption
Distributed transaction management support
Simplified character set conversion
JDBC 4.0 support
Microsoft ADO.NET Entity Framework and LINQ support
Microsoft Enterprise Library Database Access Application Block for Adaptive Server
Accessibility features
Open Client Client-Library/C Programmers Guide
About this book
Getting Started with Client-Library
Client-Library overview
Types of Client-Library applications
Adaptive Server Enterprise client applications
Open Server client or gateway applications
A simple sample program
Building programs
Steps in the example
Source listing
Step 1: Set up the Client-Library programming environment
Header files
Allocating a context structure
Setting CS-Library context properties
Initializing Client-Library
Setting Client-Library context properties
External configuration
Step 2: Define error handling
Step 3: Connect to a server
Allocating a connection structure
Setting connection structure properties
Required connection properties
Logging in to a server
Step 4: Send commands to the server
Allocating a command structure
Setting command structure properties
Executing a command
Step 5: Process the results of the command
Step 6: Finish
Deallocating command structures
Closing and deallocating connections
Exiting Client-Library
Deallocating a context structure
Understanding Structures, Constants, and Conventions
Hidden structures
CS_CONTEXT
CS_CONNECTION
CS_COMMAND
Control structure hierarchy
Connection and command rules
CS_LOGINFO
CS_DS_OBJECT
CS_BLKDESC
CS_LOCALE
Exposed structures
CS_BROWSEDESC
CS_CLIENTMSG
CS_DATAFMT
CS_DATEREC
CS_IODESC
CS_PROP_SSL_LOCALID
CS_SERVERMSG
SQLCA, SQLCODE, and SQLSTATE
SQLDA
Constants
Type constants
Format constants
Other symbolic constants
Conventions
NULL and unused parameters
Pointer parameters
Non-pointer parameters
Input parameter strings
Output parameter strings
Pointers to basic structures
Item numbers
action, buffer, buflen, and outlen
Using Open Client and Server Datatypes
Types and type constants
Where are datatypes declared?
Why use Open Client and Open Server datatypes?
unichar datatype
Datatypes and capabilities
isql and bcp utilities
Limitations
unitext datatype
Datatypes and capabilities
isql and bcp utilities
Limitations
xml datatype
Datatypes and capabilities
isql and bcp utilities
Limitations
What are type constants?
Datatype summary
Binary types
Bit types
Character types
Datetime types
Numeric types
Money types
Text and image types
Null substitution values
Open Client user-defined datatypes
Handling Errors and Messages
About messages
How to identify messages
Client-Library messages and Client-Library return codes
Server messages and message results
Two methods for handling messages
Combining the methods
Handling messages with callback routines
Defining a client-message callback
Defining a server-message callback
Installing callbacks
Handling messages inline
The CS_EXTRA_INF property
The CS_DIAG_TIMEOUT_FAIL property
Sequencing long messages
Extended error data
Uses of extended error data
Server transaction states
Choosing Command Types
Command overview
Types of commands
Executing commands
Initiating a command
Defining parameters for a command
Processing results
Resending a command
Language commands
Building language commands
Results-handling for language commands
When to use language commands
When not to use language commands
RPC commands
Building RPC commands
RPC command results handling
Return parameter values
Return status values
When to use RPC commands
RPCs versus execute language commands
Client-Library cursor commands
Building Client-Library cursor commands
When to use Client-Library cursors
When not to use Client-Library cursors
Dynamic SQL commands
Building Dynamic SQL commands
When to use dynamic SQL commands
When not to use dynamic SQL
Message commands
When to use message commands
When not to use message commands
Package commands
Send-data commands
When to use send-data commands
When not to use send-data commands
Writing Results-Handling Code
Types of results
Structure of the basic loop
Processing regular row results
Processing cursor results
Processing scrollable cursor results
Processing parameter results
Processing return status results
Processing compute results
Processing message results
Processing describe results
Processing format results
Values of result_type that indicate command status
Logical commands
ct_results final return code
Using Client-Library Cursors
Cursor overview
Language cursors versus Client-Library cursors
Language cursors
Client-Library cursors
When to use Client-Library cursors
Benefits of Client-Library cursors
Nested cursor commands
Commands executed using a different command structure
Performance issues when using Client-Library cursors
Using Client-Library cursors
Step 1: Declare the cursor
Declaring a cursor to directly execute a select statement
Declaring a cursor to execute a stored procedure
Declaring a cursor to execute a prepared dynamic SQL statement
Step 2: Set cursor rows
Step 3: Open the cursor
Cursor command batching
Reopening a cursor
Step 4: Process cursor rows
Nested cursor-update or cursor-delete commands
Nested cursor-close commands
Sending commands on a different command structure
Step 5: Close the cursor
Step 6: Deallocate the cursor
Client-Library cursor properties
Using Dynamic SQL Commands
Dynamic SQL overview
Benefits of dynamic SQL
Limitations of dynamic SQL
Performance of dynamic SQL commands
Adaptive Server Enterprise restrictions and database requirements
Alternatives to dynamic SQL
Using the execute-immediate method
When to use the execute-immediate method
Coding an execute-immediate command
Using the prepare-and-execute method
When to use prepare-and-execute method
Program structure for the prepare-and-execute method
Step 1: Prepare the statement
Step 2: Get a description of command inputs
Initiating a describe-input command
Processing parameter descriptions
Step 3: Get a description of command outputs
Initiating a describe-output command
Processing column descriptions
Step 4: Execute the prepared statement
Step 5: Deallocate the prepared statement
Dynamic SQL versus stored procedures
Using Directory Services
Directory service overview
How do applications use a directory service?
Searching the directory
Example code
Program structure
Step 1: Starting the search
Initialize data structures
Setting directory service properties
Installing the directory callback
Calling ct_ds_lookup
Example code to start a directory search
Step 2: Collecting search results in the directory callback
Defining the directory callback
Directory callback example
Step 3: Inspecting directory objects
Attribute data structures
Example code to inspect a directory object
Retrieving an attributes value
Processing attribute values
Step 4: Cleaning up
Logical Sequence of Calls
Client-Library state machines
Command-level sequence of calls
Commands state table
Initiated-commands state table
Result-types state table
Summary
Command states
Command-level routines
Callable routines in each command state
Initiated commands
Initiated command routines
Callable routines for initiated commands
Result types
Result type processing routines
Callable routines for each result type
Pending results
Open Client Client-Library/C Reference Manual
About this book
Introducing Client-Library
Sybase client/server architecture
Types of clients
Types of servers
Open Client and Open Server products
Open Client
Open Server
Shared common libraries
CS-Library
Bulk-Library
Client-Library is a generic interface
Comparing the library approach to Embedded SQL
What an application developer needs to know
Programming interfaces
Getting started
Client-Library Topics
Asynchronous programming
Asynchronous applications
Asynchronous routines
The CS_BUSY return code
Completions
Deferred asynchronous completions
Fully asynchronous completions
Client-Library’s interrupt-level memory requirements
Layered applications
Using ct_wakeup and CS_DISABLE_POLL
An example
Browse mode
Using Browse mode
The Browse mode where clause
Browse mode conditions
Callbacks
Callback types
Callbacks are not always supported
Installing a callback routine
When a callback event occurs
Retrieving and replacing callback routines
Restrictions on Client-Library calls in callbacks
Declaring callbacks with CS_PUBLIC
Client message callbacks
Defining a client message callback
Client message callback example
Completion callbacks
Defining a completion callback
Directory callbacks
Defining a directory callback
Directory search results processing
Callback invocation sequence
Directory callback example
Encryption callbacks
Defining an encryption callback
Negotiation callbacks
Challenge/response security handshakes
Defining a negotiation callback
Notification callbacks
Defining a notification callback
Retrieving notification parameters
Security session callbacks
Establishing a direct security session
Defining a security session callback
Server message callbacks
Defining a server message callback
Server message callback example
Handling specific messages
Signal callbacks
Defining a signal callback
Installing a signal callback
SSL validation callbacks
Defining an SSL validation callback
SSL validation callback example
Capabilities
Wide tables and larger page size
Page size
Wide tables
unichar datatype
Datatypes and capabilities
isql and bcp utilities
Limitations
unitext datatype
Datatypes and capabilities
isql and bcp utilities
Limitations
xml datatype
Datatypes and capabilities
isql and bcp utilities
Limitations
Capabilities and the connection’s TDS level
Setting and retrieving capabilities
Setting and retrieving multiple capabilities
Client-Library and SQL Structures
Exposed and hidden structures
Exposed structures
Hidden structures
CS_BROWSEDESC structure
CS_CLIENTMSG structure
Client-Library message numbers
CS_DATAFMT structure
CS_IODESC structure
CS_OID structure
Encoding of object identifiers
Definition of the CS_OID structure
Using predefined OID strings
CS_SERVERMSG structure
SQLCA structure
SQLCODE structure
Mapping server messages to SQLCODE
Mapping Client-Library messages to SQLCODE
SQLSTATE structure
Commands
Sending commands
Initiating a command
Defining parameters for a command
Sending a command
Resending a command
Deciding which type of command to use
Connection migration
Debugging
Enabling debugging
Directory services
Directory service providers and drivers
Network-based directory services
LDAP
OpenLDAP
SSL/TLS
LDAP Directory Server lookup time limit
LDAP for Microsoft Active Directory
Use of the directory by applications
Directory organization
Directory entry name formats
Name syntax for DCE CDS
Name syntax for Windows Registry
Name syntax for LDAP directory services
Name syntax for the Interfaces file
Locating entries with a DIT base
Viewing directory entries
Directory objects
Properties for directory services
Error handling
Error reporting during initialization
cs_ctx_alloc and cs_ctx_global
ct_init
Error and message handling
Two methods of handling messages
Using callbacks to handle messages
Inline message handling
Client-Library message structures
The CS_EXTRA_INF property
Sequencing long messages
Message structure fields for sequenced messages
Sequenced messages and extended error data
Sequenced messages and ct_diag
Extended error data
Uses for extended error data
Retrieving extended error data
Server message callbacks and extended error data
Inline error handling and extended error data
Server transaction states
Retrieving transaction states in mainline code
Retrieving transaction states in a server message callback
Sample programs
Client-Library routines in sample programs
Header files
High-availability failover
Add hafailover line to interfaces file
Client-Library application changes
Using isql with Sybase Failover
Interfaces file
Overview of Interfaces file entries
Server objects from the Interfaces file
International Support
When an application needs to use a CS_LOCALE structure
Using a CS_LOCALE structure
Context-level localization
Connection-level localization
Data-element level localization
Locating localization information
The locales file
Locales file entries
cs_locale and the locales file
Macros
Decoding a message number
Manipulating bits in a CS_CAP_TYPE structure
Using the sizeof operator
Prototyping functions
Multithreaded applications: signal handling
Basic concepts
Signal handling in nonthreaded environments
Types of signals
Signal handlers
Signal masking
Signal delivery
Using sigwait to handle asynchronous signals
Special Sybase signal handlers
SIGTRAP signal
Using Sun’s ALARM and SETITIMER routines
Multithreaded programming
What is a thread
Benefits of multiple threads
Types of threads
Write thread-safe code
Serializing access to shared data and shared resources
Synchronizing dependent actions
Calling thread-unsafe system routines
Avoiding deadlock
Client-Library restrictions for multithreaded programs
Calling context-level routines
Context initialization and cleanup
CS-Library error handling
Calling connection-level routines
Using CS_LOCALE structures
Coding thread-safe callback routines
Threads and fully asynchronous mode
Multithreaded programming models for Client-Library
One-thread, one-connection model
Worker-thread model
Other thread models
Options
Setting options externally
Properties
Comparing properties, options, and capabilities
Login properties
Setting and retrieving properties
Three kinds of context properties
Checking whether a property is supported
Copying login properties
Setting properties externally
Properties quick reference table
About the properties
ANSI-style binds
Application name
Asynchronous notifications
Bulk copy operations
Character set conversion
Communications session block
Connection status
Configure by server name
Configuration file name
Connection migration
Cursor ID
Cursor name
Cursor rowcount
Cursor status
Diagnostic timeout fail
Disable poll
Directory service properties
Extended error data command structure
Extended failover
Endpoint polling
Expose formats
External configuration
Extra information
Have bindings
Have resendable command
Have restorable cursor-open command
Hidden keys
Host name
Location of the interfaces file
Locale information
Login status
Login timeout
Loop delay
Login redirection
Maximum number of connections
Memory pool
Network I/O
No truncate
No API checking
No character conversion required
No interrupt
Packet size
Parent structure
Partial updates to text and image data
Password
Persistent result bindings
Retry count
Security properties
Server name
TDS version
Text and image limit
Timeout
Transaction name
User allocation function
User free function
User data
User name
Version string for Client-Library
Version of Client-Library
Registered procedures
When Client-Library receives a notification
Receiving notifications asynchronously
Finding out about notifications
Results
Regular row results
Cursor row results
Parameter results
Stored procedure return status results
Compute row results
Message results
Describe results
Format results
Program structure for processing results
Retrieving an item’s value
Keeping result bindings for batch processing
Selecting multiple rows of variable length data into an array
Security features
Network-based security
Security mechanisms and security drivers
Choosing a network security mechanism
Requesting network security services
Secure Sockets Layer in Open Client and Open Server
Internet communications overview
Public-key cryptography
SSL overview
SSL handshake
SSL in Open Client and Open Server
SSL filter
Validating the server by its certificate
The trusted roots file
Obtaining a certificate
Adaptive Server Enterprise security features
Security handshaking: Challenge/Response
Security handshaking: encrypted password
Server directory object
Use of the server directory object
Contents of the server directory object
Format of object attributes
List of attributes
Server entry version
Server name attribute
Service description
Server status
Transport address
Security mechanisms
Server objects from the interfaces file
Server restrictions
Open Server restrictions
Adaptive Server Enterprise restrictions
Supported client/server features
text and image data handling
Retrieving a text or image column
Using ct_get_data to fetch text and image values
Updating a text or image column
Retrieving the I/O descriptor settings
Sending the new column value
Partial updates to text and image data
Populating a table containing text or image columns
Smaller text and image values
Larger text and image values
Server global variables for text and image updates
Using global variables to update a text or image column
Datatypes support
Datatype summary
Routines that manipulate datatypes
Open Client datatypes
Binary types
Bit types
Character types
XML type
Datetime types
Integer types
Real, float, numeric, and decimal types
Money types
Text and image types
Open Client user-defined datatypes
Using the runtime configuration file
Enabling external configuration
Open Client and Open Server runtime configuration file syntax
Runtime configuration file keywords
Keywords for localization
Keywords for context or connection properties
Keywords for server options
Keywords for server capabilities
Keywords for ct_debug options
Routines
ct_bind
ct_br_column
ct_br_table
ct_callback
ct_cancel
ct_capability
ct_close
ct_cmd_alloc
ct_cmd_drop
ct_cmd_props
ct_command
ct_compute_info
ct_con_alloc
ct_con_drop
ct_con_props
ct_config
ct_connect
ct_cursor
ct_data_info
ct_debug
ct_describe
ct_diag
ct_ds_dropobj
ct_ds_lookup
ct_ds_objinfo
ct_dynamic
ct_dyndesc
ct_dynsqlda
ct_exit
ct_fetch
ct_get_data
ct_getformat
ct_getloginfo
ct_init
ct_keydata
ct_labels
ct_options
ct_param
ct_poll
ct_recvpassthru
ct_remote_pwd
ct_res_info
ct_results
ct_scroll_fetch
ct_send
ct_send_data
ct_sendpassthru
ct_setloginfo
ct_setparam
ct_wakeup
Glossary
Open Client Client-Library Migration Guide
About this book
Understanding Client-Library
What is Client-Library?
Comparing the client interfaces
What is unique about Client-Library?
Tight integration with Open Server
Client interface to server-side cursors
Client interface to dynamic SQL
Asynchronous mode
Non-polling (interrupt-driven)
Polling
Multithreaded application support
Support for network-based security and directory services
Security services
Directory services
Where to go for more information
User-defined datatypes and conversion routines
Localization mechanisms
Streamlined interface
Evaluating an Application for Migration
Questions to consider
Will the application benefit from migration?
How much effort will the migration require?
Summary
Planning for Migration
Get software
Learn about Client-Library
Familiarize yourself with sample programs
Isolate DB-Library code
Consider application redesign
Unified results handling
Cursors
Array binding
Asynchronous mode
Multithreading
Review your estimate of the migration effort
Plan for testing
Develop a schedule
Check your environment
Comparing DB-Library and Client-Library Infrastructures
Utility routines
Header files
Control structures
Control structure properties
Inherited property values
Setting property values
The CS_CONTEXT structure
The CS_CONNECTION structure
The CS_COMMAND structure
Connection and command rules
Other structures
CS_DATAFMT
CS_IODESC
CS_LOCALE
CS_BLKDESC
Converting DB-Library Application Code
Conversion steps
Initialization and cleanup code
Comparing call sequences
Example: Client-Library initialization and cleanup
Code that opens a connection
Comparing call sequences
Client-Library enhancements
Migrating LOGINREC code
Example: Opening a Client-Library connection
Error and message handlers
Sequenced messages
Replacing server message handlers
Replacing DB-Library error handlers
Error handler return values
Code that sends commands
Sending language commands
Client-Library enhancements
Example: Sending a Client-Library language command
Sending RPC commands
Client-Library enhancements
Example: sending an RPC command
TDS passthrough
Code that processes results
Program structure for results processing
Comparing dbresults and ct_results return codes
Handling command-processing errors
Comparing ct_results’ result_type to DB-Library program logic
Retrieving data values
ct_bind versus dbbind
ct_get_data versus dbdata
Getting descriptions of result data
Obtaining Results Statistics
Obtaining the Command Number (DBCURCMD)
Obtaining the Number of Rows Affected
Obtaining the number of the current row
Canceling results
CS_CANCEL_ATTN
CS_CANCEL_ALL
CS_CANCEL_CURRENT
Advanced Topics
Client-Library’s array binding
Using Array Binding
Array Binding Example
Client-Library cursors
Comparing DB-Library and Client-Library cursors
Rules for Processing Cursor Results
Comparing Cursor Routines
DB-Library fetch types and Client-Library cursors
Using ct_keydata
Comparing Client-Library cursors to Browse Mode Updates
Using Array Binding with Cursors
Client-Library cursor example
Asynchronous programming
DB-Library’s Limited Asynchronous Support
Client-Library asynchronous support
Using ct_poll
Using ct_wakeup
Bulk copy interface
Bulk-Library initialization and cleanup
Transfer routines
Other differences from DB-Library bulk copy
Text/Image interface
Retrieving text or image data
DB-Library’s text timestamp
Client-Library’s CS_IODESC structure
Sending text or image data
Text and image examples
Localization
CS_LOCALE Structure
Localization precedence
Mapping DB-Library Routines to Client-Library Routines
Mapping DB-Library routines to Client-Library routines
Open Client and Open Server Common Libraries Reference Manual
About this book
Introducing CS-Library
CS-Library overview
Using CS-Library
Open Client and Open Server applications
A standalone CS-Library application
Structures
CS_CONTEXT structure
Datatypes, constants, and conventions
Error handling
Two methods of handling messages
Using a callback to handle messages
Defining a CS-Library message callback
CS-Library message callback example
Inline message handling
CS-Library Routines
cs_calc
cs_cmp
cs_config
cs_conv_mult
cs_convert
cs_ctx_alloc
cs_ctx_drop
cs_ctx_global
cs_diag
cs_dt_crack
cs_dt_info
cs_loc_alloc
cs_loc_drop
cs_locale
cs_manage_convert
cs_objects
cs_prop_ssl_localid
cs_set_convert
cs_setnull
cs_strbuild
cs_strcmp
cs_time
cs_validate_cb
cs_will_convert
Bulk-Library
Overview of Bulk-Library
Client-side and server-side routines
Client-side Bulk-Library routines
Server-side Bulk-Library routines
Header files
Linking with Bulk-Library
The CS_BLKDESC structure
Bulk-Library client programming
Bulk-copy-in operations
The bulk-copy-in process
Program structure for bulk-copy-in operations
Bulk-copy-out operations
The bulk-copy-out process
Program structure for bulk-copy-out operations
Copying to and from Secure Adaptive Server Enterprise
Bulk-Library gateway programming
Inside the SRV_LANGUAGE event handler
“Insert Bulk” requests
“Writetext Bulk” requests
Inside the SRV_BULK event handler
Example
Bulk-Library Routines
blk_alloc
blk_bind
blk_colval
blk_default
blk_describe
blk_done
blk_drop
blk_getrow
blk_gettext
blk_init
blk_props
blk_rowalloc
blk_rowdrop
blk_rowxfer
blk_rowxfer_mult
blk_sendrow
blk_sendtext
blk_srvinit
blk_textxfer
Open Client and Open Server International Developers Guide
About this book
Understanding Internationalization and Localization
Internationalization and localization
Advantages of internationalized applications
International systems
Open Client and Open Server support for international systems
How Localization Works
Deciding what localization values to use
Using initial localization values
Setting up an application to use initial localization values
Using custom localization values
Localization mechanism details
The locales file
Environment variables
Platforms not using environment variables
The CS_LOCALE structure
The cs_locale routine
Example: Calling cs_locale to Load a CS_LOCALE structure
Writing Internationalized Open Client and Open Server Applications
Writing internationalized Client-Library applications
Client-Library applications using initial values
Client-Library applications using custom values
Customizing at the context level
Example
Defining custom localization values for a context
Customizing at the connection level
Example
Defining custom localization values for a connection
Customizing at the data element level
Example
Defining custom localization values at the data element level
Client-Library localization value precedence
Client-Library localization properties
Writing internationalized Open Server applications
Localizing the application
Open Server applications using initial values
Open Server applications using custom values
Supporting localized clients
Automatic support for localized clients
Additional support for localized clients
Responding to requests to change language and character set
Server-Library localization properties
Writing internationalized DB-Library applications
Internationalizing with Embedded SQL
Localizing the precompiler
How default values are determined
Specifying custom localization values
Localizing an Embedded SQL application
Localizing standalone utilities
Tips
Make sure required files are installed
Using CS_NULLTERM with Open Client and Open Server routines
Coded Character Set Conversion Support
Definitions
Supported character sets
Understanding coded character set conversion
Establishing the language and character set for a connection
Disabling character set conversion
Using Open Server as a conversion gateway
Files used during character set conversion
Unilib library
Using custom coded character set conversion
Why install custom conversion routines?
Writing a custom conversion routine
Installing a custom conversion routine
Character set conversion in Adaptive Server Enterprise releases prior to 4.9
Mainframe support
Editing the Locales File
Quick start
When to edit the locales file
Locales file sections and entries
Locale definition entries
Locales file example
Editing the locales file
Adding or changing entries
Deleting entries
Creating or Changing Collating Sequences
Quick start
About collating sequences
Definitions
Types of sorts
Determining case sensitivity
When to create a custom collating sequence file
About collating sequence files
Collating sequence file sections and entries
Writing characters in a collating sequence file
The preference keyword and the order by clause
Creating a custom collating sequence file
Collating sequence file example
Directories and Files Related to Internationalization
Overview
The locales directory
The locales file
Localized message files
language_name subdirectories
Unicode directory
The charsets directory
Collating sequence files
Unicode conversion files
The config and ini directories
The global object identifiers file
Object identifiers file sections and entries
Object identifiers file example
Editing object identifiers file
External Localization File Syntax
Localization file syntax rules
Localization file sections
Example localization file
Glossary
Open Server Server-Library/C Reference Manual
About this book
Introducing Open Server
Client/Server overview
Types of clients
Types of servers
Open Server configurations
Standalone open server application
Auxiliary open server application
Gateway Open Server application
Open Server
The Open Server libraries
Network services
Using Open Server
The CS_CONTEXT structure
Steps in a simple program
Basic Open Server program
Open Server events
Default event handlers
Non client-initiated events
Registered procedures
Returning results to clients
Types of result data
Messages
Data rows
Parameters
Status values
Order of results
Error handling
Multithread programming
Topics
Attention events
Interrupt-level activity
Coding recommendations for attention events
Handling disconnects
Example
Browse mode
Example
Capabilities
Request capabilities
Response capabilities
Transparent negotiation
When does transparent negotiation take place?
Server-wide defaults
Explicit negotiation
Negotiating capabilities one at a time
Negotiating using a capability bitmask
Capability macros
Ad hoc retrieval of capability information
A note on pre-10.0 clients
Example
Client command errors
Sending messages with srv_sendinfo
Sequencing long messages
CS_SERVERMSG structure fields for sequenced messages
Extended error data
What is extended error data good for?
Sending extended error data to a client
Connection migration
In-batch migration and idle migration
Context migration
APIs used in connection migration
CS_REQ_MIGRATE
SRV_CTL_MIGRATE
SRV_MIGRATE_RESUME
SRV_MIGRATE_STATE
SRV_T_MIGRATE_STATE property and SRV_MIG_STATE enumerated type
SRV_T_MIGRATED
SRV_T_SESSIONID
Instructing clients to migrate to a different server
Requesting a client to migrate
Managing the connect (SRV_CONNECT) event
Managing the migrate state (SRV_MIGRATE_STATE) event
Sharing client context
Managing the migrate resume (SRV_MIGRATE_RESUME) event
Managing the disconnect (SRV_DISCONNECT) event
Managing in-batch migration
Attention handling
Disconnecting Open Server
Accepting connections from migrated clients
Error messages
CS_BROWSEDESC structure
CS_DATAFMT structure
CS_IODESC structure
CS-Library
Common routines
Common data structures
Error handling
CS_SERVERMSG structure
Cursors
Cursor overview
Advantages of cursors
Open Server applications and cursors
How are cursor requests generated?
Types of cursor commands
How is cursor information exchanged with a client?
SRV_CURDESC structure
Values for curstatus
Values for curcmd
Handling cursor requests
How to respond to specific requests
Key data
Update columns
Example
Scrollable cursors
SRV_CURDESC2 structure
Values for curstatus
Values for curcmd
srv_cursor_props2 routine
Data stream messages
Data stream messages overview
Retrieving client data stream messages
Sending data stream messages to a client
Directory services
Specifying a directory driver
Registering an Open Server application with a directory
Dynamic SQL
Advantages of dynamic SQL
Handling dynamic SQL requests
The srv_dynamic routine
Detecting a command type
Responding to client dynamic SQL commands
Example
Dynamic listeners
Configuration
Properties
Thread type
Thread properties
Starting a dynamic listener
Errors
Types of errors
Severity of errors
Operating system errors
Error numbers and corresponding message text
Example
Events
Event overview
What is an event handler?
Default and custom handlers
Coding custom handlers
Standard events
Programmer-defined events
Example
Gateway applications
Passthrough mode
International support
Localizing an Open Server application
Supporting localized clients
Using a CS_LOCALE structure to set custom localization values
Localizing CS-Library messages for clients
Creating localized connections for gateway applications
Localizing a CS_CONTEXT structure
Responding to client requests
Requests to change language and character set
Requests for localization information
Localization properties
Localization examples
Language calls
Login redirection and extended HA failover support
Messages
Multithread programming
What is a thread?
Thread types
Preemptive threads
Thread-safe functions
Thread-safe code and preemptive mode
Implementation specifics
Event-driven threads
Service threads
Site-handler threads
Scheduling
Scheduling methods
Selecting a thread to resume
Tools and techniques
Mutexes
Message queues
Protecting critical sections
Callback routines
Programming considerations
Example
Negotiated behavior
Login negotiations
Transparent negotiation
Explicit negotiation
Negotiating a secure connection
Ad hoc negotiations
Example
Options
Inside the SRV_OPTION event handler
Option descriptions and default values
Example
Partial update
Open Server set-up
sp_mda
SRV_T_BULKTYPE
Handlers
Passthrough mode
Regular passthrough mode
Negotiating the TDS protocol level in passthrough mode
Using regular passthrough mode
Example
Event handler passthrough mode
Coding and installing a full passthrough event handler
Enabling event handler passthrough mode for a thread
Negotiating the TDS protocol level
Processing parameter and row data
A note on terminology
The Open Server data processing model
Retrieving parameters
Returning rows
Returning return parameters
A closer look at describing, binding, and transferring
Describing
Binding
Transferring
Automatic conversion
Returning parameters in a language data stream
Example
Properties
Context properties
Server properties
SRV_S_TDSVERSION
SRV_S_TRACEFLAG
Thread properties
SRV_T_BULKTYPE
SRV_T_CHARTYPE
SRV_T_ENDPOINT
SRV_T_EVENT
SRV_T_FLTTYPE
SRV_T_LOGINTYPE
SRV_T_MIGRATED
SRV_T_MIGRATE_STATE
SRV_T_RMTPWDS
SRV_T_SESSIONID
SRV_T_TDSVERSION
SRV_T_TYPE
Registered procedures
Standard remote procedure calls
Advantages of registered procedures
Notification procedures
Creating registered procedures
The mechanics of registered procedures
Registering procedures
Executing registered procedures
Maintaining lists
System registered procedures
Using callback handlers with registered procedures
Example
Remote procedure calls
Example
Security services
Security service properties
Login authentication services
Per-packet security services
SSL overview
How do security services work with Open Server?
Steps involved in a Client/Server dialog using security services
Using security mechanisms with Open Server applications
Security drivers
libtcl.cfg configuration file
Object identifiers
Changes to the interfaces file
Changes to the interfaces file: the SSL filter
Determining which security services are active
Scenarios for using security services with Open Server applications
Simple application using a security session
Gateway application with separate security sessions
Gateway with separate security sessions using delegation
Full passthrough gateway with direct security session
Text and image
Processing text and image data
Retrieving data from a client
Returning data to a client
Example
Types
Routines that manipulate datatypes
Open Server datatypes
Binary types
Bit type
Character types
XML type
Datetime types
Datetime minimum and maximum values
Integer types
Real, float, numeric, and decimal types
Money types
Security types
Text and image types
Routines
srv_alloc
srv_alt_bind
srv_alt_descfmt
srv_alt_header
srv_alt_xferdata
srv_bind
srv_bmove
srv_bzero
srv_callback
srv_capability
srv_capability_info
srv_createmsgq
srv_createmutex
srv_createproc
srv_cursor_props
srv_dbg_stack
srv_dbg_switch
srv_define_event
srv_deletemsgq
srv_deletemutex
srv_descfmt
srv_dynamic
srv_envchange
srv_event
srv_event_deferred
srv_free
srv_freeserveraddrs
srv_get_text
srv_getloginfo
srv_getmsgq
srv_getobjid
srv_getobjname
srv_getserverbyname
srv_handle
srv_init
srv_langcpy
srv_langlen
srv_lockmutex
srv_log
srv_mask
srv_msg
srv_negotiate
srv_numparams
srv_options
srv_orderby
srv_poll (UNIX only)
srv_props
srv_putmsgq
srv_realloc
srv_recvpassthru
srv_regcreate
srv_regdefine
srv_regdrop
srv_regexec
srv_reginit
srv_reglist
srv_reglistfree
srv_regnowatch
srv_regparam
srv_regwatch
srv_regwatchlist
srv_rpcdb
srv_rpcname
srv_rpcnumber
srv_rpcoptions
srv_rpcowner
srv_run
srv_s_ssl_local_id
srv_select (UNIX only)
srv_send_ctlinfo
srv_send_data
srv_send_text
srv_senddone
srv_sendinfo
srv_sendpassthru
srv_sendstatus
srv_setcolutype
srv_setcontrol
srv_setloginfo
srv_setpri
srv_signal (UNIX only)
srv_sleep
srv_spawn
srv_symbol
srv_tabcolname
srv_tabname
srv_termproc
srv_text_info
srv_thread_props
srv_timedsleep
srv_ucwakeup
srv_unlockmutex
srv_version
srv_wakeup
srv_xferdata
srv_yield
System Registered Procedures
sp_ps
sp_regcreate
sp_regdrop
sp_reglist
sp_regnowatch
sp_regwatch
sp_regwatchlist
sp_serverinfo
sp_terminate
sp_who
Open Server Error Messages
Error 16000
Error 16001
Error 16002 (Deprecated)
Error 16003
Error 16004
Error 16005
Error 16006 (Deprecated)
Error 16007 (Deprecated)
Error 16008
Error 16009
Error 16010
Error 16011 (Deprecated)
Error 16012
Error 16013
Error 16014 (Deprecated)
Error 16015 (Deprecated)
Error 16016
Error 16017 (Deprecated)
Error 16018 (Deprecated)
Error 16019
Error 16020 (Deprecated)
Error 16021 (Deprecated)
Error 16022 (Deprecated)
Error 16023 (Deprecated)
Error 16024 (Deprecated)
Error 16025 (Deprecated)
Error 16026 (Deprecated)
Error 16027 (Deprecated)
Error 16028 (Deprecated)
Error 16029
Error 16030 (Deprecated)
Error 16031 (Deprecated)
Error 16032
Error 16033
Error 16034
Error 16035 (Deprecated)
Error 16036 (Deprecated)
Error 16037 (Deprecated)
Error 16038 (Deprecated)
Error 16039 (Deprecated)
Error 16040 (Deprecated)
Error 16041 (Deprecated)
Error 16042 (Deprecated)
Error 16043
Error 16044
Error 16045
Error 16046
Error 16047
Error 16048
Error 16049
Error 16050
Error 16051 (Deprecated)
Error 16052
Error 16053
Error 16054
Error 16055
Error 16056
Error 16057
Error 16058
Error 16059 (Deprecated)
Error 16060 (Deprecated)
Error 16061
Error 16062
Error 16063
Error 16064 (Deprecated)
Error 16065
Error 16066 (Deprecated)
Error 16067
Error 16068 (Deprecated)
Error 16069 (Deprecated)
Error 16070 (Deprecated)
Error 16071 (Deprecated)
Error 16072
Error 16073
Error 16074
Error 16075
Error 16076
Error 16077 (Deprecated)
Error 16078 (Deprecated)
Error 16079 (Deprecated)
Error 16080
Error 16081 (Deprecated)
Error 16082 (Deprecated)
Error 16083 (Deprecated)
Error 16084 (Deprecated)
Error 16085 (Deprecated)
Error 16086 (Deprecated)
Error 16087 (Deprecated)
Error 16088 (Deprecated)
Error 16089 (Deprecated)
Error 16090 (Deprecated)
Error 16091 (Deprecated)
Error 16092 (Deprecated)
Error 16093 (Deprecated)
Error 16094
Error 16095 (Deprecated)
Error 16096 (Deprecated)
Error 16097
Error 16098 (Deprecated)
Error 16099 (Deprecated)
Error 16100
Error 16101 (Deprecated)
Error 16102 (Deprecated)
Error 16103
Error 16104
Error 16105
Error 16106
Error 16107 (Deprecated)
Error 16108
Error 16109
Error 16110
Error 16111
Error 16112
Error 16113
Error 16114 (Deprecated)
Error 16115
Error 16116 (Deprecated)
Error 16117(Deprecated)
Error 16118
Error 16119
Error 16120
Error 16121
Error 16122
Error 16123
Error 16124
Error 16125
Error 16126
Error 16127
Error 16128
Error 16129
Error 16130
Error 16131
Error 16132
Error 16133
Error 16134
Error 16135
Error 16136
Error 16137
Error 16138
Error 16139 (Deprecated)
Error 16140
Error 16141
Error 16142
Error 16143
Error 16144
Error 16145
Error 16146 (Deprecated)
Error 16147
Error 16148
Error 16149
Error 16150
Error 16151
Error 16152 (Deprecated)
Error 16153 (Deprecated)
Error 16154 (Deprecated)
Error 16155 (Deprecated)
Error 16156
Error 16157
Error 16158
Error 16159
Error 16160
Error 16161 (Deprecated)
Error 16162
Error 16163
Error 16164 (Deprecated)
Error 16165
Error 16166
Error 16167
Error 16168
Error 16169
Error 16170
Error 16171
Error 16172
Error 16173 (Deprecated)
Error 16174
Error 16175
Error 16176
Error 16177
Error 16178
Error 16179
Error 16180
Error 16181
Error 16182
Error 16183 (Reserved)
Error 16184 (Deprecated)
Error 16185 (Deprecated)
Error 16186 (Deprecated)
Error 16187 (Deprecated)
Error 16188
Error 16189 (Deprecated)
Error 16190 (Deprecated)
Error 16191 (Deprecated)
Error 16192
Error 16193 (Deprecated)
Error 16194 (Deprecated)
Error 16195
Error 16196 (Deprecated)
Error 16197 (Deprecated)
Error 16198
Error 16199 (Deprecated)
Error 16200
Error 16201
Error 16202
Error 16203
Error 16204
Error 16205 (Deprecated)
Error 16206 (Deprecated)
Error 16207
Error 16208
Error 16209 (Deprecated)
Error 16210
Error 16211 (Deprecated)
Error 16212
Error 16213
Error 16214 (Deprecated)
Error 16215 (Deprecated)
Error 16216
Error 16217
Error 16218
Error 16219
Error 16220
Error 16221
Error 16222
Error 16223
Error 16224 (Deprecated)
Error 16225 (Deprecated)
Error 16226 (Deprecated)
Error 16227
Error 16228 (Deprecated)
Error 16229
Error 16230
Error 16231
Error 16232
Error 16233
Error 16234
Error 16235
Error 16236
Error 16237
Error 16238
Error 16239 (Deprecated)
Error 16240
Error 16241
Error 16242 (Deprecated)
Error 16243 (Deprecated)
Error 16244
Error 16245 (Deprecated)
Error 16246 (Deprecated)
Error 16247
Error 16248
Error 16249 (Deprecated)
Error 16250 (Deprecated)
Error 16251
Error 16252
Error 16253
Error 16254
Error 16255
Error 16256
Error 16257
Error 16258 (Deprecated)
Error 16259 (Deprecated)
Error 16260
Error 16261
Error 16262
Error 16263
Error 16264 (Deprecated)
Error 16265
Error 16266
Error 16267
Error 16268 (Deprecated)
Error 16269
Error 16270 (Deprecated)
Error 16271
Error 16272
Error 16273
Error 16274
Error 16275 (Deprecated)
Error 16276
Error 16277 (Deprecated)
Error 16278
Error 16279
Error 16280
Error 16281
Error 16282
Error 16283
Error 16284
Error 16285
Error 16286
Error 16287 (Deprecated)
Error 16288 (Deprecated)
Error 16289
Error 16290 (Deprecated)
Error 16291
Error 16292 (Deprecated)
Error 16293
Error 16294 (Deprecated)
Error 16295
Error 16296
Error 16297
Error 16298
Error 16299 (Deprecated)
Error 16300
Error 16301
Error 16302
Error 16303
Error 16304
Error 16305
Error 16306
Error 16307 (Deprecated)
Error 16308 (Deprecated)
Error 16309
Error 16310
Error 16311 (Deprecated)
Error 16312 (Deprecated)
Error 16313 (Deprecated)
Error 16314 (Deprecated)
Error 16315
Error 16316 (Deprecated)
Error 16317
Error 16318 (Deprecated)
Error 16319
Error 16320
Error 16321
Error 16322
Error 16323
Error 16324
Error 16325
Error 16326
Error 16327
Error 16328
Error 16329
Error 16330
Error 16331
Error 16332
Error 16333
Error 16334
Error 16335
Error 16336
Error 16337
Error 16338
Error 16339
Error 16340
Error 16341 (Deprecated)
Error 16342 (Deprecated)
Error 16343 (Deprecated)
Error 16344 (Deprecated)
Error 16345 (Deprecated)
Error 16346 (Deprecated)
Error 16347 (Deprecated)
Error 16348 (Deprecated)
Error 16349 (Deprecated)
Error 16350 (Deprecated)
Error 16351 (Deprecated)
Error 16352 (Deprecated)
Error 16353 (Deprecated)
Error 16354 (Deprecated)
Error 16355 (Deprecated)
Error 16356 (Deprecated)
Error 16357 (Deprecated)
Error 16358 (Deprecated)
Error 16359 (Deprecated)
Error 16360
Error 16361
Error 16362
Error 16363
Error 16364
Error 16365
Error 16366 (Deprecated)
Error 16367
Error 16368
Error 16369
Error 16370 (Deprecated)
Error 16371
Error 16372
Error 16373
Error 16374
Error 16375
Error 16376 (Deprecated)
Error 16377 (Deprecated)
Error 16378
Error 16379
Error 16380
Error 16381
Error 16382
Error 16383
Error 16384 (Deprecated)
Error 16385
Error 16386
Error 16387 (Deprecated)
Error 16388
Error 16389
Error 16390
Error 16391
Error 16392
Error 16393
Error 16394
Error 16395
Error 16396
Error 16397
Error 16398
Glossary
Open Server 15.0, Open Client 15.0, and SDK 15.0
Open Server 12.5.1
Open Server 12.5.1 (Chinese-Simplified)
Open Server 12.5.1 (French)
OpenSwitch 15.1
SAP Sybase PowerAMC 16.5 SP03
SAP Sybase PowerAMC 16.5 SP02
PowerAMC 16.5
PowerAMC 16.1
PowerAMC 16.0
PowerBuilder 12.5.2
PowerBuilder 12.5.1
PowerBuilder 12.5
PowerBuilder Application Server Plug-in 1.1
PowerBuilder Application Server Plugin 1.0
SAP Sybase PowerDesigner 16.5 SP03
SAP Sybase PowerDesigner 16.5 SP02
PowerDesigner 16.5
PowerDesigner 16.1
PowerDesigner 16.0
Real-Time Data Services 4.5
Real Time Data Services 4.0
Real Time Data Services 3.5
Replication Agent 15.0
Replication Agent for DB2 UDB 15.0
SAP Replication Server 15.7.1 SP203
SAP Replication Server 15.7.1 SP202
SAP Replication Server 15.7.1 SP201
SAP Replication Server 15.7.1 SP200
SAP Replication Server 15.7.1 SP200 (Japanese)
SAP Replication Server 15.7.1 SP200 (Simplified Chinese)
Replication Server 15.7.1 SP110
Replication Server 15.7.1 SP100
Replication Server 15.7.1
Replication Server 15.7.1 (Japanese)
Replication Server 15.7.1 (Simplified Chinese)
Replication Server 15.7
Replication Server 15.6
Replication Server 15.5
Replication Server 15.2
Replication Server 15.1
Replication Server 15.0.1
Replication Server 15.0
SAP Replication Server Data Assurance Option 15.7.1 SP202
SAP Replication Server Data Assurance Option 15.7.1 SP200
Replication Server Data Assurance Option 15.7.1 SP110
Replication Server Data Assurance Option 15.7.1 SP100
Replication Server Data Assurance Option 15.7.1
Replication Server - Data Assurance Option 15.7.1 (Japanese)
Replication Server - Data Assurance Option 15.7.1 (Simplified Chinese)
Replication Server Data Assurance Option 15.7
SAP Replication Server, heterogeneous edition 15.7.1 SP200
Replication Server Heterogeneous Edition 15.7.1 SP100
Replication Server Heterogenous Edition 15.7.1
Replication Server Heterogenous Edition 15.7.1 (Japanese)
Replication Server Heterogenous Edition 15.7.1 (Simplified Chinese)
Replication Server Heterogenous Edition 15.6
Replication Server Heterogeneous Edition 15.2
Replication Server Messaging Edition 15.7.1 [SP100]
Replication Server Messaging Edition 15.7.1
Replication Server Messaging Edition 15.2
Replication Server Option for Oracle 15.7.1 ESD #2
SAP Replication Server Options 15.7.1 SP201
SAP Replication Server Options 15.7.1 SP200
Replication Server Options 15.7.1 SP120
Replication Server Options 15.7.1 SP100
Replication Server Options 15.7.1
Replication Server Options 15.7.1 (Japanese)
Replication Server Options 15.7.1 (Simplified Chinese)
Replication Server Options 15.6
Replication Server Options 15.5
Replication Server Options 15.2
Replication Server Options 15.1
Replication Server Options 15.0
Replication Server Real-Time Loading Edition 15.7.1 ESD #2
SAP Mobile Platform SDK 3.0 SP02
SAP Mobile Platform Server 3.0 SP02
SAP Mobile Platform SDK 3.0 and SP01
SAP Mobile Platform 2.3 SP04
SAP Mobile Platform 2.3 SP03
SAP Mobile Platform 2.3 SP02
SAP Mobile Platform 2.3
SAP Sybase RAP 5.0
SDK for SAP ASE 16.0
Software Developers Kit 15.7 SP127
Software Developer's Kit 15.7 SP121
Software Developer's Kit 15.7 SP110
Software Developer's Kit 15.7 SP100
Software Developer's Kit 15.7
Software Developer's Kit 15.5
Software Developer Kit 15.0
Software Developer Kit 12.5.1
SQL Anywhere 12.0.1
SQL Anywhere 12.0.0
SQL Anywhere 11.0.1
SQL Anywhere 11.0.0
SQL Anywhere 10.0.1
SQL Anywhere 10.0
Sybase Aleri Streaming Platform 3.1
Sybase Aleri Streaming Platform 3.2
Sybase Brand Mobiliser 1.3
Sybase Brand Mobiliser 1.2
Sybase Brand Mobiliser 1.1
Sybase CEP Option R4
SAP Control Center 3.3
Sybase Control Center 3.2.8 ESD2
Sybase Control Center 3.2.8 ESD1
Sybase Control Center 3.2.8
Sybase Control Center 3.2.7
Sybase Control Center 3.2.6
Sybase Control Center 3.2.5
Sybase Control Center 3.2.4
Sybase Control Center 3.2.3
Sybase Control Center 3.2.1
Sybase Control Center 3.2
Sybase Control Center 3.1.1
Sybase Control Center 3.1
Sybase Control Center 3.0.1
Sybase Control Center 3.0
Sybase ETL 4.9
Sybase ETL 4.9 (Simplified Chinese)
Sybase ETL 4.9 (Japanese)
Sybase ETL 4.8
Sybase ETL 4.8 - Simplified Chinese
Sybase ETL 4.8 - Japanese
SAP Sybase Event Stream Processor 5.1 SP04
SAP Sybase Event Stream Processor 5.1 SP03
SAP Sybase Event Stream Processor 5.1 SP02
Sybase Event Stream Processor 5.1 SP01
Sybase Event Stream Processor 5.1
Sybase Event Stream Processor 5.0
Sybase Event Stream Processor 5.0 (Japanese)
SAP Sybase IQ 16.0 SP04
SAP Sybase IQ 16.0 SP03
SAP Sybase IQ 16.0 SP03 (Japanese)
SAP Sybase IQ 16.0 SP03 (Simplified Chinese)
SAP Sybase IQ 16.0 SP2
SAP Sybase IQ 16.0 SP01
SAP Sybase IQ 16.0
Sybase IQ 15.4
Sybase IQ 15.4 (Japanese)
Sybase IQ 15.4 (Simplified Chinese)
Sybase IQ 15.3
Sybase IQ InfoPrimer 15.3
Sybase IQ 15.3 (Japanese)
Sybase IQ 15.3 (Simplified Chinese)
Sybase IQ 15.2
Sybase IQ 15.2 - (Japanese)
Sybase IQ 15.2 (Simplified Chinese)
Sybase IQ 15.1
Sybase IQ 15.1 (Japanese)
Sybase IQ 15.1 - Simplified Chinese
Sybase IQ 15.0
Sybase mBanking 365 3.0
Sybase mBanking 365 2.1
Sybase mBanking 365 2.0
Sybase Mobile Sales for SAP CRM 1.2.1
Sybase Mobile Sales for SAP CRM 1.2
Sybase Mobile Sales for SAP CRM 1.1
Sybase Mobile Sales for SAP CRM 1.0
Sybase Mobile Workflow for SAP Business Suite 1.2.1
Sybase Mobile Workflow for SAP Business Suite 1.2
Sybase Mobile Workflow for SAP Business Suite 1.1
Sybase Mobiliser Platform 5.1 SP03
Sybase Mobiliser Platform 5.1
Sybase Mobiliser Platform 5.0
Sybase SAP DOE Connector 2.1
Sybase SAP DOE Connector 2.0
Sybase Search 3.1
Sybase Unwired Platform 2.2 SP05
Sybase Unwired Platform 2.2 SP04
Sybase Unwired Platform 2.2 SP03
Sybase Unwired Platform 2.2
Sybase Unwired Platform 2.1 ESD #3
Sybase Unwired Platform 2.1 ESD #2
Sybase Unwired Platform 2.1 ESD #1
Sybase Unwired Platform 2.1
Sybase Unwired Platform 2.0 ESD #1
Sybase Unwired Platform 2.0
Sybase Unwired Platform 1.5.5
Sybase Unwired Platform 1.5.3
Sybase Unwired Platform 1.5.2
Sybase Unwired Platform 1.2.4
Sybase Unwired Platform 1.2.2
Sybase Unwired Platform 1.2.1
Sybase Unwired Platform 1.2
Sybase WorkSpace 2.5
Sybase WorkSpace 2.1.2
Sybase WorkSpace 2.1
Sybase WorkSpace 2.0.2
SyBooks 3.4
SyBooks 3.0.1
SySAM Documentation
SySAM Documentation - Japanese
SySAM Documentation - Simplified Chinese
SyBooks Online Infocenter Help