Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Подключение PHP к SQL Server через FreeTDS в Ubuntu Server  (Прочитано 1557 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн redactor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Добрый день!

Пробовал подключиться из Ubuntu Server 15 в сценарии PHP к своему SQL Server Express 2014 установленном на нетбуке по адресу 192.168.1.41.
Предварительно разрешил TCP/IP соединения и открыл порт 1433 в брандмауэре Windows 7.
Пользователь активный "sa" с проверкой подлинности SQL Server.
FreeTDS настроен в файлах:

/etc/odbcinst.ini

# Define where to find the driver for the Free TDS connections.
# Make sure you use the right driver (32-bit or 64-bit).
[freetds]
Description = MS SQL database access with Free TDS
Driver      = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
Setup       = /usr/lib/i386-linux-gnu/odbc/libtdsS.so
UsageCount  = 1

/etc/freetds/freetds.conf

# My Server on local netbook
[Mssql]
host = 192.168.1.41
port = 1433
tds version = 8.0
database = AdventureWorks2014
client charset = UTF-8
UID = sa
PWD = password

/etc/odbc.ini

# Define a connection to a Microsoft SQL server
# The Description can be whatever we want it to be.
# The Driver value must match what we have defined in /etc/odbcinst.ini
# The Database name must be the name of the database this connection will connect to.
# The ServerName is the name we defined in /etc/freetds/freetds.conf
# The TDS_Version should match what we defined in /etc/freetds/freetds.conf
[Mssql]
Description             = Mssql
Driver                  = freetds
Database                = AdventureWorks2014
ServerName              = 192.168.1.41
TDS_Version             = 8.0

Из командной строки подключиться получается так:

artyom@gusar:~$ tsql -S Mssql -U sa -P password -D AdventureWorks2014
locale is "ru_RU.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Default database being set to AdventureWorks2014
1>

Код сценария, из которого не получается подключиться:

Код: (php) [Выделить]
$link = mssql_connect('Mssql', 'sa', 'password');
 
if (!$link)
    die('Unable to connect!');
 
if (!mssql_select_db('AdventureWorks2014', $link))
    die('Unable to select database!');
 
$result = mssql_query('SELECT * FROM Person');
 
while ($row = mssql_fetch_array($result)) {
    var_dump($row);
}
 
mssql_free_result($result);

Такой код php тоже не работает:

Код: (php) [Выделить]
try {
$dbname = "AdventureWorks2014";
$pd = new PDO('odbc:DRIVER=FreeTDS;SERVERNAME=Mssql;DATABASE=AdventureWorks2014;','sa','password');
echo "Success!\n";
$query_result = $pd->query("SELECT * FROM Person.Person");
echo "<pre>";
while($row = mssql_fetch_array($query_result)){
print_r($row).'<br/>';
}
echo "</pre>";
mssql_free_result($query_result);
}
catch ( PDOException $e ) {
   print( "Error connecting to SQL Server." );
   die(print_r($e));
}






Прошу помочь с решением проблемы подключения!

 

Страница сгенерирована за 0.019 секунд. Запросов: 21.