What is LDBC?

LDBC (Liberty DataBase Connectivity) is a JDBC driver that provides vendor-independent database access. With LDBC, your application will just work on all major databases and you don't have to change any source code. LDBC is based on ANSI-SQL and JDBC.

LDBC radically simplifies porting of existing or new applications to new databases. The main components of LDBC are a JDBC driver and a SQL grammar converter. LDBC completely shields the application from database vendor specific code. Included SQL grammar and JDBC API documentation.

LDBC is not meant to be a persistence layer or object relation mapping. The main idea of LDBC is providing a standard way to access a SQL database from Java.

Are ANSI SQL and JDBC not enough?

Reasons: Most databases implement things differently. JDBC is a superset API and does not provide information about the features that are actually supported by each database vendor.

How does it work?

LDBC comes with a JDBC driver that makes every database behave exactly the same way. Internally, LDBC uses the 'regular' vendor specific JDBC driver, but this is not visible to the application.

Without the LDBC driver (BAD)
With the LDBC driver (GOOD)
The app works only with one database, because:

  • The SQL is different for each databases
  • Every JDBC driver behaves differently
  • Changes are required for each database
  • No time to study all vendor documentation
  • No time to test with all databases
The application works with all major databases, because:

  • The SQL syntax is translated to each database
  • All databases behave exactly the same
  • No changes required to support another database
  • You only need to read the LDBC docs
  • LDBC only supports well-tested features
The application works well with database A, not so nice with database B, and not at all with database C
The applications works well with all databases because LDBC is used

Documentation

Grammar: The SQL syntax supported

Databases: The list of supported database vendors and drivers

JDBC API: Lists supported JDBC interfaces

Functionality: What is supported and what is not (yet) supported

How to Build: The software required to build LDBC yourself

FAQ: Frequently Asked Questions

Download: If you want to try it out

License

LGPL is used for the software. All software available here can be used in commercial applications at no cost. The application does not need to be LGPL or GPL to be able to use the software.

THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE DEVELOPMENT GROUP, OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

SourceForge Logo