SOCI - The C++ Database Access Library. This is official repository the SOCI project.
Clone or download
vadz Include the parameter number in the errors from post_fetch()
This makes errors such as e.g. "Null value fetched and no indicator
defined." much more useful, as the error message now says which
parameter exactly was null.

Closes #631.
Latest commit d081e12 Apr 4, 2018
Failed to load latest commit information.
.circleci [Circle] Fix missing checkout in workflow Sep 23, 2017
cmake Update FindODBC with module proposed to CMake May 19, 2018
docs Fix CircleCI error on wrong indentation (#662) Jun 20, 2018
include Disable -Wstrict-aliasing diagnostic for GCC or clang only Jul 1, 2018
languages/ada Implement new source tree layout #125 May 29, 2013
scripts [travis] Install CMake 3.11 May 7, 2018
src Include the parameter number in the errors from post_fetch() Jul 2, 2018
tests Include the parameter number in the errors from post_fetch() Jul 2, 2018
www [docs] Add link to master branch docs on docs.html Sep 23, 2017
.editorconfig [EditorConfig] Add settings for YAML and CMake scripts Sep 16, 2017
.gitattributes Preserve LF or CRLF for certain file types. Nov 1, 2015
.gitignore [docs] Add pages for Ada language bindings Sep 24, 2017
.markdownlint.json [docs] Fix issues reported by markdownlint Sep 23, 2017
.travis.yml [travis] Install CMake 3.11 May 7, 2018
AUTHORS No real changes, just remove trailing whitespace. Apr 10, 2015 Add generated from GitHub Sep 23, 2017
CHANGES Add get_dummy_from_{table,clause}() methods Jul 19, 2017
CMakeLists.txt [CMake] Remove CDash remains Sep 24, 2017
LICENSE_1_0.txt Implement new source tree layout #125 May 29, 2013 Format compact table in README Sep 23, 2017
TODO Clean up already implemented features from TODO. Nov 7, 2015
Vagrantfile [Vagrant] Update setup with primary VM and optionals. Sep 19, 2017
appveyor.yml Revert to the previous images on AppVeyor to avoid CMake breakage Apr 4, 2018
mkdocs.yml Fixed "statemETs" typo Dec 20, 2017
valgrind.suppress Suppress memory leak report in glibc NSS under Ubuntu Jul 19, 2017

SOCI - The C++ Database Access Library

GitHub release GitHub commits

Website SourceForge

Gitter Mailing Lists StackExchange

Build Status

Branches Travis-CI AppVeyor-CI Coverity Scan Documentation
master Build Status Build status Coverage Docs Status
release/3.2 Build Status


Originally, SOCI was developed by Maciej Sobczak at CERN as abstraction layer for Oracle, a Simple Oracle Call Interface. Later, several database backends have been developed for SOCI, thus the long name has lost its practicality. Currently, if you like, SOCI may stand for Simple Open (Database) Call Interface or something similar.

"CERN is also a user of the SOCI library, which serves as a database access layer in some of the control system components."

-- Maciej Sobczak at Inspirel


SOCI library is distributed under the terms of the Boost Software License.



  • C++ compiler
  • Boost C++ Libraries (optional, headers and Boost.DateTime)

Backend specific client libraries for:

  • DB2
  • Firebird
  • MySQL
  • ODBC with specific database driver
  • Oracle
  • PostgreSQL
  • SQLite 3

See documentation at for details

BSL © Maciej Sobczak and contributors.