![]() |
|
Release Bulletin Software Developer’s Kit 15.7 for IBM AIX
Document ID: DC00370-01-1570-01 Last revised: September 20, 2011
Accessing current release bulletin informationA more recent version of this release bulletin may be available on the Web. To check for critical product or document information added after the product release, use the Sybase® Product Documentation Web site. Accessing release bulletins at the Sybase Product Documentation Web site
Product summarySybase Software Developer’s Kit (SDK) version 15.7 is compatible with IBM AIX 32-bit and 64-bit operating system configuration. For the most current list of supported operating systems, see the Sybase platform certifications page. For a list of platforms, compilers, and third-party products on which SDK is built and tested, see the New Features Bulletin Open Server 15.7 and SDK 15.7 for Windows, Linux, and UNIX. Product componentsFor a list of SDK components and the platforms on which these components are supported, see the New Features Bulletin Open Server 15.7 and SDK 15.7 for Windows, Linux, and UNIX. Availability with 64-bit librariesSDK version 15.7 is available in 64-bit versions. Use the -DSYB_LP64 flag when compiling applications that use the 64-bit libraries. UtilitiesThere are two versions of the bcp, isql, defncopy, cobpre, and cpre utilities; nonthreaded and native-threaded. The native-threaded version names have “_r” suffixes. POSIX threads and pthreads librariesOpen Client™ uses POSIX threads. When you use threaded libraries (*_r), link with the pthreads library. See the Open Client and Open Server Programmers Supplement for UNIX for information about Open Client libraries. Note:DB-Library™ does not support any type of thread interface. IPv6 supportSybase SDK version 15.7 on IBM AIX platforms supports IPv6. This is a sample interfaces file entry: BARNARD_OS master tcp ether barnards.sybase.com 18200 query tcp ether barnards.sybase.com 18200 master tcp ether barnards.v6.sybase.com 18200 query tcp ether barnards.v6.sybase.com 18200 master tcp ether fd77:55d:59d9:165:203:baff:fe68:aa12 18200 query tcp ether fd77:55d:59d9:165:203:baff:fe68:aa12 18200 Note:All master and query lines in the interfaces file must begin with a tab. Sample filesYou can find sample source code files in the SDK installation directory $SYBASE/$SYBASE_OCS/sample.
Special installation and configuration instructionsSee the Software Developer’s Kit and Open Server Installation Guide for your platform for instructions on how to install the software. For guidelines for installing SDK with other Sybase products on the same server, see “Guidelines for installing SDK with other Sybase products”. WARNING! If you install both SDK and Open Server™ in the same directory, Sybase recommends that you use the same version and ESD levels. Because SDK and Open Server share files, using different version and ESD levels can cause product failures. For instructions on configuring your environment, see the Open Client and Open Server Configuration Guide for your platform. For information about compiling and executing Open Client and Open Server applications, including the sample programs, see the Open Client and Open Server Programmers Supplement for your platform. Installing EBFsTo ensure that your installation is the most current, Sybase strongly recommends that, after you install SDK version 15.7, you download and install the corresponding latest available EBF. You can download product updates from Sybase Downloads. To verify that you are using the correct version of SDK, enter the following command to check the version string of the SDK library: isql -v A sample SDK version string might be Sybase Client-Library/15.7/A-EBFXXXX ESD #X, where XXXX identifies the Client-Library file and the other SDK files. Installing SDK 15.7 on top of SDK 15.5SDK version 15.7 is a shelf replacement for version 15.5. When you install SDK 15.7 into an existing SDK 15.5 directory, version 15.7 files overwrite the 15.5 files. Sybase recommends that you back up your SDK 15.5 directory before you install SDK 15.7. Running InstallAnywhere and InstallShield Multiplatform installersSome of the files generated by InstallAnywhere and InstallShield Multiplatform share the same file names. This becomes an issue when you use both InstallAnywhere and InstallShield technologies to install or uninstall products in the same installation directory, because files that are used by both installers are overwritten or removed without warning. Sybase recommends that you do not use InstallShield and InstallAnywhere to install to or uninstall from the same installation directory.
Changed functionality in this versionChanged functionality for Sybase SDK 15.7 is described in the New Features Bulletin Open Server 15.7 and SDK 15.7 for Windows, Linux, and UNIX.
Known problemsThis section describes all of the known issues that exist in this version. ct_poll stops responding on IBM AIX[CR #547797] ct_poll() stops responding when runs on IBM AIX. Workaround: Set the AIXTHREAD_SCOPE environment variable to “S”. Client-Library issuesThis section describes the known problems and workarounds, if any, for Client-Library. Row format suppression[CR #682932] When using Client-Library with an Adaptive Server® that has enabled row format suppression, an error occurs. Workaround: Do not enable row format suppression in Adaptive Server if the application has prepared statements that return more than a single row. Adaptive Server Enterprise ODBC Driver issuesThis section describes the known problems and workarounds, if any, for Adaptive Server® Enterprise ODBC Driver. Bulk insert routines cannot support in-row LOB columns in APL tables[CR #682086] The bulk insert functionality of the ODBC Driver available with SQLBulkOperations has not been tested with large object (LOB) columns marked for in-row storage on allpages-locked (APL) tables. Using this API against such APL tables could result in errors or corrupted data. Workaround: Do not mark LOB columns for in-row storage on APL tables if you are using SQLBulkOperations to bulk load data into the tables. Use SQLSetDescField to set decimal or numeric datatypesYou see an error if you do not specify the precision and scale using the ODBC API method – SQLSetDescField – when retrieving data from numeric or decimal columns in a table. Workaround: Specify the SQLSetDescField with value types SQL_DESC_PRECISION and SQL_DESC_SCALE. This code illustrates how to retrieve a numeric column from a table specifying a precision and scale. /*
Insert values
Execute select statement
*/
/*
Fetch Values
*/
#define ROW_SIZE 10
SQLRETURN sr;
SQL_NUMERIC_STRUCT g[ROW_SIZE];
SQLLEN gLen[ROW_SIZE];
SQLINTEGER intVal[ROW_SIZE];
SQLLEN intLen[ROW_SIZE];;
sr = SQLBindCol(hStmt, 1, SQL_C_LONG, intVal, sizeof(SQLINTEGER), intLen);
sr = SQLBindCol(hStmt, 2, SQL_C_NUMERIC, g, sizeof(SQL_NUMERIC_STRUCT), gLen);
SQLHDESC hdesc = NULL;
SQLGetStmtAttr(hStmt, SQL_ATTR_APP_ROW_DESC, &hdesc, 0, NULL);
SQLSetDescField(hdesc, 2, SQL_DESC_PRECISION, SQLPOINTER) 5, 0);
SQLSetDescField(hdesc, 2, SQL_DESC_SCALE, (SQLPOINTER) 2, 0);
SQLUSMALLINT rowStatus[ROW_SIZE];
sr = SQLSetStmtAttr(hStmt, SQL_ATTR_ROW_STATUS_PTR, rowStatus, 0);
for (short i = 0; i < ROW_SIZE; i++)
{
memset(&g[i], '\0', sizeof(SQL_NUMERIC_STRUCT));
memset(g[i].val, 0, 16);
}
sr = SQLFetch(StatementHandle);
See the Microsoft ODBC API Reference. Installer issuesThis section describes the known problems you might encounter when installing SDK. Installer fails to launch when path to setup.bin contains “..”[CR #595582] The installer fails to launch if you specify a path to setup.bin that contains “..”. Workaround: Ensure that the path to setup.bin does not contain “..”. Feature names are not validated when installing in silent mode[CR #583979] The installer does not validate feature names specified in the response file when you install in silent mode. Workaround: Ensure that the specified feature names are correct.
Product compatibility and interoperabilityThis section contains information about products that are compatible with SDK 15.7. For a list of platforms, compilers, and third-party products SDK is built and tested on, see the New Features Bulletin Open Server 15.7 and SDK 15.7 for Windows, Linux, and UNIX. Interoperability matrixTable 1 shows the interoperability matrix of SDK, Open Server, Adaptive Server Enterprise, and Replication Server® that are installed on the same machine. For specific platform information, refer to the respective product certification reports. Although two or more products can be interoperable, remember that new features introduced in a newer version of a product may not be supported with older versions of the same or other products.
Note:The SDK interoperability information shown in Table 1 is relevant only if the interoperable products are installed in different $SYBASE directories. Guidelines for installing SDK with other Sybase productsFollow these guidelines if you are installing SDK on the same machine with other Sybase products:
SDK and Open Server compatibilityFor SDK and Open Server compatibility, the header files included in an application must be the same version level as the library with which the application is linked. DB-Library compatibility with Client-LibraryDB-Library compatibility issues include:
For help on converting a DB-Library application to a Client-Library application, see the Open Client Client-Library Migration Guide.
Programming issuesThis section describes programming issues relevant to Open Client and Embedded SQL™. General issuesThis section describes programming issues for all Open Client products. Upgrading to a new versionFor statically and dynamically linked Open Client applications (dblib, ctlib, and esql), Sybase recommends the following:
Note:If you have made any changes to the application files, you must recompile. Ensure that the runtime libraries are for the same major release as the version used to build the application. Client-Library issuesThis section describes programming issues of Client-Library. ct_pollDo not call ct_poll from within any Client-Library callback function or from within any other function that can execute at the system-interrupt level. Calling ct_poll at the system-interrupt level corrupts Open Client and Open Server internal resources and causes recursion in the application. Asynchronous operationsTo properly exit Client-Library, wait until all asynchronous operations are complete, then call ct_exit. If an asynchronous operation is in progress when ct_exit is called, the routine returns CS_FAIL and does not exit Client-Library properly, even when CS_FORCE_EXIT is used. Client-Library fully supports asynchronous operations on UNIX platforms. See “Asynchronous Programming” in the Open Client Client-Library/C Reference Manual. Registered procedure notificationsThe CS_ASYNC_NOTIFS connection property controls how a Client-Library application receives registered procedure notifications from an Open Server application. Currently, the Open Server application sends a notification to the client as one or more Tabular Data Stream™ (TDS) packets. However, the client application does not learn of the notification until Client-Library reads the notification packets from the connection and invokes the application’s notification callback. To trigger the application's notification callback on a connection that is otherwise idle, set CS_ASYNC_NOTIFS to CS_TRUE for ct_poll. In other words, unless the application is actively sending commands and reading results on the connection, it does not receive notifications when CS_ASYNC_NOTIFS is CS_FALSE (the default). Security sample programsThe secsrv_krb Server-Library and secct_krb Client-Library sample programs illustrate Open Client and Open Server applications that use CyberSafe security mechanisms. To run these sample programs, verify that CyberSafe is installed and configured. Then set the SYBPLATFORM environment variable to “nthread_rs6000”. Embedded SQL issuesThis section describes programming issues specific to:
For a list of platforms on which Embedded SQL/C and Embedded SQL/COBOL are available, see the New Features Bulletin Open Server and SDK for Windows, Linux, and UNIX. Sharing Embedded SQL/C objects among multiple threadsBy default, Embedded SQL/C connections, cursors, and dynamic statements cannot be shared by multiple threads. The namespace for each of these object types is limited to the currently executing thread; one thread cannot refer to objects that were created by another thread. Objects can be shared by setting the macro CONNECTIONS_ARE_SHARED_ACROSS_THREADS to 1 by using the -D compiler option when compiling the sybesql.c module. WARNING! If Embedded SQL/C objects are shared by multiple threads, the application programmer must add thread serialization code to ensure that objects associated with a single connection are not used simultaneously by multiple threads. Normally, dynamic descriptors can be shared by multiple threads. To give each thread its own namespace for dynamic descriptors, when compiling the sybesql.c module, use the -D compiler option to set the macro DESCRIPTOR_SCOPE_IS_THREAD to 1. Precompiler -p optionApplications that rely on inserting empty strings instead of NULL strings when the host string variable is empty does not work if the -p option is turned on. The persistent bind implementation prevents Embedded SQL from circumventing Client-Library protocol (which inserts NULL strings). Error or warning prevents with select into statementsYou can retrieve multiple rows with a single select into statement by using arrays as output host variables. If no errors or warnings occur, all selected rows are returned up to the limit of the length of the arrays. However, if a truncation, conversion warning, or error occurs, rows are returned only up to and including the row where the error or warning occurred. To ensure receiving all rows, use a cursor and continue fetching until there are no more rows. Embedded SQL/C sample programsWhen you enter an incorrect password, sample programs example1.pc and example2.pc generate incorrect error numbers. You can ignore these numbers. Embedded SQL/COBOL sample programsThe shared library path for compiling the sample programs must include $COBDIR/lib and $SYBASE/$SYBASE_OCS/lib. The path must also include $COBDIR/bin and $SYBASE/bin.
Documentation clarificationsThe New Features Bulletin for Open Server 15.7 and SDK 15.7 GA includes complete feature descriptions. Installation Guides and Release Bulletins are also updated for version 15.7. In addition, new guides for Perl, Python, and PHP scripting languages are available as a part of SDK 15.7. For all other information about Open Server and SDK, see the Open Server 15.5 and SDK 15.5 documentation.
Technical supportEach Sybase installation that has purchased a support contract has one or more designated people who are authorized to contact Sybase Technical Support. If you have any questions about this installation or if you need assistance during the installation process, ask the designated person to contact Sybase Technical Support or the Sybase subsidiary in your area.
Other sources of informationUse the Sybase Getting Started CD and the Sybase Product Documentation Web site to learn more about your product:
Sybase certifications on the WebTechnical documentation at the Sybase Web site is updated frequently. Finding the latest information on product certifications
Finding the latest information on component certifications
Creating a personalized view of the Sybase Web site (including support pages) Set up a MySybase profile. MySybase is a free service that allows you to create a personalized view of Sybase Web pages.
Sybase EBFs and software maintenanceFinding the latest information on EBFs and software maintenance
Accessibility featuresThis document is available in an HTML version that is specialized for accessibility. You can navigate the HTML with an adaptive technology such as a screen reader, or view it with a screen enlarger. SDK documentation has been tested for compliance with U.S. government Section 508 Accessibility requirements. Documents that comply with Section 508 generally also meet non-U.S. accessibility guidelines, such as the World Wide Web Consortium (W3C) guidelines for Web sites. Note:You might need to configure your accessibility tool for optimal use. Some screen readers pronounce text based on its case; for example, they pronounce ALL UPPERCASE TEXT as initials, and MixedCase Text as words. You might find it helpful to configure your tool to announce syntax conventions. Consult the documentation for your tool. For information about how Sybase supports accessibility, see Sybase Accessibility. The Sybase Accessibility site includes links to information on Section 508 and W3C standards.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||