- Tabular Data Stream
Tabular Data Stream (TDS) is an
application layer protocol, used to transfer data between adatabase server and a client. Initially designed and developed bySybase Inc. for theirSybase SQL Server relational database engine in1984 , and later byMicrosoft inMicrosoft SQL Server .Background
During the early development of Sybase SQL Server, the developers at Sybase realized that there was no commonly accepted application-level protocol to transfer data between a
database server and its client. To encourage the use of their products, Sybase came up with a solution through the use of a flexible pair of libraries called netlib, and db-lib to implement standardSQL . A further library was included to implement "Bulk Copy" called blk. Whilenetlib
's job is to ferry data between the two computers through the underlyingnetwork protocol ,db-lib
provides an API to the client program, and communicates with the server via netlib. db-lib sends to the server a structured stream of bytes meant for tables of data, hence a Tabular Data Stream.blk
provides, likedb-lib
, an API to the client programs and communicates with the server via netlib. Unlike SQL, it provides a proprietary but much faster protocol for loading data into a database table.In
1990 , Sybase entered into a technology sharing agreement withMicrosoft which resulted in Microsoft marketing its own SQL Server —Microsoft SQL Server — based on Sybase's code. Microsoft kept thedb-lib
API and addedODBC . (Microsoft has since added additional APIs.) At about the same time, Sybase introduced a more powerful "successor" to db-lib, calledct-lib
, and called the pairOpen Client .The TDS protocol comes in several varieties, most of which had not been openly documented because they were considered to be proprietary technology. The exception was TDS 5.0, used exclusively by Sybase, for which documentation is available from Sybase. This state changed when Microsoft published the TDS specificationcite web | url = http://msdn.microsoft.com/en-us/library/cc216514.aspx | title = Open Specification - Introduction | accessdate = 2008-07-17] , probably due to the Open Specification Promise.
A free native library implementation of the TDS protocol has been developed by the
FreeTDS team, licensed under the LGPL license.References
External links
* [http://msdn.microsoft.com/en-us/library/cc448435.aspx Microsoft Developer Network] , Tabular Data Stream Protocol Specification
* [http://www.freetds.org/ FreeTDS]
* [http://jtds.sourceforge.net jTDS] , a pure-JavaJDBC driver for TDS databases
Wikimedia Foundation. 2010.