Tabular Data Stream ( TDS ) - это протокол прикладного уровня , используемый для передачи данных между сервером базы данных и клиентом. Первоначально он был спроектирован и разработан Sybase Inc. для ядра реляционной базы данных Sybase SQL Server в 1984 году, а затем Microsoft для Microsoft SQL Server .
История
На начальном этапе разработки Sybase SQL Server разработчики Sybase заметили отсутствие общепринятого протокола уровня приложений для передачи данных между сервером базы данных и его клиентом . Чтобы стимулировать использование своих продуктов, Sybase продвигала использование гибкой пары библиотек , называемых netlib
и db-lib
, для реализации стандартного SQL . Дополнительная библиотека была включена для реализации функции «Массовое копирование» blk
. В то время как netlib
работа заключается в передаче данных между двумя компьютерами через базовый сетевой протокол , db-lib
предоставление API для клиентской программы и связь с сервером через netlib
. db-lib
отправляет на сервер структурированный поток байтов, предназначенный для таблиц данных, отсюда и поток табличных данных. blk
предоставляет db-lib
API для клиентских программ и взаимодействует с сервером через netlib
.
В 1990 году Sybase заключила соглашение о совместном использовании технологий с Microsoft, в результате чего Microsoft начала продавать свой собственный SQL Server - Microsoft SQL Server - на основе кода Sybase. Microsoft сохранила db-lib
API и добавила ODBC . (С тех пор Microsoft добавила дополнительные API.) Примерно в то же время Sybase представила более мощного преемника db-lib
, названного ct-lib
и названного парой Open Client . db-lib
, хотя официально не рекомендуется, по-прежнему широко используется [ количественно ] .
Существует несколько разновидностей протокола TDS, большинство из которых не были открыто задокументированы, поскольку были рассмотрены [ кем? ] как патентованная технология . Исключением был TDS 5.0, используемый исключительно Sybase, документация по которому доступна в Sybase. [1] Эта ситуация изменилась, когда Microsoft опубликовала спецификацию TDS в 2008 году [2] как часть Open Specification Promise .
Команда FreeTDS разработала бесплатную реализацию протокола TDS в нативной библиотеке [3] под лицензией LGPL . WireShark имеет декодер протокола для TDS. [4]
Корпорация Oracle предоставляет Oracle Net - программное обеспечение, аналогичное TDS. [5]
Рекомендации
- ^ «Функциональная спецификация TDS 5.0, версия 3.8» (PDF) . Проверено 8 июля 2009 . CS1 maint: обескураженный параметр ( ссылка )
- ^ «[MS-TDS]: протокол потока табличных данных» . Проверено 29 апреля 2014 . CS1 maint: обескураженный параметр ( ссылка )
- ^ Чип Эндрюс; Дэвид Литчфилд; Билл Гриндли (2003). Безопасность SQL-сервера . McGraw-Hill Professional . п. 260. ISBN 0-07-222515-7.
- ^ протокол / tds , Wireshark.org wiki
- ^ «Службы интеграции SQL Server с Oracle Database 10g» . Техническая статья по SQL Server. Microsoft. Май 2008. с. 2 . Проверено 20 июля 2017 .
Oracle Net аналогичен транспортному средству SQL Server Tabular Data Stream (TDS).
Внешние ссылки
- Сеть разработчиков Microsoft , спецификация протокола потока табличных данных
- Что такое TDS? , sybase.com
- FreeTDS
- TinyTDS , привязки Ruby к FreeTDS.
- jTDS , драйвер JDBC на чистом Java для баз данных TDS
- jBCP , расширение jTDS для включения протоколов BCP
- Патент США 7318075: Расширенный протокол потока табличных данных , Microsoft.
- Патент: ТРАНСПОРТИРОВКА ПАРАМЕТРОВ ТАБЛИЧНЫХ ЗНАЧЕНИЙ ПО ПРОТОКОЛУ ТАБЛИЧНОГО ПОТОКА ДАННЫХ , Microsoft
- Заявка на патент: СЖАТИЕ НУЛЕВЫХ СТОЛБЦОВ ПО СТРОКАМ ПРОТОКОЛА ТАБЛИЧНОГО ПОТОКА ДАННЫХ , Microsoft
- WireShark wiki: протокол tds