无可挑剔成语:SQLAPI

来源:百度文库 编辑:偶看新闻 时间:2024/05/05 10:23:17
Home How To Online Documentation Support Download Order



SQLAPI++References
Quick download:
SQLAPI++ Windows
SQLAPI++ Linux
SQLAPI++ Mac OS X
SQLAPI++ FreeBSD
SQLAPI++ Solaris x86
SQLAPI++ Solaris SPARC
SQLAPI++ Library
SQLAPI++ is a C++ library for accessing multiple SQL databases(Oracle, SQL Server, DB2, Sybase, Informix, InterBase, SQLBase, MySQL,PostgreSQL, SQLite and ODBC). It uses native APIs of target DBMS soapplications developed with SQLAPI++ library run swiftly andefficiently. The product also provides a low-level interface thatallows developers to access database-specific features. Byencapsulating a vendor's API, SQLAPI++ library acts as middleware anddelivers database portability. See details on supporting SQL databaseservers on different platforms:
Server Win32 Linux/Unix
Oracle Database Server Supported (OCI) Supported (OCI)
Microsoft SQL Server Supported (DB-Library, OLE DB) FreeTDS ODBC driver should be used
Sybase Supported (Open Client, ASE & ASA) Supported (Open Client, ASE & ASA)
DB2 Supported (DB2 CLI) Supported (DB2 CLI)
Informix Supported (Informix CLI) Supported (Informix CLI)
InterBase/Firebird Supported Supported
Centura (formerly Gupta) SQLBase Supported (CAPI) Supported (CAPI)
MySQL Supported (MySQL C API)  Supported (MySQL C API)
PostgreSQL Supported (libpq) Supported (libpq)
ODBC Supported Supported (iODBC, seewww.iodbc.org)
SQLite
Supported
Supported
Currently SQLAPI++ library supports the following C/C++compilers:
Microsoft Visual C++
Borland C++ Builder
GNU project C and C++ compiler
Why use SQLAPI++?
SQLAPI++ directly calls native API's of target DBMSs(unlike ADO which uses OLEDB and/or ODBC intermediate layer). That'swhy SQLAPI++ is the fastest way to manage you data.
No need (vs ADO) to install and configure OLEDB and/or ODBCdrivers when developing and distributing your applications.
Low-level interface that allows developers to accessdatabase-specific features.
SQLAPI++ ships with all the sources.
Free lifetime support, bugs fixing and new version updates.
Examples
Steps
Step 1. Connecting todatabase (and error handling)
Step 2. Executing a simple SQLcommand
Step 3. Binding inputparameters
Step 4. Executing a selectquery (and fetching result set)
Step 5. Binding LongBinary,LongChar, BLob and CLob data
Step 6. Fetching LongBinary,LongChar, BLob and CLob data
Step 7. Multithreading supportand canceling queries
Advanced Examples
Using Oracle REF CURSORs
Using Oracle nested cursors
Fetching records in bulk
History
4 November 2011
Version 3.8.3 of SQLAPI++ library released.
New features:
PostgreSQL: Added support for PQfformat API function.
Sybase: Added SA_SYBASE_LARGE_IDENTIFIERS build option (CS_NO_LARGE_IDENTIFIERS uses by default).
Sybase: Added CS_SYB_CHARSET connection option (thanks Leonid O Volkov).
PostgreSQL: Added SA_RepeatableRead isolation level support (actual for PG 9.1, thanks Andrew Smolko).
PostgreSQL: Fixed binary values escaping (thanks combit.net and Bjoern Eggstein).
MySQL: Fixed API mysql_ssl_set_t for the modern parameter set (thanks Robert Osada).
General: Fixed SACommand::ParseInputMarkers method (thanks Michael Gandlin).
SQLite: Bind SA_dtUlong parameter as 64-bit integer instead of int (thanks Derick Naef).
General: Align the default buffer length for long/LOB data to sizeof(SAChar) (thanks Emir Subasic).
DB2: Fixed bug with binding an empty LOB (thanks Martin R?tzl).
SQLServer: ODBC, fixed empty LOBs binding and reading.
Informix: Fixed empty LOBs binding and reading.
ODBC: Fixed empty LOBs binding and reading.
Oracle: Fixed bug with PL/SQL functions return boolean (thanks Andrew Simmons).
22 June 2011
Version 3.8.2 of SQLAPI++ library released.
New features:
MySQL: Fixed the field describing bug (thanks Brad DeJong).
General: General: samisc.h header moved into general include folder (SAMutex, SACriticalSectionScope classes).
General: Added SA_ODBC_INCLUDES build option.
ODBC: Fixed name buffer length for SQLDescribeCol API function.
ODBC: Added the catalog name into ODBC and MSSQL(ODBC) DescribeParamSP method.
General: Use neutral value of 'struct tm' DST flag (SADateTime class).
General: Use ISO format (YYYY-MM-DDTHH:MI:SS) for SA_dtDateTime values at SAValueRead::asString method.
Informix: Fixed Informix SAconnection::isAlive.
Informix: Fixed SACommand::isResultSet.
General: Fixed SACommand::Destroy.
Oracle: Fixed bug with package method executing that should be resolved by synonym (thanks Michael Lyle).
Interbase: Fixed SACommand::isResultSet.
Interbase: Implemented SA_UNICODE_WITH_UTF8 option.
Sybase: Fixed SA_UNICODE_WITH_UTF8 option implementation.
General: SADateTime::SADateTime() constructor is private now.
General: Added SAGlobals::StringToClient and SAGlobals::ClientToString methods.
General: Fixed Borland C++ build files.
General: Added SA_STATIC_SYBASE build option.
20 February 2011
Version 3.8.1 of SQLAPI++ library released.
New features:
General: Removed SA_SCROLLABLE_CURSOR build option, this features is always available now.
DB2: Added scrollable cursor support.
Informix: Added scrollable cursor support.
SQLBase: Added scrollable cursor support.
Sybase: Added scrollable cursor support.
General: Removed SA_UNICODE_WITH_UTF8 build option, this features is always turned on now.
PostgreSQL: Fixed bug with the application name parameter (thanks Bjoern Eggstein).
General: Added conversion from numeric value into SAValueRead::asBool method.
SQLServer: OLEDB, added support for Compact Edition 4.0 (thanks Jacob Pedersen).
MySQL: Now SAField::FieldSize methods returns the 'character'length for character fields (thanks Jonathan González Encarnación).
26 January 2011
Version 3.7.35 of SQLAPI++ library released.
New features:
Oracle: Fixed LOB reading with OCI 10 and above (thansk Anca Elena Arhip).
23 January 2011
Version 3.7.34 of SQLAPI++ library released.
New features:
SQLServer: OLEDB, fixed the memory leak at 'Check' function (SAExecption throwing, thanks Michael Soliman).
SQLServer: OLEDB, removed assertion for SQLServer 2008 date and time types.
ODBC: FreeTDS, fixed the bug with missing first character of the long text/string data.
SQLite: sqlite3_open_v2() support, the statement is closed when there is no result or an error occurs (thanks Mario Degenhardt).
MySQL: Added CLIENT_REMEMBER_OPTIONS and MYSQL_OPT_RECONNECT connection options (thanks Steven Van Ingelgem).
PostgreSQL: Added "APPNAME" connection option (version 9.x and above).
Sybase: Added correct description of the output procedure parameters (ASE version >= 12.5, thanks Georgiy Pakhutin).
General: Fixed bug with SAValueRead::asBool() on BigEndian platforms (thansk Vlad Romascanu).
PostgreSQL: Added 'E' prefix for binary sequnces passed to server version 8.2.4 and above.
MySQL: Fixed again binding of the binary data (thanks Martin Herb).
31 August 2010
Version 3.7.33 of SQLAPI++ library released.
New features:
SQLServer: OLEDB, fixed parameter date type name for ICommandWithParameters::SetParameterInfo (thanks Michael Soliman).
General: SACommand::Param(int) method performance improved.
MySQL: Fixed binding of the binary data (thanks Martin Herb).
MySQL: Fixed the error processing when mysql_fetch_row returns NULL (thanks Michael Graf).
Sybase: Added 15.5 context support.
Sybase: Added SA_UNICODE_WITH_UTF8 build option support (EXPERIMENTAL).
MySQL: Added scrollable cursor support (EXPERIMENTAL).
General: Added SA_32BIT build option (Linux/Unix g++ build files).
ODBC: 2-byte buffer used with SQLGetData (getting the long field size, thanks David Stewart).
General: SA_STRING_EXT build option added (string buffer allocation optimization, thanks iontrading.com).
Sybase: Fix for 64-bit DLL names under Windows (thanks iontrading.com).
ODBC: Set SQL_ATTR_ODBC_CURSORS later to avoid crash when using iODBC (thanks iontrading.com).
General: Use C runtime routines at SAString::CompareNoCase (thanks iontrading.com).
2 July 2010
Version 3.7.32 of SQLAPI++ library released.
New features:
SQLite: Now (if "SQLiteDateValueType" = "DOUBLE") SQLAPI++interprets a datetime value as a Julian Day JD double value (before weused SADateTime interpretation).
SQLite: Added "SQLiteDateValueType" option, SQLAPI++ uses"YYYY-MM-DD HH:MM:SS.SSS" formatted strings for date/time parameters bydefault.
SQLite: Changed "SQLiteDateTypes" option default value (now it's "DATE,DATETIME,TIME,TIMESTAMP").
MySQL: Fixed bug with the binding of zero-length blob- and byte- fields (thanks Taneli Otala).
Sybase: Connection options "SYBINTL.LIBS", "SYBCOMN.LIBS", "SYBTCL.LIBS", "SYBCT.LIBS", "SYBCS.LIBS" added.
General: Fixed problem with MacOS X and asctime_r function (thanks Michael Dickey).
General: More information provided if DBMS API loading fails.
General: 8-byte data length is allowed for SA_dtULong type.
SQLite: SA_STATIC_SQLITE build option added.
SQLite: The server/client version number is returned in common format now (hi- and low-word parts).
Oracle: SQLT_FLT binding type is used instead of SQLT_BDOUBLE even when it's supported by OCI.
General: SA_MANIFEST_EMB build option added.
24 March 2010
Version 3.7.31 of SQLAPI++ library released.
New features:
ODBC: Numeric data truncation bug fixed (thanks Gebert, Alfred).
SQLServer: OLEDB and ODBC, fixed bug with long/LOB data binding (thanks Thomas H?u?ermann).
SQLServer: OLEDB, added DBPROP_COMMITPRESERVE command parameter.
ODBC: fixed bug with long/LOB data binding.
Sybase: Bind ' ' character for empty procedure parameter strings (thanks Vlad Imshenetskiy).
General: Borland C++ 5.2 fixes.
10 February 2010
Version 3.7.30 of SQLAPI++ library released.
New features:
General: Added new methods - SAConnection::Reset() and SACommand::Reset().
PostgreSQL: Fixed memory leak when "UseCursor" option is set (thanks Vlad Romascanu).
Oracle: Fixed problem with OCI version 8.1.x and 9.0.x.
SQLServer: Fixed bug with unsigned 32-bit integer parameters (thanks Kyle Stock).
SQLServer: Fixed problem with [n]varchar|varbinary(max) output parameters (thanks Alfred Gebert).
SQLServer: Fixed bug with SAParam::setAsBool method (thanks Jacob Pedersen).
General: Performance improved (Christian Zink).
Sybase: Fixed bug in error handling (thanks Volodymyr Drobot).
MySQL: Fixed bug with UTF-8 client charcter set and BLob binding (Jason Tai).
SQLServer: Fixed SA_tdBool data binding (thanks Jacob Pedersen).
DB2: Fixed problem with prefetching on 64-bit platforms (thanks Cal Heldenbrand).
Oracle: Added experimental scrollable cursor support (thanks combit.net and Alexander Horak).
SQLServer: Added native (ODBC) API support.
PostgreSQL: Connection option "UseDLLonWin32" replaced by "LIBPQ.LIBS" (can define several library names).
ODBC: Connection option "UseManagerOnUNIX" replaced by "ODBC.LIBS" (also can define several library names).
MySQL: Connection option "MYSQL.LIBS" added (can define several library names).
Oracle: Connection option "OCI8.LIBS" added (can define several library names).
DB2: Connection option "DB2CLI.LIBS" added (can define several library names).
Informix: Connection option "INFCLI.LIBS" added (can define several library names).
SQLBase: Connection option "SQLBASE.LIBS" added (can define several library names).
SQLite: Connection option "SQLITE.LIBS" added (can define several library names).
InterBase: Connection option "ClientLibraryName" replaced by "IBASE.LIBS" (also can define several library names).
Sybase: Bind ' ' character for empty procedure parameter strings (thanks Vlad Imshenetskiy).
Sybase: SA_PARAM_USE_DEFAULT support added.
14 October 2009
Version 3.7.29 of SQLAPI++ library released.
New features:
General: Added Borland compilation option SA_MINDEP.Now dynamic RTL is used by default with bcc compiler.
DB2: Fixed bug with Unicode DB2 data type(vargraphic)interpretation.
General: Fixed Borland C++ SQLServer OLEDBcompilation problem (sa_max() using instead of max()).
SQLite: Fixed bug at the text data conversion withUnicode configuration (thanks Holger Fischer).
SQLite: Added new SAConection option"SQLiteDateTypes" (thanks Jonathan Gonzalez Encarnacion).
SQLite: Fixed bug with SAConnection::setAutoCommitfunctionality (thanks Jonathan Gonzalez Encarnacion).
Oracle: Fixed temporary LOBs memory leak (thansk MarcOliver R. Castaneda).
Sybase: Fixed 64-bit related INT type size bug(thanks Jon Linkins).
SQLite: Added declared type processing if there areno any rows at the result set (thanks Jonathan Gonzalez Encarnacion).
SQLServer: Fixed bug with "Execute_riid" option isset to "IID_IStream" (thanks Patrik Luscan).
MySQL: Fixed datetime and boolean type processing ifstatement API is used (thanks Christophe Benoit).
MySQL: Fixed bug with non-SELECt queries if statementAPI is used (thanks Christophe Benoit).
General: Fixed bug with SANumeric from stringoperator (thanks Christophe Benoit).
Firebird: Fixed 64-bit version (thanks evenreal.com).
Oracle: Fixed CLOB output parameter reading withReadLob2 (thanks Gebert, Alfred).
Oracle: Fixed field and output parameter buffer sizefor multi-byte client character sets (thanks Gebert, Alfred).
27 May 2009
Version 3.7.28 of SQLAPI++ library released.
New features:
SQLServer: Added SAConnection OLEDB options"CompactEdition.3.0" and "CompactEdition.3.5" (thanks Johannes Maly).
SQLServer: Fixed processing of 'real' and 'tinyint'field types for SQLCE (thanks Jacob Pedersen).
General: Linux/Unix, added SQLAPI_SOLARIS compilationoption and fixed pthread compilation problem (thanks Bogdan Pytlik).
SQLServer: OLEDB, fixed bug with empty second resultset at the same scrollable SACommand (thanks Bjoern Eggstein).
General: Linux/Unix, added SQLAPI_SCOOSR5 compilationoption (implemented for SCO OpenServer 5.0.7 by Andrew Thornton).
General: Linux/Unix, removed stabs+ debug informationformat specification (thanks Andrew Thornton).
MySQL: Fixed bug when it was impossible to processseveral result sets those a procedure returns (thanks Klass, Markus).
Oracle: Added a code that uses new OCILogRead2 whenavailable (thanks Jeff Huttel).
MySQL: Fixed problem with prepared statements anddifferent MYSQL_BIND versions (thanks Alexander Petrossian).
General: Several performance improvements (thanksMike Moening).
MySQL: Fixed bug with SA_UNICODE_WITH_UTF8 and textfields when statement API used (thanks Jason at goffconcepts.com).
DB2: Fixed bug with text fields (UNICODE version).
General: For 'SACommand::Field(const SAString&sField)' added the second cycle for the field searching by shortname (thanks Felix Nawothnig).
Sybase: Fixed long text field reading (SA_UNICODE).
Sybase: Added ability to define procedure parameterswhen the procedure name includes its number (ASE, like 'procedure1;1',thanks Vlad Imshenetskiy).
Sybase: Added method to detect server type (ASA orASE) to avoid any extra internal exception processing (thanks VladImshenetskiy).
SQLServer: Added 2008 OLEDB client support.
SQLServer: Added 2008 new data type support (thanksJustin Matthews).
SQLServer: Added fixes those allows to use"ICommandPrepare" = "skip" with procedures (without preparing there wasstring data truncation, thanks Justin Matthews).
MySQL: Added using 'KILL QUERY' command instead ofmysql_kill with MySQL version >= 5.0 (thanks Andrew Thornton).
General: Documentation improved (thanks JustinMatthews and Kaarel Odraks).
Oracle: Fixed double values binding - usingSQLT_BDOUBLE rather then SQLT_FLT (thanks Alan Hardin).
22 January 2009
Version 3.7.27 of SQLAPI++ library released.
New features:
General: Now 'SANumeric::operator double() const'again uses strtod() variant but with '.' replaced bylocaleconv()->decimal_point (thanks Alasdair Richardson).
General: 'SAGlobals::UnloadAPI() = true' behaviorfixed (thanks Christophe Benoit).
MySQL: Fixed bug at ImyCursor::MySQLEscapeString(),if If a string is passed in that only contains escapable chars (thanksOliver Watson).
SQLServer: Fixed bug with scrollable statementreusing that results in wrong result set processing (thanks AlexanderHorak).
SeeFull History...
Last modified: 4 November 2011
webmaster@sqlapi.com