Release Notes for solidDB 6.0 This product package comprises of the Release of solidDB 6.0. It includes all available internal table engines and all options. The included evaluation license enables all capabilities of the product, with the database age limitation of 60 days, counted from the day a database is created. RELEASE NOTES CONTENTS 1. New Features in solidDB 6.0 * 1.1 Key Features * 1.2 Version Compatibility * 1.3 Improvements to Multiprocessor Scalability of the In-memory Engine * 1.4 Transparent Connectivity * 1.5 Database Encryption * 1.6 Improvements in the SQL Support * 1.7 Other Enhancements 2. solidDB 6.0 Development Kit System Requirements 3. Note for Evaluators 4. Upgrading to solidDB 6.0 * 4.1 solidDB Product Family * 4.2 Moving Database Files Among Solid Products * 4.3 Upgrade Tips 5. Product Package Contents * 5.1 Installation Directory Structure * 5.2 Library File Names 6. solidDB 6.0 Development Kit Installation 7. How to Continue with the Development Kit 8. Available Interfaces for Client Application Development * 8.1 JDBC Driver 2.0 * 8.2 ODBC Driver 3.5.x 9. Solid Java Accelerator information 10. Known Limitations, Problems, And Workarounds in Version 6.0 11. Additions And Corrections to Documents 12. Operating-System Specific Information for solidDB for 64-bit Windows 13. How to Get More Information on the solidDB 6.0 Development Kit 14. SolidConsole Availability 15. Uninstalling solidDB 6.0 1. New Features in solidDB 6.0 1.1 Key Features Version 6.0 focuses on the following areas: * Multiprocessor (MP) scalability of the In-memory Engine * New Transparent Connectivity for HotStandby * Database encryption * Improved SQL support * Improved Replica refresh in SmartFlow 1.2 Version Compatibility solidDB 6.0 is backwards compatible with the previous version in terms of external interfaces. Note, however, that 6.0 is not database-compatible with previous versions. This means that the command line option "-x convert" or "-x autoconvert" must be applied when migrating to a new version with an old database. If you are intending to use the CarrierGrade Option (HSB), note that this version is HSB-compatible with the previous version, meaning that the normal HSB cold and hot migration scenarios can be applied (see solidDB High Availability User Guide). If you are migrating an HSB system from an earlier version than 4.1, see the HotStandby Migration section on the Welcome page (or the 'hsb_migration.txt' file). ODBC and JDBC drivers preceding version 6.0 can be used with the server version 6.0. However, the new versions (6.0) of the ODBC and JDBC drivers cannot be used with older servers. Thus, the servers must be upgraded before the clients. In any case, the client drivers must be upgraded if new client functionality is needed. 1.3 Improvements to Multiprocessor Scalability of the In-memory Engine Solid's In-memory Engine (IME) has been improved to take advantage of modern multiprocessor and multicore SMP platforms. With the total number of processor cores exceeding two, significant increase in performance over version 4.5 can be observed. The performance gain for certain applications may exceed 100%, with total number of cores being over eight. 1.4 Transparent Connectivity Transparent Connectivity (TC) replaces Carrier-Grade Connectivity of version 4.5. Transparent Connectivity incorporates both transparent failover and load balancing. The new load balancing feature allows to distribute the read-only load over the Primary and Secondary. A new connect info string, TC Info, is introduced, allowing to specify the failover and load balancing options. Transparent Failover The speed of failover has been improved and a new transparent failover level SESSION has been added. With the SESSION level, most of the session state is preserved over failover, including prepared statements and session attributes set by the user. The following is an example of a new TC Info string for SESSION-level failure transparency (in C): char tcinfo[] = " TF_LEVEL=SESSION SERVERS= tcp srv1.dom.acme.com 1315, tcp srv2.dom.acme.com 1316"; Load Balancing New in solidDB 6.0 is a capability to distribute the read-only load between the Primary and Secondary. This happens automatically, when the preferred access mode READ_MOSTLY is specified, in the TC Info: char tcinfo[] = " TF_LEVEL=CONNECTION PREFERRED_ACCESS=READ_MOSTLY SERVERS= tcp srv1.dom.acme.com 1315, tcp srv2.dom.acme.com 1316"; NOTE: The default value of PREFERRED_ACCESS is WRITE_MOSTLY corresponding to the HSB operation whereby all the load is concentrated in the Primary. For more about TC, see Chapter 4, Using HotStandby with Applications -> Using the Transparent Connectivity, in the solidDB High Availability User Guide. . 1.5 Database Encryption The database file can be encrypted with a symmetric key. This measure protects the contents of a database against a file theft, and an effort to use the file by an unauthorized user. Additionally, the encryption key stored in the database file can be protected with a password and the public key protection method. For more information on the database encryption, see Chapter 2, Administering solidDB -> Encrypting a Database, in the solidDB Administrator Guide 1.6 Improvements in the SQL Support Hierarchical Queries with START WITH ... CONNECT BY A non-standard SQL extension supporting hierarchical queries has been added. The syntax is supported by several products. A hierarchical structure is represented by a table that has a foreign key referencing the same table, for example, in this table an employee hierarchy is represented: create table employees( employee_id int primary key, last_name char(30), manager_id int references employees); The following query returns all employees reporting directly or indirectly to a manager having last name Cambrault: SELECT last_name, employee_id, manager_id, LEVEL FROM employees START WITH last_name = 'Cambrault' CONNECT BY PRIOR employee_id = manager_id ORDER SIBLINGS BY last_name; For exact syntax, see Appendix B, Solid SQL Syntax, in solidDB SQL Guide Expression lists in the set test (IN condition) The SQL set test (called also the IN predicate) allows now for expression lists on the left side of the IN operator. Example: SELECT * FROM employees WHERE (first_name, last_name, email) IN (('Guy', 'Himuro', 'ghimuro@acme.com'), ('Karen', 'Colmenares', 'kclmena@acme.com')); Multirow INSERT Now, it is possible to perform batch inserts at the SQL level. For example, to insert four rows in one statement, use the following: INSERT INTO employees VALUES (10021, 'Peter', 'Humlaut'), (10543, 'John', 'Wilson'), (10556, 'Bunba', 'Olo'), (10666, 'Pikku', 'Joulu'); Output Parameters in Stored Procedures In addition to returning procedure results in a result set defined with the (non-standard) RETURNS clause, standard-compliant output parameters can be declared. A parameter mode describing the input-output characteristic is introduced, and it can be one of the following: IN, INOUT and OUT. IN is the default value. For example: CREATE PROCEDURE enter_participants (OUT no_of_persons integer, adults integer, children integer, pets integer) BEGIN ... END For more about stored procedures, see Chapter 3, Stored Procedures, Events, Triggers, and Sequences -> Stored Procedures, in solidDB SQL Guide. 1.7 Other Enhancements Light-weight Replica Refresh in SmartFlow A new, "storageless" SmartFlow refresh interface is introduced. Each command blocks until it is successfully executed. The associated data is sent in a streaming way, conserving memory. No messages are written to disk, saving the I/O bandwidth. The syntax used is the following: REFRESH [] [FULL] [OPTIMISTIC|PESSIMISTIC] [TIMEOUT {DEFAULT | FOREVER | } ] 2. solidDB 6.0 Development Kit System Requirements solidDB Development Kit requires: * about 48.0 MB of disk space, including the space for documentation. (The number varies considerably, depending upon the platform.) * at least 40 MB of free central memory in the default configuration. * if you create main-memory tables, then you will need additional memory to store those tables. * adequate disk space for the database(s). An empty database usually requires about 4 megabytes of disk space. 3. Note for Evaluators The evaluation license limits the length of time that you can use the product. To learn how to get a more extensive evaluation license or how to purchase a full license, please see the OrderMe section on the Welcome page. 4. Upgrading to solidDB 6.0 The solidDB 6.0 product family is almost 100% backwards compatible with previous Solid database engines, including BoostEngine 4.0 - 4.5, FlowEngine 3.x, and EmbeddedEngine 3.5x. This section describes upgrade issues and compatibility issues in more detail. Note that these descriptions generally assume that you are upgrading from version 4.5. For example, in the section that describes new configuration parameters, we describe only those parameters that are new since version 4.5. If you are upgrading from a version other than 4.5 see section Migrating from Earlier Versions. 4.1 solidDB Product Family Configuration Parameters The following configuration parameters are new or changed in version 6.0. These parameters are documented in Appendix A of the solidDB Administrator Guide. New Parameters (default value shown) [Cluster] ; new section name ReadMostlyLoadPercentAtPrimary=50 ; Percentage of read load ;directed to the Primary [Com] ;Parameters for controlling the value of the TCP socket linger option: SocketLinger=Yes SocketLingerTime=0 ;system default ;Parameters for controlling the TPC socket option SO_KEEPALIVE: TcpKeepAlive=No TcpKeepAliveIdleTim=7200 TcpKeepAliveProbeCoun=9 TcpKeepAliveProbeInterval=75 [General] DataDictionaryErrorMaxWait=0 ;max time to re-execute statement LockHashSize=1000 ;lock hash table size for pessimistic D-tables MaxMergeParts=100 ;max number of merge division parts MaxMergeTasks=5 ;max number of concurrent merge tasks ReadLevelMaxTime=10 ;read level advance time, in read committed StartupForceMerge=No ;forcing merge at startup TransactionEarlyValidate=Yes ;enabling early validation in optimistic VersionedPessimisticReadCommitted=Yes ;enabling non-blocking reads VersionedPessimisticRepeatableRead=Yes ;enabling non-blocking reads [Logging] LogDir=. ;directory for log files [Srv] AdaptiveRowsPerMessage=Yes ;enabling dynamic control of rows per message MemorySizeReportInterval=0 ;enabling reporting on the allocated memory DatabaseSizeReportInterval=0 ;enabling reporting on db size growth PessimisticTableUseNFetch=No ;enabling rows per massage for pessimistic StatementMemoryTraceLimit=0 ;trace statements overallocating memory [Synchronizer] MasterStatementCache=10 ;number of statements cached at Master, ;per population RefreshReadLevelRows=1000 ;refresh block size, in rows, in Master ReplicaRefreshLoad=100 ;refresh load in Replica, per cent New Command Line Options -E (encrypt a database) -x decrypt (decrypt a database) -S (encryption password) -x keypwdfile: (encryption password file) Examples: Encrypting a database, with a password: solid -E -S fhkasfh66 Starting an encrypted database with a password supplied in a file: solid -x keypwdfile:password_file.txt Changing the password solid -E -S fhkasfh66 -S huha222 SQL Statements Below is a list of new and changed SQL commands. CREATE PROCEDURE Standard compliant clauses have been added to indicate input and output parameters. Example: CREATE PROCEDURE enter_participants (OUT no_of_persons integer, adults integer, children integer, pets integer) BEGIN ... END SELECT New syntax have been added to support hierarchical queries. Example: SELECT last_name, employee_id, manager_id, LEVEL FROM employees START WITH last_name = 'Cambrault' CONNECT BY PRIOR employee_id = manager_id; The set test predicate has been extended to support expression lists: SELECT * FROM employees WHERE (first_name, last_name, email) IN (('Guy', 'Himuro', 'ghimuro@acme.com'), ('Karen', 'Colmenares', 'kclmena@acme.com')); New Messages and Error Codes Errors returned to the client 10098, Database, Error, Incrementing sequence failed 10099, Database, Fatal Error, Encryption password has not been given for encrypted database. 10100, Database, Fatal Error, Incorrect password has been given for encrypted database. 10101, Database, Fatal Error, Unknown encryption algorithm. 13198, Table, Error, Commit and rollback are not allowed inside function 13200, Table, Error, Update failed, used isolation level requires FOR UPDATE 13201, Table, Error, Delete failed, used isolation level requires FOR UPDATE 13202, Table, Error, Cluster connection does not support isolation levels higher than READ COMMITED 13203, Table, Error, License does not allow creating D-tables 13204, Table, Error, SET WRITE command makes sense only for TC connection 23029, Procedure, Error, Commit and rollback are not allowed in functions 23030, Procedure, Error, Function not found Server-side messages 30154, SRV, Message, Statement has allocated bytes of memory 30217, DBE, Message, Error when converting procedures, procedure 30218, DBE, Message,Quick merge stopped 30541, HSB, Message, Secondary is not properly syncronized with primary due to a log file corruption. 30792, HSB, Message, Both servers are Secondary. License Files License files must be upgraded to include validation for version 6.0. 4.2 Moving Database Files Among Solid Products A database file created with one member of the solidDB 6.0 product family can be used interchangeably with any other member of that family. The database file structure has changed since previous versions. Version 6.0 server cannot open a database file created with an older version unless you specify one of the following command line parameters: * -x convert (to convert the database file to the new structure and then shut down the server), or * -x autoconvert (to convert the database file and continue running) Once the database file is converted to a new structure, older versions of Solid products cannot use it. When HotStandby (CarrierGrade Option) is in use and there is a need to perform the so-called "hot migration" (rolling upgrade), no special HSB migration parameters are needed if upgrading from versions 4.1, 4.2 or 4.5. When upgrading from Solid version 3.1, 3.7 or 4.0, the following parameter must be used with the server meant to become a new Secondary: * -x migratehsbg2 (to accept the replication protocol of the older version; note that -x autoconvert is implicitly invoked too) Note that the change of the database file structure or the change of the version of the engine product does not affect client programs. Previously built client programs can be used to communicate with solidDB 6.0. 4.3 Upgrade Tips Solid continues its policy of supporting upgrades from at least two previous Solid product versions. In this case, you can upgrade to solidDB 6.0 from Database Engine 4.5, and 4.2. You can use your existing database as long as you specify either -xconvert or -xautoconvert on the command line. If you are using the Solid CarrierGrade Option (HotStandby), then please see the section "HotStandby Migration" on the Welcome page for different migration scenarios depending on the version you are migrating from. These release notes also contain information helping you to upgrade from older versions. If you are upgrading from a version prior to FlowEngine 3.1, such as FlowEngine 3.0, then please contact Solid technical support for assistance in upgrading. 5. Product Package Contents 5.1 Installation Directory Structure solidDB Development Kit is distributed as a .exe file that will install itself when you run it. Below is a list of the files and directories that are included in the package and installed in the root of the installation directory. \Program Files\Solid\solidDB6.0\ welcome.html .............: home page of the package documentation copy_licenses.bat ........: This is a handy script for copying a : solid license file to all the sample : directories. Note that the extension can : vary depending upon the platform. README.TXT ...............: readme file solid.lic ................: evaluation license file bin\ .....................: Solid executables. doc_html\ ................: HTML-based package documentation doc_text\ ................: ASCII-based package documentation eval_kit\ ................: standalone\ ..........: Sample usage of solidDB include\ .................: C headers for SQL API and light client jdbc\ ....................: JDBC Driver Java package lib\ .....................: C Libraries for SQL API and light client manuals\ .................: Manuals - product manuals in different formats odbc\ ....................: standalone ODBC driver installer samples\..................: These subdirectories contain sample C and : Java programs and sql scripts for using : and programming solidDB : and its options. aclib\ ...............: AcceleratorLib. aclib_control_api\ ...: AcceleratorLib demo on how to use/suspend : tasks using the AcceleratorLib functions aclib_diskless\.......: Diskless AcceleratorLib sample aclib_java\...........: Sample for use with the Solid Java : Accelerator. aclib_smartflow\......: AcceleratorLib SmartFlow sample cluster\ .............: Load-Balancing Cluster example configuration\ .......: Solid.ini file examples hsb\..................: HotStandby sample application_c\ ...: C-language HotStandby example application_java\ : Java language HotStandby example setup\ ...........: HotStandby example startup scripts watchdog\ ........: Sample program to serve as a HotStandby : "watchdog" program (detects and responds to : server failures). importexport\ ........: Data import and export examples soldd\ ...........: Show info in Data Dictionary solexp\ ..........: export data solload\ .........: import ("load") data jboss\ ...............: JBoss sample jdbc\ ................: jdbc samples lightclient\ .........: Light Client API sample programs : (Not supported on all platforms) odbc\ ................: client C language samples smartflow\ ...........: Samples that use Solid SmartFlow eval_setup\ ......: SQL scripts for setting up SmartFlow intelligent_transaction\: SQL scripts for Intelligent : Transaction examples. sync_pull_notify\ : Example that uses Sync Pull Notify solid_api\ ...........: solid_api C language samples sql\ .................: sql examples. tf\ ..................: transparent failover sample weblogic\ ............: WebLogic sample websphere\ ...........: WebSphere sample 5.2 Library File Names Overview This section gives more information about the names of solidDB library files. Solid provides many files as linkable libraries. Most of these library files fall into one of the following categories: * ODBC Drivers * Solid AcceleratorLib files * Communication library files * SA (Server API) library file Not all platforms have every file. For example, some communication library files are available on Windows only. Some library files are static - that is, they are linked to your client application's executable program when you do a compile-and-link operation. Other library files are dynamic - these files are stored separately from your executable and are loaded into memory when your program executes. For many libraries, Solid provides both a static and a dynamic version on some or all platforms. Library files are generally found in one of two directories: * bin\ * lib\ As a rule, the bin\ directory contains dynamic libraries (in addition to executables), while the lib\ directory contains static libraries. The lib\ directory also contains the import libraries. Which File Names Are Used for Which Dynamic Libraries? The names of most Solid dynamic library files follow a particular pattern. This section explains how to "decode" a library file name based on that pattern. For example, the file socw6460.dll is the ODBC (Unicode) driver for solidDB 6.0 on Windows. We break down the file name socw6460.dll as shown below: * s = indicates whether this is a regular release ("s") or a beta release ("b"). * oc = ODBC (unicode) driver * w64 = Windows 64-bit platform * 60 = Version 6.0 * .dll = Windows Dynamic Link Library More generally, the naming convention is shown below: rLLpppVV.eee where * r = beta (b) vs. GA (s) * LL = Library's "purpose" One of the following: * ac: ODBC ASCII library * dn: DECNet communication protocol link library * lc: Light Client (on some platforms) * nb: NetBios communication protocol link library * np: NamedPipes communication protocol link library * oc: ODBC unicode library * os: ODBC Driver Manager (for Windows only) * sa: SA API library * sm: Shared Memory communication protocol link library * sx: SPX/IPX communication protocol link library * tc: TCP/IP communication protocol link library * VV = First two digits of the version, for example 45 for 4.5, 60 for 6.0, etc. * eee = platform-specific filename extension, usually one of the following: * .DLL Dynamic Link Library for Windows * .so (Shared Object) for Solaris and Linux * .sl (Shared Library?) for HP-UX Most of these fall into one of two categories: * Solid API files (sa, ac, oc, lc) * communication libraries (dn, nb, np, sm, sx, tc). Note that most communication libraries are used only on Windows. * ppp = Platform. The common platform abbreviations include: * w32: Windows 32-bit (x86) * w64: Windows 64-bit (x86) * h1x: HP-UX 11 32-bit * h1x64: HP-UX 11 64-bit (PA-RISC) * hia64: HP-UX 11 64-bit (IA64) * s8x: Solaris 8 (SPARC, 32-bit) * s9x: Solaris 9 (SPARC, 32-bit) * s9x64: Solaris 9 (SPARC, 64-bit) * s0x: Solaris 10 (SPARC, 32-bit) * s0x64: Solaris 10 (SPARC, 64-bit) * s0xi: Solaris 10 (ix86) * s0xi64: Solaris 10 (ix86, 64-bit) * l2x: Linux for x86 * l2x64: Linux for x86, 64-bit * qnx: QNX for x86 * qpx: QNX for PPC * a5x: AIX 5 On Windows, Solid provides many library files as .DLL files. These are copied to two places: * bin\ directory under the Solid root directory, and * \SYSTEMROOT\SYSTEM32\ The .DLL files include ssolidac60.dll, and the Solid SQL API and Communication DLLs, which are named s??w6460.dll, where ?? represents the library's purpose as described above. For example, stcw6460.dll is for TCP/IP, and socw6460.dll contains the Unicode version of the ODBC driver for version 6.0. The AcceleratorLib DLL name has the format: ssolidac60.dll (this DLL is used through the import library solidimpac.lib linked statically with the application). In addition to the API and Communication libraries described above, you can also have the following: ssolidac60.dll AcceleratorLib dynamic library. This DLL is used through the import library solidimpac.lib linked statically with the application. The table below shows the .dll files and the corresponding import libraries. You will actually link to the import libraries. In the file names below, the "VV" represents the product version number, for example "60" for version 6.0. File name: Import library file name on Purpose Windows: sacw64VV: solidimpodbca: ODBC library (ASCII version) socw64VV: solidimpodbcu: ODBC library (Unicode version) ssaw64VV: solidimpsa: SA API (described in solidDB AcceleratorLib Guide) ssolidacVV: solidimpac: AcceleratorLib library (described in solidDB AcceleratorLib Guide) Which File Names Are Used for Which Static Libraries? Solid provides two static libraries: * solidctrlstub.lib empty Control API stub library. This static library is used if you want to write code that can be run either locally with the AcceleratorLib library, or remotely without the AcceleratorLib. * slcw64VV.lib. This is the "light client" library. The other libraries are provided as dynamic link libraries. 6. solidDB 6.0 Development Kit Installation solidDB Development Kit (SDK) for Windows platform is distributed as a single executable. To install the solidDB Development Kit, simply run this executable. The program will lead you through the process of installing the software. Note: If you are using Microsoft Windows, and you want to use the JDBC driver, update your CLASSPATH variable to include the directory that contains the Solid JDBC driver (the "jdbc" directory under the Solid installation directory) after you have installed the package. 7. How to Continue with the Development Kit The evaluation package contains a license permitting the use all the capabilities of the products (all options enabled). The evaluation use is limited in time. If a more permissive license is needed, please contact sales@solidtech.com. For more information, see section Order Me on the Welcome page (or orderme.txt). Solid provides several sample programs to help you learn about and evaluate solidDB. We recommend that you start to learn about the product by following the steps listed in Evaluation Setup (or evaluation_setup.txt). Solid provides the user manuals in a few formats. We recommend that you read the solidDB Getting Started Guide and the first few chapters of the solidDB Administrator Guide before you read any other manuals. The "Welcome" chapter of the solidDB Getting Started Guide contains a section that briefly describes the manuals in the set. 8. Available Interfaces for Client Application Development Solid provides ODBC and JDBC interfaces for clients, which are briefly described in the chapters below. For more details, see solidDB Programmer Guide. For information on importing and exporting large amounts of data, see solidDB Administrator Guide, and see the samples in the samples\importexport subdirectory. 8.1 JDBC Driver 2.0 The Solid JDBC 2.0 Driver supports the JDBC 2.0 specification. Additionally, Connection Pooling, JNDI Data Sources and Rowsets of the JDBC 2.0 Optional Package (known before as Standard Extension) are supported, too. The JDBC Driver has been successfully tested with JDK versions 1.2.2, 1.3, and 1.4. and certified with the JDBC API Test Suite 1.3.1. Non-standard features include support for IBM WebSphere and timeout control extensions. They are discussed below. For information about Solid JDBC Driver installation and detailed feature description, please see JDBC Readme (or jdbc_readme.txt). Full documentation is included in solidDB Programmer Guide. The following features of the optional package are currently supported by the Solid JDBC 2.0 driver : * Connection pooling (class solid.jdbc.ConnectionPoolDataSource) * Connected RowSet (class solid.jdbc.rowset.SolidJDBCRowSet) * Implemented JDBC data sources: * solid.jdbc.DataSource (implements javax.sqlDataSource) * solid.jdbc.SolidConnectionPoolDataSource (implements javax.sql.ConnectionPoolDataSource) Missing Features (of the Optional Package): * Distributed transaction support (i.e. JTA/XA transactions are not available) * Cached RowSet Connection Timeout By connection timeout we refer to the response timeout of any JDBC call invoking data transmission over a connection socket. If the response message is not received within the time specified, an I/O exception is thrown. The JDBC standard (2.0/3.0) does not support setting of the connection timeout. Solid has introduced two ways for doing that: one using a non-standard driver manager extension method and the other using the property mechanisms. The time unit in either case is one millisecond. Statement Cache Solid JDBC driver enables the user to set the size of a given Connection's statement cache as a property during the connection creation. See JDBC Readme (or jdbc_readme.txt) for more details. Download You can download the latest version of the Solid JDBC driver and the related Javadoc from the Solid web site (Solid Java Downloads): http://www.solidDB.com/downloads/ 8.2 ODBC Driver 3.5.x Solid provides two ODBC drivers, one for Unicode and one for ASCII character sets. More information about these drivers is in solidDB Programmer Guide. ODBC Features not Supported in This Release The following functions are not supported in this release: * SQLBrowseConnect * SQLSetScrollOptions * SQLParamOptions * SQLNativeSql * SQLMoreResults Note to Earlier Users of Solid Database Engines Solid now automatically installs both ODBC drivers (Unicode and ASCII). You do not need to install them separately. To verify that both ODBC drivers have been installed, you can use Control Panel =>Administrative tools=>Data Sources (ODBC)=>Drivers Look under "Solid" and you will see both the Solid ASCII and Solid Unicode drivers displayed. There is also a separate ODBC driver installer in the package, for use on Client computers. 9. Solid Java Accelerator Information This feature is only available on specific platforms. Platforms: * Linux * HP-UX 11 * Microsoft Windows 32-bit * Solaris 8, 9 and 10 JDK Versions: NOTE! In order for the JVM to find the ssolidac60 dynamic libraries in Linux/Solaris, you must either rename the library from "ssolidac60.so" to "libssolidac60.so", or create a symbolic link "libssolidac60.so" which points to the "ssolidac60.so" file. This also applies to the HP-UX platform, where the actual library file "ssolidac60.sl" must be renamed to "libssolidac60.sl", or a symbolic link "libssolidac60.sl" must be created pointing to the "ssolidac60.sl" file. 10. Known Limitations, Problems, And Workarounds in Version 6.0 If you have used a previous version of a Solid Database Engine and are having difficulty with a feature that used to work for you, please see section 4.0 Upgrading to solidDB 6.0 for a short list of changes from previous versions. solidDB SERVER KNOWN LIMITATIONS Netbackup The command ADMIN COMMAND 'netbackup' is not supported within the 'Srv.At ' configuration parameter. The admin command 'status netbackup' is a synonym of 'status backup' and reports on both local and network backups. The admin command 'netbackuplist' is a synonym of 'backuplist' and reports on both local and network beackups. solidDB CARRIERGRADE (HSB) OPTION LIMITATIONS Load balancing with Transparent Failover in Transparent Connectivity (TC) If the TC Info attributes are chosen so that both Transparent Failover and Load Balancing are set, in some Linux and UNIX platforms a driver may crash on a Primary Failure. Also, Secondary may fail on restart and reconnect, after Secondary failure. ODBC DRIVER KNOWN PROBLEMS AND WORKAROUNDS Incompatibility with Servers Older Than v. 6.0 Because of the introduced protocol changes, the ODBC drivers of v. 6.0 and later are not compatible with server products prior to version 6.0. On the other hand, older ODBC drivers are compatible with server products v. 6.0 and later. When upgrading the system from a version prior to 6.0, the servers must be upgraded first, and then the ODBC drivers, at client sites. The applications need not be recompiled or relinked if dynamically loaded drivers are used. Error Information Regardless of the version set by the client, the driver returns error information based on the ODBC 3.0 specification. Error in SQLPutData Using SQL_NULL_DATA as Parameter Length If you try to insert or update one or more data items where one of the items has SQL_NULL_DATA as the length specifier, no data will be inserted. The column value will become NULL. SQLAllocHandle Can Return Incomplete Error Information If you call SQLAllocHandle with an invalid handle type, for example: SQLAllocHandle(-5, hdbc, &hstmt); the function will return SQL_ERROR but not Error State "HY092" or message "Invalid Attribute/Option Identifier". MSAccess - Linking the Table with Certain Column Types After linking the table with data types WCHAR, WVARCHAR, and LONG WVARCHAR, when a user inserts a particular record and then inserts/updates/deletes another record, the driver shows '#deleted' for the previous newly added/updated record. ADO - OpenSchema Methods The following OpenSchema methods are not supported through ADO: * adSchemaCatalogs * adSchemaColumnPrivileges * adSchemaConstraintColumnUsage * adSchemaConstraintTableUsage * adSchemaTableConstraint * adSchemaForeignKeys * adSchemaTablePrivileges * adSchemaViews * adSchemaViewTableUsage Please note that all the above OpenSchema methods are not supported by ADO with any ODBC Driver. This is a limitation of the Microsoft OLE DB Provider for ODBC. This is NOT specific to the Solid ODBC Driver. JDBC DRIVER KNOWN PROBLEMS AND WORKAROUNDS Incompatibility with Servers Older Than v. 6.0 Because of the introduced protocol changes, the JDBC drivers v. 6.0 and later are not compatible with server products prior to version 6.0. On the other hand, older JDBC drivers are compatible with server products v. 6.0 and later. Dynamic isolation level control with Transparent Connectivity load balancing If load balancing is used in a session, and an isolation level higher than READ COMMITTED is set by the user dynamically, and then reset back to READ COMMITTED, the load is not rebalanced, and it continues to be executed on Primary. Workaround: do not change the isolation level when using load balancing. SOLID JAVA ACCELERATOR KNOWN PROBLEMS AND WORKAROUNDS To minimize memory consumption, we recommend that users explicitly drop all allocated statements; that is, all allocated JDBC Statement objects must be explicitly freed by calling the close() method. The server can crash if you access the same statement object from multiple Java threads. You must open a separate JDBC connection (and statement) for each thread that needs to use JDBC. 11. Additions And Corrections to Documents None. 12. Operating-System Specific Information for solidDB for 64-bit Windows Solid Version solidDB 6.0 for 64-bit Microsoft Windows is multi-threaded. Windows Version solidDB 6.0 for 64-bit Microsoft Windows is built using Microsoft Windows Server 2003 Standard x64 Edition, Service Pack 2. Development Tool Versions solidDB 6.0 for 64-bit Windows was produced using Microsoft Visual Studio 2005 Client Libraries Dynamic Solid Client libraries and static Light Client library are provided. Know problems with ODBC The proprietary ODBC attributes related to Transparent Connectivity (in HSB) cannot be used with the Windows ODBC Driver Manager. If you need to use proprietary ODBC attributes, Solid ODBC driver import library (solidimpodbca.lib or solidimpodbcu.lib) has to be linked directly to the application. Aside from the proprietary attributes, the full functionality of Transparent Connectivity (Transparent Failover and Load balancing) is available with the Windows ODBC Driver Manager. Setting up solidDB 6.0 as a Windows Service After you have installed the Solid Development Kit (SDK), you can instruct Windows to allow solidDB (solid.exe) to run as a "service" (i.e. as a background process). When the Solid engine is running as a service, it does not interact with a display and cannot create a new database. Therefore, the database has to be created by starting the server for the first time as a foreground process. To start the server as a foreground process, you may start the server from the command line with the command "solid" or by double clicking the solidDB 6.0 icon in the program group. solidDB 6.0 must be started from the Windows NT Service manager after it has been installed as a service. When the server is running as an Windows service, it will log warning and error messages to the Windows event log. These messages can be viewed from Windows by using the Event Viewer. Messages are also logged to the solmsg.out file. The server can be configured as a service by using the command line switches described below. Installing The process of configuring the solidDB executable (solid.exe) to run as a service is called "installing". (This is not the same as installing the Solid Development Kit on your computer.) To install the server as a service, type solid -s"install,name, exepath[,autostart]" Note: The exepath must be a full path and it must contain the following command line options: -cworkingdir -sstart The "-cworkingdir" tells the server which directory to find the solid.ini and solid.lic file in. Other options can also be added, but these two options must be included, or else the service installation will fail. Removing solid -s"remove,name" Examples Two sets of examples follow, one for installing the service and the other for removing it. To keep the command lines short, we have assumed that you installed the server to the directory "C:\s". You will need to substitute the actual directory name to which you installed the product. Example: install Solid 6.0 as a Service: C:\s\bin\solid -s"install,SOLID,C:\s\bin\solid.exe -sstart -cC:\s" This installs a service named Solid when solid is installed into the directory C:\s and the database file is also located in the directory C:\s. C:\s\bin\solid -s"install,SOLID,C:\s\bin\solid.exe -sstart -cC:\s,autostart" This installs a service named Solid, which starts automatically when solid is installed into the directory C:\s and the database file is also located in the directory C:\s. If you receive error message number 6 when installing, you do not have permission to add services to Windows NT. Resolve the problem by logging in as a user having system administrator privileges. Example: remove the Service Solid from the List of Services: C:\s\bin\solid -s"remove,SOLID" Notes 1. Solid must be installed from a local disk drive. The service cannot be installed from a network drive. 2. If the service cannot be started, you can try to copy Solid communication DLL files into the working directory of the service. Setting Directories for Log and Database Files Directories for log and database files should be set to the local server only. This is to achieve good disk I/O speed and to avoid problems in accessing disks on other servers. Users should also note that if log or database files are written to a network drive that is located on the local server, the file I/O will go through the network software of the Windows NT operating system. This will slow down the file I/O and put a heavy load on the server computer. 13. How to Get More Information on the solidDB 6.0 Development Kit The latest product information and technical documentation are available from Solid Online Services. You can access our Web server at: http://www.solidDB.com/ Additional tools, if any, are available at: http://www.solidDB.com/downloads/ Alternatively, you can address questions to: info@solidDB.com Technical support during the evaluation period can be requested from: evalsupp@solidDB.com 14. SolidConsole Availability SolidConsole, a GUI database administration tool, is not included in this package. You can download SolidConsole from the Solid web site (Java Downloads): http://www.solidDB.com/downloads/ 15. Uninstalling solidDB 6.0 To uninstall, you can do either of the following: 1. Run the same .exe program that you downloaded. When you run it, it will give you 3 options (Remove, Repair, and Modify). Choose the "Remove" option. 2. Go to the Control Panel and choose "Add or Remove Programs". From there, you will be presented with a list of currently installed programs that can be removed. Click the solidDB 6.0 line, and click the "Remove" button. Copyright (c) 2008 Solid Information Technology, Ltd. All Rights Reserved.