2010-05-07 4 views
0

У меня возникла сумасшедшая мысль о написании моего собственного драйвера SQL Server, чтобы он работал как неблокирующий клиент http, поэтому он не будет потреблять поток и может обрабатывать множество запросов db в одном потоке.Пользовательский драйвер SQL Server

Я попытался просмотреть google некоторые рекомендации по внедрению клиентского протокола SQL Server, но не нашел ничего, где эти ребята получают информацию об этом, когда они пишут собственные реализации для PHP или python?

Мне нужен действительно низкий уровень для документирования, поэтому я могу реализовать все этапы работы с подключением через сокеты. И было бы очень приятно иметь пример на языке C#. :)

+1

Действительно ли вы нарушили стандартный драйвер или полностью отключили его или перегрузили? – gbn

+0

нет, я просто хочу запустить его без блокировки, у меня ограниченное количество потоков, которые я могу запустить за один раз, поэтому я хочу использовать как можно больше пользователей для одиночного потока;) и на самом деле я действительно не знаю, почему MS скрывает его реализацию TDS и раскрывает только часть ADO :(Я имею в виду, что они оставляют оболочку более высокого уровня и по какой-то причине не будут предоставлять доступ к более низкому, я на что-то вроде проекта opentds и чувствую зависть, потому что у него это есть, и я dont .. :( – hoodoos

+0

Зачем кому-то это делать? Это законный вопрос, который задан с использованием правильного формата q и. Конечно, может быть излишним реализовать собственный SQL-драйвер, но нет ничего по своей сути неправильно с попыткой этого или хотите сделать это ради небольшого самоуничижения или как учебное упражнение. – AaronHS

ответ

2

Я регулярно использую существующие Async functionality in the .NET SQLClient, это легко позволяет использовать дополнительные потоки для операций с базой данных.

Я не уверен, как бы вы справились с несколькими неблокирующими операциями в одном потоке.

+0

Я узнаю, когда закончим, это просто забавный случай, но, возможно, будет работать очень хорошо. – hoodoos

2

MSSQL протокол спецификация:

http://www.microsoft.com/downloads/details.aspx?familyid=91ef5106-944a-41e1-b3a0-5bd3f2356f32&displaylang=en

ничего не зная фактическое об этом, я бы предположил, что PHP и др использовать либо родную MSSQL API или они используют стандартизированные ODBC - коробление вокруг в протоколе уровень просто просят об этом.

+0

Что такое родной mssql api you упоминается? и что такое стандартизированный ODBC? есть ли стандарт для протокола базового типа SQL db? – hoodoos

+0

ODBC: http://en.wikipedia.org/wiki/Open_Database_Connectivity Родной: http://msdn.microsoft.com/en-us/data/aa937733.aspx, когда вы живете в неуправляемой стране как PHP, Python время выполнения. –

Смежные вопросы