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. От лукавого это все.

Удаление вируса “Ростелеком канал перегружен”

Интересные дела – “новый” вирус, который отслеживает запросы пользователя в браузере, а после редиректит его на сайт http://rostelecom.ru/ с сообщением, что мол “Канал перегружен” и что “Для подключения резервного канала введите свой мобильный номер телефона”. Рядовой пользователь подумает “О, круто, сейчас введу и мне дадут интернет”, но не тут то было. Ростелеком предупреждает, что это не они. И вправду – какой нафиг резервный канал? xD
Антивирус Касперского определяет данный тип вирусов как Trojan.Win32.Mondere.go, DrWeb же отличился и назвал его как Trojan.Mayachok.1. Данный вирус относится к классу троянов и находится в папке “system32”. Каким способом он распространяется понять я пока не смог, но наверное так же как и многие другие – заражение флешки.

Избавится от этого зловреда проще простого. Для этого нам понадобится avz [инструкция | скачать | зеркало] и воспользоваться хитростями этой прекрасной программы. В меню “Файл” выбрать “Отложенное удаление файла”, зайти в папку C:\WINDOWS\system32\ и отсортировать все файлы по дате создания, выбрать тот файл с расширением .dll, который был создан последним или был создан в день возникновения проблемы (внимание! Это будет один единственный файл!) и выбрать его. Имя файла может быть хаотичное. Например в моем случае файл назывался “vqollea.dll”. Обычно это набор из букв латинского алфавита без какой-либо последовательности. После нажатия кнопки “Ок” компьютер необходимо перезагрузить. Так же я советовал бы воспользоваться программой MalwareBytes после проверки. Программа, в её ограниченной версии, бесплатная, работает она намного быстрее, чем DrWeb Cureit!, а вирусы находит так же хорошо!

И да, не забывайте про лицензионные антивирусы.

Если не знаете какой файл удалить – лучше спросите в комментариях, какой файл нашли. Постараюсь помочь.

Ошибка С0000034 при операции обновления Windows 7 SP1

Данная ошибка возникает при попытке обновления Windows 7 до Service Pack 1.
В частности по скольку на данный момент Я пользуюсь лицензионной копией этой операционной системы Я могу с легким сердцем позвонить в техническую поддержку Microsoft, но т.к. я не силен в английском (в Российское представительство работает с 8 до 20 по МСК) – это был не вариант.
Итак, проблема возникает при попытке обновления Windows 7 до SP1.
На данный момент решается следующим образом:

  • При загрузке операционной системы выберите средства восстановления ОС
  • При поиске проблем нажмите “Отмена”
  • В появившемся окне выберите “Не отправлять”
  • Нажмите ссылку “Просмотреть расширенные опции восстановления и поддержки”
  • В новом окне выберите последний пункт “Command promt” или “Командная строка”
  • Наберите notepad.exe
  • Нажмите “Файл” – “Открыть”
  • Смените “Тип файла” с “тхт” на “Все файлы”
  • Перейдите в папку C:\Windows\winsxs\ (или в папку Windows на вашем системном разделе, если он у вас не С)
  • В этой папке найдите файл pending.xml и сделайте его копию
  • Откройте основной файл pending.xml и с помощью поиска (CTRL+F) найдите следующий текст БЕЗ КАВЫЧЕК: “0000000000000000.cdf-ms
  • Выделите и удалите всю строку
    <Checkpoint/>
    <DeleteFile path="\SystemRoot\WinSxS\FileMaps\_0000000000000000.cdf-ms"/>
    <MoveFile source="\SystemRoot\WinSxS\Temp\PendingRenames\e56db1db48d4cb0199440000b01de419._0000000000000000.cdf-ms" destination="\SystemRoot\WinSxS\FileMaps\_0000000000000000.cdf-ms"/>
    
  • Сохраните файл и перезагрузите компьютер.

Учтите, что текст в вашем файле pending.xml может незначительно отличаться от указанного выше.

Это не установит вам SP1, но избавит от головной боли в виде непонятной ошибки с непонятным кодом. В будущем позвоню в Microsoft и поинтересуюсь каким образом можно решить эту проблему с установкой пакета обновлений. На это было забито, т.к. система работает стабильно уже почти полгода.

Если ничего вообще не помогло или вы не нашли этого файла, то можете попробовать решить проблему так, как описано в этой статье.

Если Вам помогло – расскажите друзьям в Твиттере.

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

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

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