Made to Order Software Corporation Logo

odbcpp: Main Page


The odbcpp library is a C++ wrapper around the ODBC API.

The odbcpp project

The odbcpp project was created by Made to Order Software Corp. And it holds the copyright.

The project home page can be found on the corporate website:

The project documentation can be found online here:

odbcpp license

The free version of the odbcpp library is under the GPL. This means you are welcome to make use of the odbcpp library in your open source and other free projects (where your users/customers have access to all the source code.)

If you need a commercial license for your company because you do not want (or can) release your source code, then you need to purchase a license from Made to Order Software Corp. Once you have such a license you are free to sell this library linked against your closed source software.

Error Handling

The error handling could be ameliorated.

At this time, anything other than success or success with info generates an exception. We will see whether usage tells us that it is too much or whether it works. Please, feel free to report what you have to do in order for your application to function so we can fix the library if necessary.

Known Bugs

Using ODBC means using a driver between the ODBC library and the backend database. This driver may include bugs. The following is a list of problems we are aware of. These problem may disappear with time. And also they may not be bugs but rather gotchas that you want to avoid.

  • PostgreSQL supports a boolean type. It can be tricky to use the type properly. If you use a static record, bind the type to SQLCHAR and you will get 0 or 1 in that byte. If you use a dynamic record, you will get a string of "0" or "1".
It is possible to add two variables in our of your odbc.ini file
to control the boolean type. The BoolsAsChar=0 so the boolean come out as integers isntead. Then TrueIsMinus1=0 to get the value 1 whenever it is true (instead of -1).

What is not yet implemented

The following functions are not yet implemented in the wrapper. They may make it there one day, though.

  • SQLBindParameter
  • SQLBrowseConnect
  • SQLBulkOperation
  • SQLColAtribute
  • SQLColumnPrivileges
  • SQLColumns
  • SQLDescribeParam

Unused ODBC functions

The following functions are not used either because they have been marked as deprecated or because their are just way too complex and most of the time unnecessary.

  • SQLAllocConnect (uses SQLAllocHandle)
  • SQLAllocEnv (uses SQLAllocHandle)
  • SQLAllocStmt (uses SQLAllocHandle)
  • SQLColAtributes (uses SQLColAttribute)
  • SQLCopyDesc (not necessary)
  • SQLFreeStmt (uses SQLCancel(), SQLCloseCursor(), SQLFreeHandle())
  • SQLDriverConnect (we may need this one later)
Generated on Mon Sep 19 12:52:27 2011 for odbcpp by  doxygen 1.6.3