09 Окт

PHP + MSSQL

Попросили меня тут на днях сделать простенький интерфейсик для работы с базой данных одной программы по управлению доступом (СКУД). Но дело в том, что там используется база MSSQL.
Не, ну а чо, микрософт, так микрософт. Начал рыть инфу, что да как делать. В общем, нашел такую штуку как FreeTDS — это драйвер для подключения как раз-таки к нужной мне БД.
Поставил, прогеморроился полдня с ней, но так и не получилось настроить. В итоге начал искать другие варианты.
И наткнулся на одном сайте, что с php, установленной через apt-get, не очень кошерно использовать тулзы, установленные из исходников. Подсказали, что при таком варианте достаточно доустановить просто
apt-get install libsybdb5 freetds-common php5-sybase
/etc/init.d/apache2 restart

В общем, установил, рестартнул Апач, в коде пхп прописал что-то типа такого:

  try {
    $hostname = "server_ip";
    $port = 1433;
    $dbname = "DatabaseName";
    $username = "Login"; 
    $pw = "Password"; 
    $pdo = new PDO ("dblib:host=$hostname:$port;dbname=$dbname",$username,$pw);
  } catch (PDOException $e) {
    echo "Failed to get DB handle: " . $e->getMessage() . "\n";
    exit;
  }

и всё волшебным образом заработало!

08 Апр

Удаление старых логов MSSQL

Какие, порой, удивительные открытия можно сделать, если немного углубиться в настройки того инструмента, которым пользуешься!

Недавно, например, я узнал, что MSSQL Server может сам за собой подчищать бэкапы, причем за любую дату. .__.

Для этого необходимо просто в инструменте бэкапов найти пункт удаления старых файлов (Maintenance Cleanup Task) и добавить его в очередь после, собственно, выполнения бэкапов. Тогда он подчистит файлы, к примеру, старше чем 1 день.

Чистка бэкапов MSSQL

Порой становится обидно, что раньше сидел, мудился с этими скриптами, искал, как сделать что-то, а потом выясняется что такая функция уже давно есть в том инструменте, который используешь все время. Ну, что ж, за глупость необходимо платить. На этот раз я заплатил своими усилиями и временем.