Select view from mssql in php

Пришлось немного поковыряться с MSSQL. В ходе работы наткнулся на странную особенность: из среды Microsoft SQL Server Management Studio все выборки идут отлично, а в случае использования где-либо еще за пределами этой среды натыкаюсь на то ли баги, то ли…
В общем, для того, чтобы сделать select из view в mssql необходимо перед select’ом выполнить следующий запрос:

$sql = 'SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_WARNINGS ON
SET ANSI_PADDING ON
SET ARITHABORT ON';

Yii::app()->mssql->createCommand($sql)->queryAll();

После этого select можно делать стандартным методом:

$sql = 'SELECT * FROM View_Region_client;';

$distributor_link = Yii::app()->mssql->createCommand($sql)->queryAll();

Иначе, в случае не использования, можем наткнуться на ошибки типа:

 SQLSTATE[HY000]: General error: 208 General SQL Server error: Check messages from the SQL Server [208] (severity 16) [(null)]. The SQL statement executed was: SELECT * FROM DHWRiver.dbo.View_Region_client;

А вообще – не используйте, дети, mssql. От лукавого это все.

Ошибка 0xc0000005

Данная проблема стала проявляться на 64 битных ОС Windows 7. Ошибка в обновлениях Windows. Исправляется путем запуска команд через командную строку.

1 – Нажать “Пуск”
2 – Набрать “cmd” и открыть командную строку Windows
3 – Набрать wusa.exe /uninstall /kb:2859537
4 – После удаления обновления выбрать “Перезагрузить позже”
5 – В командной строке набрать wusa.exe /uninstall /kb:2872339.
6 – После удаления перезагрузить компьютер

