Naughter Software Logo

ODBCWrappers v1.08 A set of C++ classes to encapsulate ODBC on Windows

The classes provided are: CODBC::CHandle, CODBC::CEnvironment, CODBC::CConnection, CODBC::CStatement & CODBC::CDescriptor.

CHandle provides a class based encapsulation of a SQLHANDLE handle and the various ODBC v3 APIs which work on any SQLHANDLE type handle.

CEnvironment derives from CHandle and provides encapsulation of a ODBC environment handle. This class allows configuration of ODBC for initial usage and creation of connections to a database

CConnection derives from CHandle and provides encapsulation of a logical connection to a database.

CStatement derives from CHandle and provides encapsulation of an ODBC "statement" which allows execution of commands against a ODBC connection.

CDescriptor derives from CHandle and provides encapsulation of an ODBC "descriptor".

Finally ODBCWrappers provides a framework which provides accessor maps similar to the macros provided by the built in Visual C++ ATL OLE DB Consumer templates. These provide a simple mapping from code using OLE DB and these templates to equivalent ODBC functionality. This should provide a easy migration path if you want to move your OLE DB code to ODBC now that Microsoft have recommended that all new native mode development should use ODBC going forward instead of OLE DB at least when talking to SQL Server (http://blogs.msdn.com/b/sqlnativeclient/archive/2011/08/29/microsoft-is-aligning-with-odbc-for-native-relational-data-access.aspx). Similar to the OLE DB classes, both static accessors (CODBC::CAccessor) and dynamic accessors (CODBC::CDynamicColumnAccessor) are supported. This decision by Microsoft was one of the driving reasons to implement ODBCWrappers in the first place as the only ODBC classes available in Visual C++ are MFC specific (CDatabase/CRecordSet etc) and in-line with Microsoft's strategy it really does not make sense to restrict our usage of ODBC to MFC specific use cases going forward. The development of ODBCWrappers took a number of months of hard work researching, developing and testing and hopefully you should find them useful in your C++ database programming efforts.

 

 

Features

 

The enclosed zip file contains the ODBCWrappers source code and a VC 2008 console based application which demonstrates most of the classes functionality. To run correctly, this sample requires that a PJ_Test stored procedure is created from the included "Create PJ_Test SP.sql" script against a local installed instance of the sample AdventureWorks 2008 sample database from Microsoft. The code also assumes that you have the SQL Native client drivers installed for whatever PC architecture you run the sample app as.

 

Copyright

 

Updates

V1.0 (13 November 2011)

V1.01 (16 November 2011)

V1.02 (20 November 2011)

V1.03 (19 February 2013)

V1.04 (21 February 2013)

V1.05 (27 February 2015)

V1.06 (14 March 2015)

V1.07 (5 November 2015)

V1.08 (29 April 2017)