README DataDirect Technologies DataDirect SequeLink Version 6.0 July 2008 *********************************************************************** Copyright (c) 2008 Progress Software Corporation All rights reserved. DataDirect and SequeLink are registered trademarks of Progress Software Corporation in the U.S. and other countries. Any other trademarks or service marks contained herein are the property of their respective owners. *********************************************************************** This READ.ME file contains information about the following topics: 1. What's New 2. Installing SequeLink Server 3. Installing SequeLink Client for ODBC 4. Installing SequeLink Client for JDBC 5. Installing SequeLink Client for ADO 6. Installing SequeLink Client for .NET 7. SequeLink Server Notes 8. SequeLink Client for ODBC Notes 9. SequeLink Client for ADO Notes 10. SequeLink Client for JDBC Notes 11. SequeLink Client for .NET Notes 12. SequeLink Manager Snap-in Notes 13. Migrating from SequeLink 5.x to SequeLink 6.0 14. Contacting DataDirect Technical Support 15. Third Party Vendor License Agreements 1.0 What's New SequeLink 6.0 release provides the following new features: SequeLink Server for z/OS * Unicode enabled, providing full access to DB2 data defined in either Unicode, EBCDIC or ASCII tables. * DB2 V8 new features are fully supported when running in New Feature Mode, including 2 MB SQL statement length, new maximum lengths for Column and Table names etc. * Certified against DB2 v9.1. * Kerberos authentication. SequeLink Client for JDBC * SSL data encryption without the use of Proxy Server. * Kerberos authentication. * Connection failover and client load balancing. * DataDirect Spy(tm) for JDBC Log Connection information. * Java EE 5 and Java SE 6 certified. SequeLink Client for ODBC * 64-bit client support. * SSL data encryption. * Kerberos authentication. * Connection failover and client load balancing. * OpenLDAP support. SequeLink Client for ADO * SSL data encryption. * Kerberos authentication. * Connection failover and client load balancing. * OpenLDAP support. SequeLink Client for .NET * Connection failover and client load balancing. SequeLink Server for ODBC Socket * Support for 64-bit environment. * Support for the latest DataDirect Connect(R) drivers. * Support for Shadow ODBC driver. SequeLink Server for JDBC Socket * Support for BEA LiquidData JDBC driver. SequeLink Server for DB2 * Support for 64-bit environment. * Certified against DB2 v9.1. SequeLink Server for Oracle * Support for 64-bit environment. * Certified against Oracle 10g R2. SequeLink Server for SQL Server * Support for 64-bit environment. * Support for Microsoft SQL Server 2005. SequeLink Server for Sybase * Support for 64-bit environment. * Certified against Sybase 15. SequeLink Server for Informix * Certified against Informix 10. SequeLink administration tools - SequeLink MMC Snap-in and Command Line Administrator * Support Kerberos authentication. * Support SSL data encryption. For a complete list of the databases supported by SequeLink, see: http://www.datadirect.com/products/sequelink/matrix/slwebmatrixosvendorview.htm 2.0 Installing SequeLink Server 2.1 Installing/Uninstalling SequeLink Server on Windows 2000/2003/XP/Vista ------------------------------------------------------------------------- * The SequeLink Server installer for Windows 2000/2003/XP/Vista will prompt you for the user who will be allowed to administer the SequeLink Server using the SequeLink Manager. The user you specify must have administrator rights. If the specified user does not have administrator rights, administration of your SequeLink environment will be severely limited (all actions on SequeLink services will fail). NOTE: The installer will not check whether the user you enter has administrator rights, so you must verify this before installation. * The installation occurs in two phases. In the first phase, the user fills in the dialog with the necessary installation information. Then, the installer copies all the necessary software to your workstation. The installer updates the necessary system information. If a problem occurs during this phase, the installer automatically rolls back. The second phase attempts to start the SequeLink Agent service and the SequeLink data access service. If a problem occurs during this phase, the installation is not rolled back, and the user is notified that the SequeLink Agent or SequeLink Data Access service could not be started. Look in the %TEMP%\slserver.log file or the EventViewer for more detailed information. If the SequeLink Agent service could not be started, use one of the SequeLink administration tools in off-line mode to change the SequeLink Agent service configuration and restart the SequeLink Agent service. In addition, restart the data access service. If the SequeLink data access service could not be started, use one of the SequeLink administration tools to change the SequeLink data access service configuration and restart the SequeLink data access service. * SequeLink installation through Remote Desktop Access and Terminal Services is supported on Windows 2000/XP/2003/Vista. * If you are installing an additional SequeLink Server into the same installation directory where a SequeLink Server is already installed, you must stop all SequeLink Servers and the SequeLink Agent before you install the additional SequeLink Server. After the installation is complete, you can restart all SequeLink Servers. * Before uninstalling SequeLink Server, stop all SequeLink Services. Use the SequeLink Administration Clients or the Services Control Panel to stop any active SequeLink data access services and the SequeLink Agent. * After uninstalling a complete SequeLink Server: - Delete the installation directory. If you do not do this, any new installation into the same directory may fail. If any SequeLink 6.0 Server files or directories still remain on your system, you can safely delete them. - Delete the registry key: HKEY_LOCAL_MACHINE\SOFTWARE\DataDirect\SequeLink60 * If you are uninstalling and receive a failure, the uninstall will roll back. Check the slserver.log file in the temporary directory for details about the failure. If the slserver.log file contains "SequeLink Error 3141: Failed to unregister the OS service because it is not stopped", launch the uninstall again. This failure can occur when Windows 2000/2003/XP/Vista requires more time to stop the SequeLink services. By the time the uninstall runs a second time, the SequeLink services should be stopped. * For database-specific issues with the SequeLink installer for Windows 2000/2003/XP/Vista, see also section 7 of this file. * Installing two SequeLink Servers in two different directories on a Windows platform is not recommended. The installer does not check this and unexpected results may occur: - Performance Monitor settings can be overwritten by the definition of the Event Monitoring Profile of the second SequeLink Server - Uninstalling one SequeLink Server can lead to an unusable MMC Snap-in for the other SequeLink Server. If this occurs, you might need to register the mmcslx.dll, using the following syntax: regsrv32\mmcslx.dll * When using the DataDirect Technologies Product Registration shortcut in the SequeLink program group (ipeexen.exe) on a Windows 2000/2003/XP/Vista machine configured as a multi-user system, the registration process puts the product registration information in the private system Windows directory. However, the SequeLink Server will check the license in the system Windows directory shared by all users. Although the registration will be successful, the server will continue to refuse connections. This scenario occurs, for example, when an evaluation license is expired and the 'DataDirect Technologies Product Registration' short cut is used to enter production license keys. Workaround: Set the environment variable ISLVINI to the Windows system directory shared by all users, for example, ISLVINI=C:\Windows. Then, select the 'DataDirect Technologies Product Registration' short cut. After the registration, unset the ISLVINI environment variable. This problem occurs for example on systems running Terminal Server, because each user has a unique Windows directory. The system Windows directory is shared by all users, so it is the directory where an application should store initialization and help files that apply to all users. 2.1.1 Installing SequeLink Server for JDBC Socket on Windows ------------------------------------------------------------ * When you install the SequeLink Server for JDBC Socket on Windows, the JRE path will automatically be suffixed with \bin and \bin\server. These subdirectories contain the Java Virtual Machine (jvm.dll and its dependencies) for the JRE, installed from the J2SE Development Kit (JDK). This is the recommended JVM to use with the SequeLink Server for JDBC Socket on Windows. If you install the J2SE Runtime Environment (JRE), you will not find a \bin\server directory, but only a \bin\client directory. This JVM is not recommended. 2.2 Installing SequeLink Server on UNIX AND LINUX ------------------------------------------------- * If you are installing an additional SequeLink Server into the same installation directory where a SequeLink Server is already installed, you must stop all SequeLink Servers and the SequeLink Agent before you install the additional SequeLink Server. After the installation is complete, you can restart all SequeLink Servers. * Do not use spaces when specifying a SequeLink Agent name during installation. * For database-specific issues with the SequeLink installer for UNIX and Linux, see also section 7 of this file. * The command tar -xof on RedHat 4.0 64-bit does not work properly, so the installation may fail. To work around this problem, replace line 20 of unixpi.ksh with: TARXF="tar -xf" * Before installing a 64-bit SequeLink Server on a Linux system containing a SequeLink 5.x installation, remove the file /etc/pam.d/sequelink. The installer will not overwrite an existing file /etc/pam.d/sequelink. However, the content must be changed to work properly for a 64-bit SequeLink Server. Using the old /etc/pam.d/sequelink #%PAM-1.0 # Authorisation file for SequeLink Services auth required /lib/security/pam_unix_auth.so account required /lib/security/pam_unix_acct.so will result in a failure in the OSLogon module. This can be fixed by removing the path in the pam modules. #%PAM-1.0 # Authorisation file for SequeLink Services auth required pam_unix_auth.so account required pam_unix_acct.so 2.3 Installing SequeLink Server for z/OS ---------------------------------------- * The installation of SequeLink Server for DB2 on z/OS is explained in detail in the SequeLink Installation Guide. * Recent versions of the Java JRE installation do not always include the charsets.jar file in a typical installation. The charsets.jar file must be available on the client platform for JDBC connections to work properly with SequeLink 6.0 for z/OS. If the charsets.jar is not found in the classpath, a JDBC connection to SequeLink 6.0 for z/OS fails with the following messages. - [DataDirect][SequeLink JDBC Driver]Error occurred during transliteration. - Unsupported VM encoding IBM1047. 3.0 Installing SequeLink Client For ODBC 3.1 Installing and Uninstalling SequeLink Client for ODBC on Windows -------------------------------------------------------------------- * On Windows 2000/2003/XP/Vista, administrator rights are required to install the SequeLink Client for ODBC. Launching the installer without having administrator rights will result in unexpected behavior. NOTE: The installer does not generate an error message when you install without having administrator rights. * SequeLink Client for ODBC requires MDAC 2.7 Service Pack 1. This requirement is checked during installation. If MDAC 2.7 Service Pack 1 is not installed, you can install it from the SequeLink DVD (\mdac\win32). Alternatively, you can download the appropriate version of MDAC from the Microsoft Web site. * Creating Quick Install images is not supported on Windows XP Home Edition. As a workaround, you can create Quick Install images on Windows 2000/2003/XP/Vista; then, run the Quick Install image on Windows XP Home Edition. * If you want to install SequeLink 6.0 Client for ODBC on the same machine as a SequeLink 5.4 or 5.5 Client for ODBC, you must install them into different directories. * After uninstalling SequeLink Client, delete the installation directory. If you do not do this, any new installation into the same directory may fail. If any SequeLink Client files or directories still remain on your system, you can safely delete them. 3.2 Installing and Uninstalling SequeLink Client for ODBC on UNIX and Linux --------------------------------------------------------------------------- For UNIX and Linux, the 64-bit and 32-bit clients are in the same package. 3.2.1 Installing SequeLink Client for ODBC on Solaris ----------------------------------------------------- When you install SequeLink Client for ODBC on Solaris using unixmi.ksh, warnings may be generated when files are extracted from the product tar file. You can ignore these warnings. 3.2.2 Installing SequeLink Client for ODBC on HP-UX --------------------------------------------------- HP-UX patch PHSS_14577 must be installed before you install SequeLink Client for ODBC. This patch is available from Hewlett Packard's Web site (www.hp.com) or at the FTP site (ftp://europe-ffs.external.hp.com/). 4.0 Installing SequeLink Client For JDBC 4.1 Installing SequeLink Client for JDBC on all Platforms --------------------------------------------------------- * If you want to install SequeLink Client for JDBC on the same machine as a SequeLink 5.4 or 5.5 Client for JDBC and run them side-by-side, you must install them into different directories. Also, when you run your applications, make sure that your CLASSPATH points to the correct SequeLink Client for JDBC version. * If you want to upgrade your SequeLink 5.4 or 5.5 Client to SequeLink 6.0 Client for JDBC, you must uninstall SequeLink 5.4 or 5.5 Client before you install SequeLink 6.0 Client for JDBC. * The ddsljc.jar file must be in the directory where you start SequeLink Client for JDBC installer; otherwise, the SequeLink Client for JDBC Installer will be unable to open it. * You must have rights to create files in the directory where you want to install SequeLink Client for JDBC. Launching the installer without having these rights will generate an exception for every file the installer attempts to save. You should make sure that there is sufficient space on the volume and that you have rights to create files. 4.2 Installing SequeLink Client for JDBC on UNIX and Linux ---------------------------------------------------------- * When you install SequeLink Client for JDBC on UNIX and Linux, make sure that the DISPLAY environment variable is set correctly. If you cannot set the DISPLAY variable or do not have a windowing environment on UNIX or Linux, you can install SequeLink Client for JDBC using a command line. For instructions, refer to the section "Command-Line Installation" in the "SEQUELINK INSTALLATION GUIDE" (INSTALL.PDF). * The SequeLink Client for JDBC installer might have problems in displaying the correct size for windows, fonts, bullets, and so on, depending on the X-Windows version and the JDK used during installation. Recommended Workaround: Install SequeLink Client for JDBC using the command line. * After installing SequeLink Client for JDBC on UNIX, execute the following (or similar) command manually from the installation directory: chmod -R ugo+x where is the directory where you installed the SequeLink Client for JDBC. If you do not do this, you cannot execute the shell scripts. 4.3 Uninstalling SequeLink Client for JDBC ------------------------------------------ * To uninstall the SequeLink Client for JDBC, remove the installation directory. 5.0 Installing Sequelink Client for ADO 5.1 Installing and Uninstalling SequeLink Client for ADO on Windows ------------------------------------------------------------------- * On Windows 2000/2003/XP/Vista, administrator rights are required to install the SequeLink Client for ADO. Launching the installer without having administrator rights will result in unexpected behavior. NOTE: The installer does not generate an error message when you install without having administrator rights. * SequeLink Client for ADO requires MDAC 2.7, Service Pack 1. This requirement is checked during installation. If MDAC 2.7, Service Pack 1 is not installed, you can install it from the SequeLink DVD (\mdac\win32). Alternatively, you can download the appropriate version of MDAC from the Microsoft Web site. * Creating Quick Install images is not supported on Windows XP Home Edition. As a workaround, you can create Quick Install images on Windows 2000/2003/XP/Vista; then, run the Quick Install image on Windows XP Home Edition. * If you want to install SequeLink 6.0 Client for ADO on the same machine as a SequeLink 5.4 or 5.5 Client for ADO, you must install them into different directories. * After uninstalling SequeLink Client, delete the installation directory. If you do not do this, any new installation into the same directory may fail. If any SequeLink Client files or directories still remain on your system, you can safely delete them. * After uninstalling SequeLink Client for ADO, SequeLink Configuration Manager and its associated files may not be removed. A new install of SequeLink for ADO Client will not install the SequeLink Configuration Manager over the older version. Therefore, delete SequeLink Configuration Manager after an uninstall: remove all files (except the .ids files) in the directory %BOOTDRIVE%\Program Files\Common Files\DataDirect Shared\Admin. 6.0 Installing Sequelink Client for .NET 6.1 Installing SequeLink Client for .NET on Windows ------------------------------------------------------------------- * On Windows 2000/2003/XP/Vista, administrator rights are required to install the SequeLink Client for .NET. Launching the installer without having administrator rights will result in unexpected behavior. NOTE: The installer does not generate an error message when you install without having administrator rights. * SequeLink Client for .NET requires Microsoft .NET Framework Redistributable 1.x, available for download on the Microsoft Web site. * If you want to use distributed transactions, you must install COM+ Services, which include the Microsoft Distributed Transaction Coordinator (MS DTC). 7.0 SequeLink Server Notes 7.1 SequeLink Server for z/OS ----------------------------- * License verification is done during startup of the Server. Check the "SequeLink installation guide" for details. * The security authorization and authentication attributes have been renamed to avoid possible confusion. The attributes have been changed to Boolean values and renamed as follows: - MVSServiceSecurity is renamed as MVSServiceAuthorizationEnable - MVSServiceAdminSecurity is renamed as MVSServiceAdminAuthorizationEnable - MVSServiceDataSourceSecurity is renamed MVSServiceAuthorizationEnable If you are upgrading from SequeLink 5.5 you should review those attributes. 7.2 Configuring the Thread-Pool Engine (not used on z/OS ) ----------------------------------------------------------- * To allow SequeLink Server to create the number of threads specified by the ServiceMaxThreads attribute, make sure that you have sufficient system resources (and that the UNIX kernel parameter is configured correctly). If you do not have sufficient system resources, SequeLink Server may not start, or may terminate or hang client connections unexpectedly. If resource availability on your system varies substantially depending on the time of day, we recommend that you configure your SequeLink service with ServiceMinThreads equal to ServiceMaxThreads. In that case, the SequeLink service will create all required threads on startup and will not try to acquire more thread-related resources while it is running. * The default settings ServiceMaxThreads and ServiceMaxThreads for the SequeLink Server for JDBC socket must have the same value. See also section 7.8 for more information. * On AIX, the value for ServiceMaxThreads must be equal to or less than 512. * When configuring a SequeLink service, we recommend that you change the default value of DatasourceThreadMaxRPC from 10 to 15 to avoid a database context switch during the connection process. 7.3 SSL notes ------------- In the SSL protocol, both the client and the server need to generate random data for keys and other secrets. The data must be generated in such a way that a knowledgeable attacker cannot guess anything about it. Numbers produced from traditional pseudo-random number generators are not sufficient for security. OpenSSL has its own cryptographic pseudo-random number generator, but it only provides security if it has been "seeded" with enough random information. A seed is a piece of data fed to the generator to get it going. Given a single known seed at startup, the generator produces a stream of predictable outputs. The seed must be a random number, and it needs to be a truly unguessable piece of data of sufficient length to thwart any possible guessing attacks. Usually, you need at least 128 bits of data, where each bit is just as likely to be a 0 as a 1. If you try to use OpenSSL without seeding the random number generator, the library will complain. However, the library has no real way to know whether the seed you give it contains enough entropy. There are hardware devices that do a good job of collecting it, including most of the cryptographic accelerator cards. However, in many cases, hardware is impractical because your software will be deployed across a large number of clients, most of which will have no access to such devices. Many UNIX-based operating systems now come with a random device that provides entropy harvested by the operating system. On other UNIX systems, such as HP-UX, and on Windows systems, you can use tools such as EGADS, a portable entropy collection system. SequeLink has been tested with the EGADS tool. * HP-UX does not always have a "/dev/random" device driver installed; entropy must be gathered with, for example, the Entropy Gathering Daemon (EGD) Therefore the SequeLink Service configured with SSL will not start up on HP-UX: Fri May 25 10:43:10 2007:SLX Sybase. Build 0140 Fri May 25 10:43:10 2007:belg-dax(2 CPU) - HP-UX(B.11.11-U) Fri May 25 10:43:10 2007:srvc.swsrvc.2006.Internal error, fatal server error detected. Fri May 25 10:43:10 2007:SequeLink SSL module.SLSSL_Init.1197(RSEED_SeedRNG) .32.error while initializing random number generator. Fri May 25 10:43:10 2007:SequeLink SSL module.RSEED_SeedRNG.158(RAND_status) .32.error while initializing random number generator. After starting the Entropy Gathering Daemon (EGD) PATH=/opt/perl/bin:$PATH /opt/perl5.6.1/bin/egd.pl /etc/entropy the SequeLink Service configured with SSL will start up. * On UNIX and Linux, the setting ServiceSSLVersions=SSL 3.0 may result in unexpected behavior: (SequeLink Error: 2319) Transport layer security handshake failure. Change the setting to ServiceSSLVersions=TLS 1.0 7.4 DB2 UDB on Windows 2000/2003/XP/Vista ----------------------------------------- * If you are running a Java Transaction API (JTA) or Microsoft Transaction Controller (MS DTC) through a SequeLink Client, set the service attribute ServiceConnectionModel=Process/Connection. Then, restart the SequeLink service to activate the change. If profiles are defined for the service, you must delete and and re-create these profiles after switching to Process/Connection. Then, save your configuration. After saving the configuration, you must restart the SequeLink data access service and the SequeLink Agent service. In addition, you must add the following section to the DB2 configuration file (db2cli.ini): [COMMON] DISABLEMULTITHREAD=1 CONNECTTYPE=2 SYNCPOINT=2 * Warnings on the SQLDriverConnect call to a SequeLink Service set up for enhanced code page support result in unreadable messages of the type ????????????????. Possible workarounds: - To avoid seeing these warnings, set DataSourceDisableWarnings=True. - These warnings are displayed correctly in the session debug log file. Set ServiceDebugLogLevel to Debug, and then look in the log file. 7.5 DB2 UDB on UNIX and Linux ----------------------------- * If you are running a Java Transaction API (JTA) or Microsoft Transaction Controller (MS DTC) through a SequeLink Client, set the service attribute ServiceConnectionModel=Process/Connection. Then, restart the SequeLink service to activate the change. Also, you must enter the shared library axdb2 as the TP_MON_NAME in the Database Manager configuration. If profiles are defined for the service, you must delete and re-create these profiles after switching to Process/Connection. Then, save your configuration. After saving the configuration, you must restart the SequeLink data access service and the SequeLink Agent service. In addition, you must add the following section to the DB2 configuration file (db2cli.ini): [COMMON] DISABLEMULTITHREAD=1 CONNECTTYPE=2 SYNCPOINT=2 * For DB2 on UNIX and Linux: You must use the CATALOG TCP/IP NODE NAME when connecting. If you do not, you will receive a SQLSTATE 55032 with the Diagnostic message SQL1224N at connection when as few as eight concurrent connections have been reached. For example, to connect to a database named OVSdb, enter the following at the command prompt: catalog tcpip node remote 127.0.0.1 server db2cb2inst1 catalog database OVSdb as OVS at node where is any name you choose (NOTE: We used db2v81_l in our example to remind us that the node will be a local node). In our example, the database specified by the SequeLink Client during connection must be OVS. * For DB2 on Solaris or HP-UX: The value of the kernel parameter SEMUME must be equal to the number of concurrent users. If it is not, you will receive the Diagnostic message SQL1032N. * Warnings on the SQLDriverConnect call to a SequeLink Service set up for enhanced code page support result in unreadable messages of the type ????????????????. Possible workarounds: - To avoid seeing these warnings, set DataSourceDisableWarnings=True. - These warnings are displayed correctly in the session debug log file. Set ServiceDebugLogLevel to Debug, and then look in the log file. 7.6 Informix ------------ * Fetching Informix LVARCHAR (and complex data types), multi-set, and list values are not supported by SequeLink. * The following schema filter operations do not work as expected (DataSourceSchemaFilterList attribute): - 'schema filter' does not work when schema is fully specified (for example, ovs001 does not work, but ovs% does). - 'schema filter': current schema does not work. * On UNIX and Linux: Informix supports multiple types of connections to the Informix database engine. The high-performance connections are interprocess communications, onipcshm, and onipcstr. Onipcshm cannot support multithreaded applications; onipcstr does support multithreaded applications. Because SequeLink Server for Informix is a multithreaded application implementing thread sharing for scalability, it requires the onipcstr interprocess communication method. Your database administrator may need to configure Informix to start up a listener thread for this type of interprocess communication. Alternatively, the onsoctcp communication method can also be used, but it may not work as well compared to the onipcstr method. If you reconfigure Informix after installing SequeLink Server for Informix, use SequeLink Manager to navigate to the Configuration\Service Settings\Environment node to change the parameter INFORMIXSERVER. After this change, you must restart this SequeLink service. The different types of connections to the Informix database engine are configured in the Informix etc\sqlhosts configuration file. If you attempt to connect multiple times through SequeLink Server for Informix over the onipcshm connection method, you will receive the Informix error : "-27000 Cannot support multiple connections over shared memory". * When executing ODBC SQLColumns against a table containing Clob or Blob columns, the Column Length information reverts to -1. 7.7 Oracle ---------- * SequeLink Server for Oracle supports both the Oracle Bequeath protocol and Net Service to communicate to the Oracle database engine. Net Service is, however, the most scalable method. SequeLink allows the user to choose this during installation. Refer to the SEQUELINK INSTALLATION GUIDE and the SEQUELINK ADMINISTRATION GUIDE. * SequeLink Server for Oracle requires an Oracle installation on the same machine or, if used in a multi-tier environment, the Oracle client is required. This requirement is not checked by the SequeLink installer. * Unconstrained cursor parameters (also known as REF CURSORs) in stored procedures are supported. * Stored procedures with output parameters LONG and LONG RAW are not supported by SequeLink. Output parameters of type Clob and Blob are only supported by JDBC. * SQLProcedures/getProcedures/PROCEDURES and SQLProcedureColumns/getProcedureColumns/PROCEDURE_PARAMETERS support synonyms of a procedure/function in a package, but only if the synonym owner and the package owner are the same. * When using distributed transactions, the connected Oracle user requires Select privileges on the system view: dba_pending_transactions. * SQLCancel (used in ODBC applications) and Cancel (used in JDBC applications) do not work with SequeLink Server for Oracle on Windows unless the appropriate maintenance release is installed. (Oracle International bug numbers 670996, 914512, and 915306). * When the attribute DataSourceLogonMethod=OSIntegrated (for Kerberos set up for example), connections fail if the SequeLink service is running on UNIX and the default configuration (using the Oracle Bequeath protocol) is changed to any other Oracle driver (for example, IPC or TCP). 7.8 SQL Server -------------- * SequeLink Server for SQL Server 2000 and 2005 requires MDAC 2.7 Service Pack 1 (32-bit platforms). This requirement is checked during installation. If MDAC 2.7 Service Pack 1 is not installed, you can install it from the SequeLink DVD (\mdac\win32). Alternatively, you can download the appropriate version of MDAC from the Microsoft Web site. * If you receive the message "Connection is busy with results for another hstmt" when connected to Microsoft SQL Server, this means an attempt was made to use a statement context "B" while another statement context "A" was still processing results from a stored procedure or from a Microsoft SQL Server SQL batch containing multiple SQL statements. All result sets of stored procedures on statement context "A" should be completely processed before any other statement context can be used. Note that with SequeLink, unlike most other SQL Server ODBC, ADO, and JDBC drivers and providers, you can fetch from multiple cursors opened on simple (non-batch) Select statements simultaneously. * After the installation of SequeLink Server for SQL Server, the SequeLink service is only configured to access the default SQL Server instance on the machine (Server=(local)), the installation is named the local machine name. If you want to install one (or multiple) SQL Server instances under a different name than the default current machine name, the default SequeLink service must be reconfigured to access a non-default SQL Server instance as follows: Using SequeLink Manager, add the following server data source attribute to the SequeLink service: DataSourceMSSConnectOptions=Server= where is the name of the SQL Server instance that you want to access with this server data source. * Valid values for the DataSourceMSSCursorType attribute are: Clientside, Serverside (the default), and Serverside Preserve. Serverside Preserve, although documented, is not implemented in this release. * Warnings on the SQLDriverConnect call to a SequeLink Service set up for enhanced code page support result in unreadable messages of the type ????????????????. Possible workarounds: - To avoid seeing these warnings, set DataSourceDisableWarnings=True. - These warnings are displayed correctly in the session debug log file. Set ServiceDebugLogLevel to Debug, and then look in the log file. 7.9 ODBC Socket --------------- * SequeLink for ODBC Socket 6.0 requires MDAC 2.7, Service Pack 1. This requirement is checked during installation. If MDAC 2.7, Service Pack 1 is not installed, you can install it from the SequeLink DVD (\mdac\win32). Alternatively, you can download the appropriate version of MDAC from the Microsoft Web site. * Warnings on the SQLDriverConnect call to a SequeLink Service set up for enhanced code page support result in unreadable messages of the type ????????????????. Possible workarounds: - To avoid seeing these warnings, set DataSourceDisableWarnings=True. - These warnings are displayed correctly in the session debug log file. Set ServiceDebugLogLevel=Debug, and then look in the log file. 7.10 JDBC Socket --------------- * The SequeLink Service template for JDBC Socket, contains the same values for ServiceMinThreads and ServiceMaxThreads. This is requirement on UNIX, and is recommended on Windows. If these values are not the same, the SequeLink Server for JDBC Socket may crash in the Java VM launched by the SequeLink Server. * Starting up the SequeLink Server for JDBC Socket on z/OS USS requires a region of at least 128 MB, preferably 256 MB. Be sure that the environment where you start this server (for example, a Telnet session or a TSO OMVS session) has enough memory, because the process you start will inherit the region size. Start this server with the shipped JCL example SLUSS1 and specify a large REGION parameter. With this startup JCL you can control this REGION parameter. For more information, see the SEQUELINK INSTALLATION GUIDE. * Using the IBM Java Virtual Machine on AIX version 1.4.2 or higher you might receive the following error in the service log when starting up the SequeLink Service for JDBC Socket: JVMCI200 - ERROR: User register saving is not enabled, Garbage Collection could be incorrect. JVMCI200 - ERROR: because of this the JVM library is explicitly aborting the process JVMCI200 - ERROR: You must either rebuild the executable using "-bM:UR" JVMCI200 - ERROR: or run with "export LDR_CNTRL=USERREGS" [SequeLink error 3151] Failed to start the specified SequeLink service. On AIX machines you must ensure that the ServiceEnvironmentVariable "LDR_CNTRL=USERREGS" and LDR_CNTRL=MAXDATA=0x40000000 is set before start-up of the SequeLink Service for JDBC Socket. If more "LDR_CNTRL" options are being specified, then the options must be delimited, using an "@" as a delimiter - for example, LDR_CNTRL=MAXDATA=0x40000000@USERREGS. For the SequeLink Service for JDBC Socket set the following: ServiceEnvironmentVariable "LDR_CNTRL=MAXDATA=0x40000000@USERREGS". 8.0 Sequelink Client for ODBC Notes 8.1 ODBC Development on UNIX Platforms -------------------------------------- All the ODBC Version 3.x Core Components (header files, etc.) that are required to develop ODBC applications on UNIX are installed into the /include directory of the SequeLink Client for ODBC installation. Please read the license.txt file in the /include directory for applicable licensing information regarding the ODBC Core Components. Contact your DataDirect Sales or Technical Support representative if you have any questions. 8.2 Developing ODBC Applications Using Languages Other than C++ --------------------------------------------------------------- SequeLink Client for ODBC is a C++ shared library. SequeLink Client for ODBC can be used with any language that supports loading a C++ shared library. However, if you are using a programming language other than C++, there are additional steps you must take to ensure that the C++ libraries are initialized correctly when loaded by non-C++ compiled applications. If you are not using C++, consult your compiler documentation for instructions on using C++ shared libraries with your application. 8.3 MS DTC/MTS enablement ------------------------- Starting from Windows XP SP2, MSDTC must be explicitly enabled for XA transactions. Go to "Control Panel" -> "Administrative Tools" -> "Component Services" "Component Services" -> "Computers" -> "My Computer" Right-click on "My Computer" and select "Properties" Select the "MSDTC" tab, and click on "Security Configuration..." Select the check box "Enable XA Transactions" 8.4 MS DTC/MTS When the Driver Is Installed in a Network Directory ------------------------------------------------------------------ Enlistment in MS DTC does not work when the SequeLink Client for ODBC is located on a network location because, by default, MS DTC runs as a Windows service under the system account, which does not have access to networked resources. 8.5 SQLSetConnectr - SQL_ATTR_AUTOCOMMIT ---------------------------------------- Before switching the autocommit mode to SQL_AUTOCOMMIT_ON, the application must explicitly commit or roll back transactions with SQLEndTran; the Client does not automatically commit the current transaction. 8.6 z/OS backward compatibility issue ------------------------------------- SequeLink 6.0 for ODBC Client might report an error using SQLProcedureColumns column 18 - ORDINAL_POSITION can be out of range for a SequeLink 5.5 on z/OS Server. This will be addressed in the upcoming SequeLink 5.5 Server for DB2 on z/OS fixpack. 9.0 SequeLink Client for ADO Notes 9.1 MS DTC/MTS enablement ------------------------- Starting from Windows XP SP2, MS DTC must be explicitly enabled for XA transactions. Go to "Control Panel" -> "Administrative Tools" -> "Component Services" "Component Services" -> "Computers" -> "My Computer" Right click on "My Computer" and select "Properties" Select the "MSDTC" tab, and click on "Security Configuration..." Enable the check box "Enable XA Transactions" 9.2 MS DTC/MTS When the Client Is Installed in a Network Directory -------------------------------------------------------------------- Enlistment in MS DTC does not work when SequeLink Client for ADO is located on a network location because, by default, MS DTC runs as a Windows service under the system account, which does not have access to networked resources. 10.0 Sequelink Client for JDBC Notes 10.1 Using Encryption and SSL on JDK 1.4.2 or higher ---------------------------------------------------- * Because of import control restrictions, the version of JCE policy files that are bundled in the J2SDK, v 1.4.2 or higher environment allow "strong", but limited, cryptography to be used. To use Encryption and Secure Socket Layer (SSL), you must install "unlimited strength" policy files, which contain no restrictions on cryptographic strengths. These policy files can be downloaded by using the link at the bottom of the following URL: http://java.sun.com/javase/downloads/index.jsp From this page, you can also download from previous releases: http://java.sun.com/j2se/1.4.2/download.html http://java.sun.com/j2se/1.5.0/download.jsp Using encryption or SSL without these "unlimited strength" policy files will result in unexpected behavior, such as "java.lang.SecurityException: Unsupported keysize or algorithm", Internal Errors, or "NullPointerExceptions" The demo certificates use strong encryption. Therefore, you must install "unlimited strength" policy files. To allow the JVM to pick up these policy files, the jre/bin directory must be first in the path. 10.2 Kerberos issues ------------------- * The following URL lists some problems that may occur when attempting a login, and suggestions for solving them: http://java.sun.com/j2se/1.5.0/docs/guide/security/jgss/tutorials/ Troubleshooting.html Note especially that on Windows 32-bit and 64-bit editions, a registry change may be required when you get the following error message: [DataDirect][SequeLink JDBC Driver]Authentication failed: Miscellaneous failure, unspecified at the MGSS level. "This exception is thrown when using native ticket cache on some Windows platforms. Microsoft has added a new feature in which they no longer export the session keys for Ticket-Granting Tickets (TGTs). As a result, the native TGT obtained on Windows has an "empty" session key and null EType. The effected platforms include: Windows Server 2003, Windows 2000 Server Service Pack 4 (SP4) and Windows XP SP2." This note is also valid for Windows Vista. 10.3 Running SequeLink Proxy Server as a Windows Service ----------------------------------------------------------- When running SequeLink Proxy Server as a Windows service, make sure that the Virtual Machine (VM) binaries are in the system path. A problem may occur when different VMs are installed on the same machine. For example, the Sun Java 2 JDKs install the executable "java.exe" in the Windows 2000/2003/XP/Vista system32 subdirectory. When starting a service, Windows first searches for executables in the Windows system32 subdirectory, and then, in the directories specified within the system path. If you experience problems starting SequeLink Proxy Server as a Windows service, remove java.exe from the system32 subdirectory or re-install the Java VM you want to use with SequeLink Proxy Server. 10.4 Stopping SequeLink Proxy Server and AWT Event Queue Thread ------------------------------------------------------------------- When starting SequeLink Proxy Server with SSL enabled on a platform with a GUI, you can use the PassPhrase dialog to provide the pass phrase required to decrypt the private key of SequeLink Proxy Server. When using AWT (for example, displaying a dialog), a thread called the "AWT event queue thread for processing GUI events" is automatically started. Because this thread is not marked as a daemon thread, an application will not stop while this thread is running. To solve this problem, you can call System.exit(1). When stopping a SequeLink Proxy Server that has an AWT thread running (for example, by using the PassPhrase dialog), SequeLink Proxy Server will not stop completely because of running AWT threads. You can, however, manually stop the running Virtual Machine (VM) process safely because all necessary cleanup is already done. 10.5 Cancel Functionality ------------------------- * Cancel functionality is supported by SequeLink Client for JDBC when SequeLink Server and the database also support Cancel. * SequeLink 6.0 release does not support JDBC Cancel functionality when the ServiceEncryptionAlgorithm attribute is set at the SequeLink Server, or when you use Secure Socket Layer (SSL). * For more information about Cancel functionality against Oracle databases, refer to Section 7.6 of this readme file. 10.6 Connection method: setAutoCommit ------------------------------------ Before switching to autocommit mode, the application must explicitly commit or rollback transactions; the driver does not automatically commit the current transaction. 10.7 J2EE CTS certification ------------------------------- SequeLink for JDBC 6.0 is J2EE certified with the Compatibility Test Suite (CTS). 11.0 SequeLink Client for .NET Notes 11.1 Enabling the SequeLink for .NET Client with Distributed Transactions ------------------------------------------------------------------------- * The data provider supports distributed transactions on Windows 2000/2003/XP/Vista through the Microsoft Distributed Transaction Coordinator (MS DTC). MS DTC is provided through COM+ Services. The MS DTC components are required to call some unmanaged code, which can affect the level of security available. Applications that do not enlist in MS DTC coordinated transactions use only managed code, even if the DTC components are installed. Unmanaged code is called only if the application performs distributed transaction processing. If maintaining 100% managed code is important in your environment, do not use distributed transactions. - If you did not install the optional MS DTC components, the message "The dependency 'DDTek.DTC' could not be found" is displayed when the application is compiled. This is a harmless message and can be ignored. If your data provider supports MS DTC coordinated transactions, you can avoid receiving this message by installing the MS DTC components. Refer to the SEQUELINK INSTALLATION GUIDE for the instructions to modify the data provider installation and install the MS DTC components. * Starting from Windows XP SP2, MSDTC must be explicitly enabled for XA transactions. Go to "Control Panel" -> "Administrative Tools" -> "Component Services" "Component Services" -> "Computers" -> "My Computer" Right-click on "My Computer" and select "Properties" Select the "MSDTC" tab, and click on "Security Configuration..." Select the check box "Enable XA Transactions" 12.0 SequeLink Manager Snap-In and Command Line Administrator Notes * The SequeLink Manager Snap-in requires the Microsoft Management Console (MMC) version 1.1 or higher. MMC is shipped with Windows 2000/2003/XP/Vista. * The SequeLink Manager Snap-in can be used with Remote Desktop Access and Terminal Services on Windows 2000/2003/XP/Vista. * For more information about running 32-bit and 64-bit Snap-ins in a 64-bit Windows environment, check the following URL: http://msdn2.microsoft.com/en-us/library/aa815172.aspx * Event tracing and monitoring information of SequeLink Service - configured with an enhanced code page support and ServiceCodePage=Database - is reported in ASCII-7bit. Characters that cannot be transliterated are replaced by the replacement character '?' * swcla with command line options has no possibility to use SSL, instead use swcla via the DOS box where you can use the option asrc to connect to the SequeLink Server over a SSL connection. 13.0 Migrating From SequeLink 5.X To SequeLink 6.0 * This SequeLink 6.0 release does not provide a method to upgrade your existing SequeLink Server 5.4 or 5.5 configuration to a SequeLink 6.0 configuration. * SequeLink 5.4 or 5.5 Clients are compatible with SequeLink 6.0 Servers. Similarly, SequeLink 6.0 Clients are compatible with SequeLink 5.4 or 5.5 Servers. * However OLE/DB-ADO or ADO.NET applications connecting to a SequeLink 6.0 Server for z/OS, require a SequeLink 6.0 Client for ADO or for ADO.NET. * Only SequeLink 6.0 services can be configured, managed, and monitored with SequeLink 6.0 Manager. 14.0 Contacting DataDirect Technical Support Before calling DataDirect Technical Support (SupportLink), please collect basic information about your system to help us understand the environment in which you are working and the exact steps we need to perform to reproduce the problem. You can contact SupportLink electronically, by FAX, or by phone. Our Web site at http://www.datadirect.com/support/index.asp connects you to our online support site. Our Web site also gives you access to DataDirect product information, downloads, and online documentation. 15.0 Third Party Vendor License Agreements DataDirect SequeLink includes ICU Version 1.8.1 which is subject to the following license agreement: ICU License - ICU 1.8.1 and later ICU License - ICU 1.8.1 and later COPYRIGHT AND PERMISSION NOTICE Copyright (c) 1995-2003 International Business Machines Corporation and others All rights reserved. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder. ------------------------------------------------------------------------ The DataDirect SequeLink for JDBC includes certain software products made available for distribution by Sun Microsystems, Inc. and are subject to the following limitation: Java(R) Technology Restrictions. You may not modify the Java(R) Platform Interface ("JPI", identified as classes contained within the "java" package or any subpackages of the "java" package), by creating additional classes within the JPI or otherwise causing the addition to or modification of the classes in the JPI. In the event that you create an additional class and associated API(s) which (i) extends the functionality of the Java Platform, and (ii) is exposed to third party software developers for the purpose of developing additional software which invokes such additional API, you must promptly publish broadly an accurate specification for such API for free use by all developers. You may not create, or authorize your licensees to create additional classes, interfaces, or subpackages that are in any way identified as "java", "javax", "sun" or similar convention as specified by Sun in any naming convention designation. ------------------------------------------------------------------------ DataDirect SequeLink includes the OpenLDAP (v.2.2.6) library to access directory services which is subject to the following license agreement: The OpenLDAP Public License Version 2.8, 17 August 2003 Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met: 1. Redistributions in source form must retain copyright statements and notices, 2. Redistributions in binary form must reproduce applicable copyright statements and notices, this list of conditions, and the following disclaimer in the documentation and/or other materials provided with the distribution, and 3. Redistributions must contain a verbatim copy of this document. The OpenLDAP Foundation may revise this license from time to time. Each revision is distinguished by a version number. You may use this Software under terms of this license revision or under the terms of any subsequent revision of the license. THIS SOFTWARE IS PROVIDED BY THE OPENLDAP FOUNDATION AND ITS CONTRIBUTORS "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OPENLDAP FOUNDATION, ITS CONTRIBUTORS, OR THE AUTHOR(S) OR OWNER(S) OF THE SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The names of the authors and copyright holders must not be used in advertising or otherwise to promote the sale, use or other dealing in this Software without specific, written prior permission. Title to copyright in this Software shall at all times remain with copyright holders. OpenLDAP is a registered trademark of the OpenLDAP Foundation. Copyright 1999-2003 The OpenLDAP Foundation, Redwood City, California, USA. All Rights Reserved. Permission to copy and distribute verbatim copies of this document is granted. ------------------------------------------------------------------------ DataDirect SequeLink includes portions created by Eric Young which is subject to the following license agreement: Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved. This package is an SSL implementation written by Eric Young (eay@cryptsoft.com). The implementation was written so as to conform with Netscapes SSL. This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution is covered by the same copyright terms except that the holder is Tim Hudson (tjh@cryptsoft.com). Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be removed. If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation (online or textual) provided with the package. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: "This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)" The word 'cryptographic' can be left out if the rouines from the library being used are not cryptographic related :-). 4. If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement: "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.] ------------------------------------------------------------------------ DataDirect SequeLink includes the OpenSSL Library which is subject to the following license agreements: OpenSSL License Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to endorse or promote products derived from this software without prior written permission. For written permission, please contact openssl-core@openssl.org. 5. Products derived from this software may not be called "OpenSSL" nor may "OpenSSL" appear in their names without prior written permission of the OpenSSL Project. 6. Redistributions of any form whatsoever must retain the following acknowledgment: "This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/)" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------ This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com). Original SSLeay License ----------------------- Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) All rights reserved. This package is an SSL implementation written by Eric Young (eay@cryptsoft.com). The implementation was written so as to conform with Netscapes SSL. This library is free for commercial and non-commercial use as long as the following conditions are aheared to. The following conditions apply to all code found in this distribution, be it the RC4, RSA, lhash, DES, etc., code; not just the SSL code. The SSL documentation included with this distribution is covered by the same copyright terms except that the holder is Tim Hudson (tjh@cryptsoft.com). Copyright remains Eric Young's, and as such any Copyright notices in the code are not to be removed. If this package is used in a product, Eric Young should be given attribution as the author of the parts of the library used. This can be in the form of a textual message at program startup or in documentation (online or textual) provided with the package. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. All advertising materials mentioning features or use of this software must display the following acknowledgement: "This product includes cryptographic software written by Eric Young (eay@cryptsoft.com)" The word 'cryptographic' can be left out if the rouines from the library being used are not cryptographic related :-). 4. If you include any Windows specific code (or a derivative thereof) from the apps directory (application code) you must include an acknowledgement: "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" THIS SOFTWARE IS PROVIDED BY ERIC YOUNG "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The licence and distribution terms for any publically available version or derivative of this code cannot be changed. i.e. this code cannot simply be copied and put under another distribution licence [including the GNU Public Licence.] ------------------------------------------------------------------------ If DataDirect SequeLink is licensed for the Microsoft SQL Server database the following shall apply: DataDirect SequeLink contains a licensed implementation of the Microsoft TDS Protocol. You may only use DataDirect SequeLink to communicate data to and from Microsoft SQL Servers. Additionally, you must separately obtain a license from Microsoft or its channel partners for any Microsoft software products you use. ~~~~~~~~~~~~~~ End of README