После удаления обновлений более их не ставить (именно указанные пакеты (kb2859537 и kb2872339) и проблема проявляться не будет.

Magnet ссылки в Google Chrome в Windows

Для того, чтобы указать приложение по умолчанию, которое будет обрабатывать ссылки типа “magnet” в Google Chrome на Windows необходимо сделать следующее:

1 – Открыть regedit (Пуск → Выполнить → regedit)
2 – Перейти в ветку HKEY_CLASSES_ROOT\magnet\shell\open\command
3 – Тип “REG_SZ” и значение – полный путь до приложения с ключом. Например: “C:\Program Files\Peers\Peers.exe /magnet %1”

“Тормозит интернет!” и как с этим бороться

Ситуация проста и банальна: есть клиент, который утверждает, что тормозит интернет основываясь на визуальной загрузке страниц, на маленькой скорости загрузки с сайтов, делаются замеры с помощью команд “ping”, делается “traceroute”, замеряется все с помощью “winmtr” и, когда получаются результаты тестирования клиент делает неправильный вывод, что провайдер не хочет оказывать услуги соответствующие качеству. В итоге – клиент не доволен.

Итак, решение Continue reading ““Тормозит интернет!” и как с этим бороться”

Удаление порнобаннеров

Есть несколько способов удаления порнобаннеров. Я пользуюсь каждым – в зависимости от ситуации. Сейчас я попробую описать самые популярные из них. Данная статья не совсем для новичков. Коллеги могут попробовать дополнить:

1 вариант (ленивый):
Удаление с помощью кодов. Существует несколько сайтов, на которых уже есть коды доступа для баннеров. Некоторые из них помогают, а некоторые не очень. Continue reading “Удаление порнобаннеров”

System грузит систему на 100 %

Обычно такая проблема возникает при установленном Dr-Web. Для того, чтобы решить проблему достаточно просто отключить “Расширенный режим” в настройках программы (Dr-Web). Если проблема не решается – обратиться за помощью на официальный форум Dr-Web.

AVZ. Утилита для быстрого восстановления Windows

Бывает такое – пользуется компьютером вся семья: папа качает эротику, читает новости, играет в игрушки. Мама – читает кулинарные сайты, сидит с подругами на одноклассниках, обсуждает мужа, который качает эротику. Дети играются, сидят во вконтакте. Все это – потенциальные жертвы для злоумышленников. И наступает день, когда компьютер отказывает нормально работать: тормозит, выскакивают сообщения о вирусах в нод32 или прочем недоантивирусе, разнообразные ошибка и прочее. Тут надо что-то делать. Ведь ни мама, ни папа, ни, в конце-концов дети не озаботились настоящей безопасностью компьютера и не проходили курсы по компьютерной грамотности.

Тут на помощь приходит “аптечка сисадмина” и главное в этой аптечки – антивирусная утилита AVZ.
Continue reading “AVZ. Утилита для быстрого восстановления Windows”

О чем может пищать компьютер?

Сегодня был случай у знакомого – не включается компьютер и сообщает об ошибке писком. Под рукой конечно же не было ни бумажки с кодами писков для биоса, а в голове не осталось и следа о давнейших нравоучений моих учителей в виде гугла и вики. Проблему я, конечно, решил (дело оказалось в неправильных настройках биоса по отношению к видео карте), но про писки помню и решил, что надо освежить память – какие бывают писки и как их решить.
Continue reading “О чем может пищать компьютер?”

Порнобаннер с гей-порно

Сегодня встретился такой представитель заразы. Вычищается предельно просто, но для этого необходимо иметь при себе какую-нибудь дополнительную ОС, т.к. коды с сайта Dr.Web’а и Касперского не помогают. Итак: загружаемся под, скажем, livecd lubuntu.

Wikipedia:

Lubuntu (произносится: «лу́бунту») — видоизменённая версия Linux-дистрибутива Ubuntu.

Целью проекта Lubuntu является создание легковесного энергоэффективного дистрибутива с малым потреблением ресурсов. В качестве менеджера рабочего стола используя LXDE[2][3][4]. Рабочий стол LXDE использует оконный менеджер Openbox и нетребователен к системным ресурсам. Он вполне подходит для нетбуков, портативных устройств и старых персональных компьютеров. Похожие цели преследует и проект Xubuntu.

Continue reading “Порнобаннер с гей-порно”

Обработка ответа от MySQL в Perl и Template Toolkit

Буду периодически писать о Perl и Template Toolkit. Информации в интернете чуть более, чем достаточно, а я буду собирать то, что нужно мне здесь.

При работе с БД получая данные с помощью fetchall_hashref($key) шаблоны надо парсить так:

Получаем ответ от БД

$res->fetchall_hashref($key_field);

, где $key_field ключ, который будет использоваться для дальнейшей обработки.
Подробнее про функцию тут.

После в шаблоне организуем foreach:

                [% FOREACH variable IN variables.pairs %]
                    [% variable.value.field %]<br />
                [% END %]

, где variables – хэш, .pairs – обработчик Template Toolkit, который присвоит variable ключи и значения без потерь. После этого к любому полю в строке можно будет получить доступ указав variable.value.field, заменив .field на название своего поля в таблице.
Подробнее про pairs тут.

Удаление баннера на красном фоне с порно фотографиями

Если у вас появился баннер, текст которого приблизительно следующий:

Добро пожаловать
Вы установили наш банер для получения доступа на наш сайт. Срок действия рекламного банера 30 дней. Если решили прекратить его дейсвтие — отправьте 1 смс. В ответ получите код для удаления.

Предлагается отправить смс на номер 9800 с текстом 733156 или 733177.
Отправлять СМС не надо!

Необходимо сделать следующее:
Continue reading “Удаление баннера на красном фоне с порно фотографиями”

Домашний “роутер” на Freebsd – часть 2

Продолжим нашу тему домашнего роутера на Freebsd.

В этом посте я опишу как сделать bridge из wi-fi и lan, hostapd, который позволит управлять wi-fi точкой доступа (например мы сможем поставить шифрование WPA2-PSK), а так же настроим DHCP для FreeBSD. Для тех кому нужен только wi-fi (или lan) могут настроить так же, как и здесь опустив настройку бриджа.

Итак – мы собрали ядро в необходимыми параметрами и устройством if_bridge.
Continue reading “Домашний “роутер” на Freebsd – часть 2″

Домашний “роутер” на Freebsd – Часть 1

Как Я и обещал – пишу о том, как создать домашний сервер на базе FreeBsd. В сумме роутер должен уметь как минимум раздавать интернет по вай-фай и по кабелю, пропускать мультикаст для IP-TV, отлично отсеивать шлак (firewall) и справляться с большими нагрузками, от которых обычные роутеры валятся (для меня связующим звеном стала невозможность качать быстро файлы по DC++ из-за того, что родители постоянно сидели на торрентах).

Итак, приступим. Continue reading “Домашний “роутер” на Freebsd – Часть 1″