Microsoft Open Database Connectivity (ODBC) msdn.microsoft.com
ODBC Programmer's Reference msdn.microsoft.com
ODBC API reference msdn.microsoft.com
Introduction to ODBC msdn.microsoft.com
ODBC Architecture msdn.microsoft.com
c++ ODBC database sample code.msdn.microsoft.com
ODBC FAQ orafaq.com
Benchmarks of SQL Query Performance for ODBC and Oracle Call Interface 2002, datadirect.com
3.0 Architecture
SQL servers are an example of a client-server model for distributed computing. The database client issues SQL requests that travel over a network to the database server. Whether operating over the Internet or a local-area network, transporting SQL queries requires an application-level protocol operating over a low-level protocol such as TCP/IP.
The ODBC specification does not define the division of labor between client and server or the format of the messages sent across the network. ODBC client software must use communications protocols that will be understood by the database server. Database vendors such as IBM, Sybase and Oracle have defined their own protocols for client-server SQL processing. Sybase and Microsoft use the Tabular Data Stream (TDS) protocol. Oracle uses
Transparent Network Substrate (TNS) and IBM uses Distributed Relational Database Architecture (DRDA).
Traditional ODBC drivers use platform-specific libraries that are supplied with the DBMS product. This type of driver uses the DBMS’s network libraries and maps ODBC functions to a library that implements the proprietary or native API. The traditional ODBC driver uses data access libraries such as Sybase Client-Library™ and network libraries such as Oracle SQL*Net, Net8 and Oracle Net.
The architecture of ODBC drivers has evolved from the original "fat client" model that requires multiple libraries. ODBC server technology supports thin
clients and multi-database access. Wire protocol drivers eliminate the need for native network and data access libraries.
Connecting to SQL Server over the Internet technet.microsoft.com
To share data over the Internet, you must use the TCP/IP Net-Libraries, and ensure that TCP/IP support is enabled. If the server is registered with Domain Name System (DNS), you can connect using its registered name.
Although an Internet connection is less secure than a Microsoft ISA Server connection, using a firewall or an encrypted connection, as described below, helps keep sensitive data secure.
[this article describes the protocol and port requirements for SQL Server; in the general case for other databases: you must use TCP/IP libraries, and you must be able to determine the protocol and port requirements to define the correct firewall rules for each different database platform]
[what about performance over the internet?]