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. Fue diseñado y desarrollado inicialmente por Sybase Inc. para su motor de base de datos relacional Sybase SQL Server en 1984, y posteriormente 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 netliby db-lib, para implementar SQL estándar . Se incluyó una biblioteca adicional para implementar "Bulk Copy" llamada blk. Mientras que netlibla función de es transferir datos entre las dos computadoras a través del protocolo de red subyacente , db-libproporciona una API al programa cliente y se comunica con el servidor a través de netlib. db-libenvía al servidor un flujo estructurado de bytes destinado a tablas de datos, de ahí un flujo de datos tabulares. blkproporciona, al igual que db-lib, una API a los programas cliente y se comunica con el servidor a través de netlib.
En 1990, Sybase firmó un acuerdo de intercambio tecnológico con Microsoft , lo que llevó a Microsoft a comercializar su propio SQL Server ( Microsoft SQL Server ), basado en el código de Sybase. Microsoft conservó la db-libAPI y añadió ODBC (desde entonces, Microsoft ha añadido API adicionales). Casi al mismo tiempo, Sybase presentó un sucesor más potente db-lib, llamado Open Client ct-lib, y denominó al conjunto Open Client . db-libAunque oficialmente obsoleto, sigue siendo de uso generalizado.
El protocolo TDS viene en varias versiones, la mayoría de las cuales no habían sido documentadas abiertamente. Esta situación cambió cuando Microsoft publicó la especificación TDS en 2008, [ 1 ] como parte de la Promesa de Especificación Abierta .
TDS cuenta con implementaciones tanto de cliente como de servidor, más allá de Microsoft SQL Server y Sybase. FreeTDS proporciona una implementación de cliente de biblioteca nativa gratuita del protocolo TDS, con licencia GPL-2.0 [ 2 ] . Wireshark dispone de un decodificador de protocolo para TDS. [ 3 ] CData e Invantive ofrecen implementaciones de servidor del protocolo TDS, que conectan TDS con otras plataformas de datos distintas de SQL Server. [ 4 ] [ 5 ]
Versiones del protocolo
Microsoft SQL Server ha utilizado varias revisiones del protocolo Tabular Data Stream (TDS). La especificación MS-TDS de Microsoft asigna TDS 7.1 a SQL Server 2000, TDS 7.2 a SQL Server 2005, TDS 7.3.A a SQL Server 2008, TDS 7.3.B a SQL Server 2008 R2, TDS 7.4 a SQL Server 2012 y versiones posteriores, y TDS 8.0 a SQL Server 2022 y versiones posteriores. [ 6 ]
TDS 4.2, asociado a productos más antiguos de Sybase y Microsoft, y TDS 5.0, utilizado por Sybase, son distintos de las versiones posteriores de TDS 7.x y 8.0, específicas de Microsoft.
Protocolos similares
Oracle Corporation proporciona Oracle Net , un software análogo a TDS. [ 13 ]
Véase también
Referencias
- ↑ " [ MS-TDS ] : Protocolo de flujo de datos tabulares" . Consultado el 29 de abril de 2014 .
- ↑Sitio web de FreeTDS
- ↑wiki de Wireshark.org
- ↑Servidor vinculado CData
- ↑Servidor Invantive UniversalSQL
- ↑ " [ MS-TDS ] : Apéndice A: Comportamiento del producto" . Microsoft Learn . Consultado el 22 de abril de 2026 .
- ↑ "Guía del usuario de FreeTDS: Versiones del protocolo TDS" . GitHub . Consultado el 22 de abril de 2026 .
- ↑ " [ MS-TDS ] : Tipos de datos con prefijo de longitud parcial" . Microsoft Learn . Consultado el 22 de abril de 2026 .
- ↑ " [ MS-TDS ] : Tipos de datos de longitud variable" . Microsoft Learn . Consultado el 22 de abril de 2026 .
- ↑ " [ MS-TDS ] : Apéndice A: Comportamiento del producto" . Microsoft Learn . Consultado el 22 de abril de 2026 .
- ↑ " [ MS-TDS ] : FEATUREEXTACK" . Microsoft Learn . Consultado el 22 de abril de 2026 .
- ↑ "TDS 8.0 - SQL Server" . Microsoft Learn . Consultado el 22 de abril de 2026 .
- ↑ "Oracle Net Services" . Oracle . Consultado el 22 de abril de 2026 .
Enlaces externos
- [ MS-TDS ] : Especificación del protocolo de flujo de datos tabulares , Microsoft
- ¿Qué es TDS? , sybase.com
- FreeTDS
- TinyTDS , enlaces Ruby para FreeTDS.
- jTDS , un controlador JDBC escrito completamente en Java para bases de datos TDS.
- jBCP , una extensión de jTDS para incluir protocolos BCP.
- Patente de Estados Unidos 7318075: Protocolo mejorado de flujo de datos tabulares , Microsoft
- Patente: Protocolo de transporte de parámetros con valores de tabla a través de un flujo de datos tabulares , Microsoft
- Solicitud de patente: COMPRESIÓN DE COLUMNAS NULAS EN FILAS DEL PROTOCOLO DE FLUJO DE DATOS TABULARES , Microsoft
- Wiki de WireShark: Protocolo tds
- protocolos de la capa de aplicación
- Protocolos de acceso a bases de datos