parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Parser 3 Native MS SQL 2005 driver (готово блин)

egr 18.01.2008 00:27 / 18.01.2008 09:54

Примечания:

1. Нет транзакций "по-умолчанию", т.е. неявных транзакций на каждый запрос, которые делает, например ODBC драйвер. Не сделал потому что считаю пользователь сам может их делать (если ему нужно), используя BEGIN TRAN, COMMIT TRAN, ROLLBACK
2. Можно выполнять хранимые процедуры и получать результаты и в виде скаляра(int, double string etc) и в виде таблицы.
3. Пока не поддерживается binding параметров (параметризованные запросы)
4. Поддерживается и Windows Integrated security и SQL Server security
5. Пока не сделана нормально поддержка $request:charset и $response:charset отличных от UTF-8, - это выражается в том, что все ваши файлы должны быть в кодировке UTF-8

Формат строки подключения:

Windows Integrated: mssql://server=<server>^;database=<database>^;Trusted_Connection=Yes?ClientCharset=windows-1251
SQL Server: mssql://Server=<server>^;Database=<database>^;Uid=<login>^;Pwd=<password>?ClientCharset=windows-1251

Замечания по limit и offset:

В связи с тем, что в MS SQL отсутствует опция offset, имеющаяся в MySQL, сделать эффективную реализацию поведения limit и offset используя средства парсера, не представляется возможным в общем случае (для простых случаев можно, но это не выход). Поэтому, текущая реализация этой опции, крайне неэффективна (как и в ODBC драйвере). Я подумываю о том, чтобы просто это запретить при использовании этого драйвера (путем выброса исключения). Но выход есть. Необходимо просто формировать SQL запросы соответствующим образом. Схема следующая:

select top <limit>... from <table> where <pk> not in (select top <offset> <pk> from <table> [order by <fields>]) [order by <fields>]

Подключение драйвера:

mssql <path>\parser3mssql.dll

Никакая клиентская библиотека не нужна, нужно только на том компьютере где сервер с парсером, поставить MS SQL Native Client. Брать отсюда http://www.microsoft.com/downloads/details.aspx?FamilyId=50b97994-8453-4998-8226-fa42ec403d17&DisplayLang=ru файл sqlncli.msi

PS: Скорее всего будет работать и для MS SQL 2000 и для 2008, но это не проверял

Качать отсюда: http://www.egoroff.spb.ru/portfolio/download/