Tabular Data Stream ( TDS ) es un protocolo de capa de aplicación que se utiliza para transferir datos entre un servidor de base de datos y un cliente. Inicialmente fue diseñado y desarrollado por Sybase Inc. para su motor de base de datos relacional Sybase SQL Server en 1984, y más tarde por Microsoft en Microsoft SQL Server .
Historia
Durante el desarrollo inicial de Sybase SQL Server, los desarrolladores de Sybase percibieron la falta de un protocolo de nivel de aplicación comúnmente aceptado para transferir datos entre un servidor de base de datos y su cliente . Para fomentar el uso de sus productos, Sybase promovió el uso de un par de bibliotecas flexibles , llamadas netlib
y db-lib
, para implementar SQL estándar . Se incluyó una biblioteca adicional para implementar "Bulk Copy" llamada blk
. netlib
El trabajo de While es transportar datos entre las dos computadoras a través del protocolo de red subyacente , db-lib
proporciona una API al programa cliente y se comunica con el servidor a través de netlib
. db-lib
envía al servidor un flujo estructurado de bytes destinado a tablas de datos, por lo tanto, un flujo de datos tabular. blk
proporciona, como db-lib
, una API a los programas cliente y se comunica con el servidor a través de netlib
.
En 1990, Sybase celebró un acuerdo de intercambio de tecnología con Microsoft que dio como resultado que Microsoft comercializara su propio SQL Server, Microsoft SQL Server , basado en el código de Sybase. Microsoft mantuvo la db-lib
API y agregó ODBC . (Desde entonces, Microsoft ha agregado API adicionales). Casi al mismo tiempo, Sybase introdujo un sucesor más poderoso db-lib
, llamado ct-lib
y llamado, el par Open Client . db-lib
, aunque oficialmente desaprobado, sigue siendo de uso generalizado [ cuantificar ] .
El protocolo TDS viene en varias variedades, la mayoría de las cuales no han sido documentadas abiertamente porque fueron consideradas [¿ por quién? ] como tecnología patentada . La excepción fue TDS 5.0, utilizado exclusivamente por Sybase, cuya documentación está disponible en Sybase. [1] Esta situación cambió cuando Microsoft publicó la especificación TDS en 2008, [2] como parte de Open Specification Promise .
El equipo de FreeTDS ha desarrollado una implementación de biblioteca nativa gratuita del protocolo TDS, [3] con licencia LGPL . WireShark tiene un decodificador de protocolo para TDS. [4]
Oracle Corporation proporciona Oracle Net : software análogo a TDS. [5]
Referencias
- ^ "Especificación funcional TDS 5.0, versión 3.8" (PDF) . Consultado el 8 de julio de 2009 .
- ^ "[MS-TDS]: Protocolo de flujo de datos tabulares" . Consultado el 29 de abril de 2014 .
- ^ Chip Andrews; David Litchfield; Bill Grindlay (2003). Seguridad del servidor SQL . Profesional de McGraw-Hill . pag. 260. ISBN 0-07-222515-7.
- ^ protocolo / tds , wiki de Wireshark.org
- ^ "Servicios de integración de SQL Server con Oracle Database 10g" . Artículo técnico de SQL Server. Microsoft. Mayo de 2008. p. 2 . Consultado el 20 de julio de 2017 .
Oracle Net es análogo a la función de transporte de flujo de datos tabulares (TDS) de SQL Server.
enlaces externos
- Red de desarrolladores de Microsoft , especificación del protocolo de flujo de datos tabulares
- ¿Qué es el TDS? , sybase.com
- FreeTDS
- TinyTDS , enlaces Ruby a FreeTDS.
- jTDS , un controlador JDBC de Java puro para bases de datos TDS
- jBCP , una extensión de jTDS para incluir protocolos BCP
- Patente de Estados Unidos 7318075: Protocolo de flujo de datos tabulares mejorado , Microsoft
- Patente: TRANSPORTING TABLE VALUED PARAMETER OVER TABULAR DATA STREAM PROTOCOLO , Microsoft
- Solicitud de patente: COMPRIMIR COLUMNAS NULAS EN FILAS DEL PROTOCOLO TABULAR DATA STREAM , Microsoft
- Wiki de WireShark: Protocolo tds