Месяц тишины и воз интересной работы

Месяц тишины. Её причина – воз интересной работы (которая была как вызов – а смогу ли я).

Итак, к примеру, на прошлой неделе, я переделывал CMS для поддержки MSDE 2000 и ставил WebDAV на Apache 2.2.

Ну чтож, можно сказать что я точно овладел основами MSDE 2000. Поставил с поддержкой нужной аутентификации со второй попытки, без проблем переписал структуру таблиц с MySQL на MSSQL, определил тип полей, вобщем тут всё прошло относительно складно. Если кому придётся ставить MSDE 2000, то у инсталлера есть несколько занимательных параметров, которые вам помогут и запускать его лучше из коммандной строки.

Перепись самодельной абстракции для работы с базой данных и нескольких кастомных запросов заняла около 6 часов (при создании этой системы никто никогда не думал о других платформах), плюс время на тестирование каждой функции и отлов мелких глюков. Самое не приятное было то что в MySQL прекрасно хавает запросы типа INSERT INTO `table` SELECT * FROM `other_table` при одинаковой структуре таблиц, а MSSQL нужно указать конкретные поля и для INSERT и для SELECT частей.

Потом у меня было 2 загвоздки: не латинские символы и кол-во символов в полях text и ntext. При работе с PHP mssql_* функциями примеров в мануале почти минимум. Никаких Warning и Notice нету. Сидишь и как слепой котёнок дёргаешься туда-сюда.

Первый косяк был – не латинские символы, а точнее UTF-8. Так как в начале я использовал поля ntext, вся INSERT прошли нормально, а читать он от туда не смог. Всё время кидало сообщение “Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library”. Так не весело знаете… Структуру базы ис MYSQL перенёс, данные перенеслись, и если смотреть через менеджеры – удачно, а читать не могу. Правда потом нашёл решение в сети – рекомендовали использовать поля типа text. Поменял, заново импортировал данные – всё заработало.Да, была попытка использовать ODBC, но тоже ничем хорошим не увенчалась.

Вылез второй косяк – некоторые очень длинные тексты были обрезаны. Оказалось у PHP mssql_* есть 2 параметра в php.ini, которые ограничивают длину полей ntext и text. это параметры mssql.textsize и mssql.textlimit (кстати нихера не документированные и нигде не упомянаются в мануале), значение в PHP4 которых равно 4096 (чего-то там). Если им вписать -1, то это ничего не меняет, а если вписать магическое число 2147483647 – всё встаёт на свои места.

Итак, всё работает. После MySQL впечатления о MSSQL никакие. Я бы не хотел ещё раз возвращаться к таким проектам, где нужно использовать MSSQL.

С WebDAV у меня всё пошло куда на много быстрее. Apache я знаю достаточно хорошо, чтобы за полтора-два часа на нём всё запустить да так, что-бы всё работало. Особых косяков небыло, за исключением аутентификации. Какой-то чёрт меня дёрнул использовать AuthType Digest, но от него позже я отказался и перешёл на AuthType Basic. Так-же не давал покоя error.log, в котором постоянно была строчка configuration error: couldn’t check access. No groups file?. Создание group файла ему не помогло, тогда чисто методом научного тыка я включил все модули аутентификации, которые идут с Apache 2.2 – помогло, ошибки нет, всё работает. Сейчас это тестируется, и пока с Windows и MAC OS X платформы работает нормально.

Теперь я подумываю о создании WebDAV шаринга с использованием Subversion для автоматического отслеживания версионности файлов.

А ещё я: получил на работе новую машинку – Intel Core 2 Duo 2.33 GHz и 2 GB RAM, и 300 GB SATA2 диском, удачно на неё перенёс все проекты над которыми работаем и приготовился к резервному копированию (старый но нужных файлов). Таки нашёл способ работать над одним сложным и большим проектом в команде из людей, находящихся в разных концах офиса и планеты. Наконец добрались руки поставить реверс-прокси на Apache 2.2 и решить проблему 80 порта и одного IP в офисе. Да и просто сделал много классной работы и выпил не один бокал хорошего пива.

2 thoughts on “Месяц тишины и воз интересной работы

  1. MiguelNo Gravatar

    Stranno 4to pro otsutstvie LIMIT 10, 20 v MsSql ni4ego nenapisal. Vrode vo vsjakih cms na mysql eto ispol’zueca o4en’ 4asto. A v MsSQL nado poparica..

  2. Сергей КуракинNo Gravatar Post author

    Хм, точно. Ужас какой-то, что его там нет. Но сдругой стороны, ведь MSSQL это Ентерпрайс решение, а когда много данных MYSQL LIMIT 50000,20 это не самое быстрое, особенно на сложных процессах.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.