Overview of ODBC, JDBC, OLE DB, .NET and Go Driver

ODBC, JDBC, and OLE DB provide functionality that is related to the SQL CLI. The .NET Framework, which Microsoft developed, is a software development framework.

The international standards for SQL define a standard high-level language for accessing and manipulating data that is stored in a relational database. The international standards for the SQL CLI define an application programming interface (API) that programs use to issue SQL statements in a standardized manner through a series of well-defined API functions.

Note: As compared to IBM® PureData® System for Analytics, Netezza Performance Server for Cloud Pak for Data System 11.x drivers are based on RHEL 7 and require GLIBC_2.14.

ODBC

Open Database Connectivity (ODBC) is a Microsoft specification for an API that constitutes an implementation of the international standards for the SQL CLI. ODBC is a superset of the SQL API because it defines many functions that the international standards for the SQL API do not define. The term ODBC is a more commonly used term than SQL CLI, and the two terms are often used interchangeably, especially in the C and C++ programming environments. Unless otherwise noted, the terms SQL CLI and ODBC mean the same thing in this document.

JDBC

Sun Microsystems developed a specification called JDBC that defines an API for the Java™ programming environment that Java programmers use to access relational databases and issue SQL statements. The JDBC specification defines many of the same types of functions for Java programmers that ODBC and the SQL CLI define for C and C++ programmers. Java programs can directly invoke the API functions that ODBC and the SQL API define. However, the nature of the Java programming environment makes this process cumbersome. JDBC often provides a better solution than ODBC for the object-oriented Java programming environment.

Like ODBC, JDBC is an implementation of the international standards for the SQL CLI. The JDBC implementation consists of a set of Java interfaces, classes, and methods that a Java programmer can use to do the same types of functions that a C or C++ programmer does when invoking ODBC function calls. Also like ODBC, JDBC constitutes a superset of the SQL CLI because JDBC defines many functions that the international standards for the SQL CLI do not define.

OLE DB

OLE DB is a higher-level replacement for ODBC that supports a wider variety of non-relational databases that do not necessarily implement SQL (for example, object databases and spreadsheets). OLE has a client-provider model, where clients request access to data and providers are the software component interfaces that allow access to the data.

.NET

The .NET Framework for software development includes the Framework Class Library (FCL). Applications that you write for the .NET Framework execute in the Common Language Runtime (CLR). A .NET Framework data provider enables applications to directly access data sources such as Netezza Performance Server.

Go Driver

Go language database/sql package provides generic interfaces for SQL (or SQL-like) databases in Go programming environment. Programmers have to use database/sql package in conjunction with a particular database driver to connect to a database. IBM provides nzgo as the pure Go language database driver. Go applications must use nzgo driver along with database/sql package to work with Netezza Performance Server for Cloud Pak for Data.