<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0">

<channel>

<title>Блог Корейши Виктора, posts tagged: администрирование</title>
<link>https://koreysha.ru/?go=tags/administrirovanie/</link>
<description></description>
<generator>E2 (v3335; Aegea)</generator>

<item>
<title>Ubuntu, php и mssql</title>
<guid isPermaLink="true">https://koreysha.ru/?go=all/ubuntu-php-i-mssql/</guid>
<link>https://koreysha.ru/?go=all/ubuntu-php-i-mssql/</link>
<comments>https://koreysha.ru/?go=all/ubuntu-php-i-mssql/</comments>
<description>
&lt;p&gt;Возникла необходимость пересесть с уютного mysql на mssql. Делом это окзалось не таким уж и простым и полной инструкции в рунете я не нашел. У меня, как на ноуте, так и на сервере стоит убунта, так что напишу инструкцию для нее.&lt;br /&gt;
Для начала ставим модуль для php.&lt;br /&gt;
sudo apt-get install php5-sybase&lt;br /&gt;
После этого phpinfo() стал показывать блок mssql вот так:&lt;/p&gt;
&lt;div class="e2-text-picture"&gt;
&lt;img src="https://koreysha.ru/pictures/_087.png" width="636" height="655" alt="" /&gt;
&lt;/div&gt;
&lt;p&gt;Далее установим необходимые пакеты:&lt;br /&gt;
sudo aptitude install tdsodbc unixodbc odbc-bin php5-odbc&lt;/p&gt;
&lt;p&gt;Настройка FreeTDS.&lt;br /&gt;
Для настройки FreeTDS нужно в конфигурационный файл /etc/freetds/freetds.conf добавить новую секцию для нашего M$ SQL сервера (название секции может быть любым):&lt;/p&gt;
&lt;p&gt;[MsSQL]&lt;br /&gt;
host = sql.mydomen.ru&lt;br /&gt;
port = 1433&lt;br /&gt;
tds version = 8.0&lt;br /&gt;
client charset = WINDOWS-1251&lt;/p&gt;
&lt;p&gt;где:&lt;br /&gt;
host — доменное имя или IP сервера с SQL.&lt;br /&gt;
tds version — версия протокола TDS, которая определяется по таблице. Версия 8.0 для Microsoft SQL Server 2000.&lt;br /&gt;
FreeTDS использует iconv для перекодирования потока. Если client charset не установлена, то перекодировка отключается и используется дефолтная ISO-8859-1. Эта переменная может принимать все кодировки библиотеки iconv.&lt;/p&gt;
&lt;p&gt;Настройка ODBC.&lt;br /&gt;
Чтобы ODBC работала с FreeTDS нужно настроить драйвера, для этого скопируем файл описания драйверов из поставки FreeTDS /usr/share/freetds/odbcinst.ini в /etc/odbcinst.ini или, если /etc/odbcinst.ini уже существует и в нем есть записи других драйверов, добавим секцию для FreeTDS:&lt;/p&gt;
&lt;p&gt;[FreeTDS]&lt;br /&gt;
Description = TDS driver (Sybase/MS SQL)&lt;br /&gt;
Driver = /usr/lib/odbc/libtdsodbc.so&lt;br /&gt;
Setup = /usr/lib/odbc/libtdsS.so&lt;br /&gt;
CPTimeout =&lt;br /&gt;
CPReuse =&lt;/p&gt;
&lt;p&gt;Далее нужно настроить систему ODBC. Сделать это можно 2-мя путями:&lt;/p&gt;
&lt;p&gt;Посредством графической утилиты ODBCConfig (из пакета odbc-bin).&lt;br /&gt;
Отредактировать файл /etc/odbc.ini, внеся в него соответствующие секции:&lt;/p&gt;
&lt;p&gt;[SQLOnLine]&lt;br /&gt;
Description = FreeTDS&lt;br /&gt;
Driver = FreeTDS&lt;br /&gt;
Servername = MsSQL&lt;br /&gt;
Database = Report&lt;br /&gt;
UID = user&lt;br /&gt;
PWD = passwd&lt;br /&gt;
Port = 1433&lt;/p&gt;
&lt;p&gt;где:&lt;br /&gt;
Description — описание драйвера.&lt;br /&gt;
Driver — имя раздела из файла /etc/odbcinst.ini.&lt;br /&gt;
Servername — имя раздела, описывающего сервер БД, из файла /etc/freetds/freetds.conf.&lt;br /&gt;
Database — имя базы данных на MS SQL сервере, к которой нужно получить доступ.&lt;br /&gt;
UID и PWD — пользователь, заведенный на MS SQL сервере.&lt;/p&gt;
&lt;p&gt;Для проверки я использовал вот такой код:&lt;br /&gt;
echo «Testing...»;&lt;br /&gt;
if ($db = mssql_connect(‘ip:port’,’user’,’pass’)){;&lt;br /&gt;
echo $db;&lt;br /&gt;
mssql_select_db(‘BASE’, $db);&lt;br /&gt;
echo «connected to a database»;&lt;br /&gt;
mssql_close($db);&lt;br /&gt;
} else {&lt;br /&gt;
echo «connection failed»;&lt;br /&gt;
}&lt;br /&gt;
echo « end»;&lt;/p&gt;
&lt;p&gt;Где&lt;br /&gt;
ip — адрес сервера&lt;br /&gt;
port — порт&lt;br /&gt;
user — имя пользователя для базы&lt;br /&gt;
pass — пароль&lt;br /&gt;
BASE — имя базы данных&lt;/p&gt;
&lt;p&gt;Скрипт отработал и вывел в браузер&lt;br /&gt;
Testing...Resource id #1connected to a database end&lt;br /&gt;
Что значит, что все работает ок.&lt;/p&gt;
&lt;p&gt;Все вышеописанное не моя придумка, а сбор кусков разной длинны из разных источников. Надеюсь, что в таком виде кому-нибудь все это пригодиться.&lt;/p&gt;
</description>
<pubDate>Thu, 26 Dec 2013 04:12:32 +0500</pubDate>
</item>


</channel>
</rss>