PHP + MSSQL + Ubuntu

programmer_2006

Новичок
PHP + MSSQL + Ubuntu

Понадобилось связать их, в сети нашел несколько статей и пытался по ним делать, но нечего не получилось.
Установил через менеджер пакетов модуль к пхп php5_sybase, в phpinfo() поzвилась поддержка MSSQL
PHP:
mssql
MSSQL Support	enabled
Active Persistent Links 	0
Active Links 	0
Library version 	FreeTDS

Directive	Local Value	Master Value
mssql.allow_persistent	On	On
mssql.batchsize	0	0
mssql.charset	no value	no value
mssql.compatability_mode	Off	Off
mssql.connect_timeout	5	5
mssql.datetimeconvert	On	On
mssql.max_links	Unlimited	Unlimited
mssql.max_persistent	Unlimited	Unlimited
mssql.max_procs	Unlimited	Unlimited
mssql.min_error_severity	10	10
mssql.min_message_severity	10	10
mssql.secure_connection	Off	Off
mssql.textlimit	Server default	Server default
mssql.textsize	Server default	Server default
mssql.timeout	60	60
Для теста сделал пхп файл с таким кодом

PHP:
echo "Testing...";
  if ($db = mssql_connect('85.241.12.51\ARTEM,1456','login','password')){
    echo $db;
    mssql_select_db('SOKLinkMoney', $db);  
    echo "connected to a database";
    mssql_close($db);
  } else {
    echo "connection failed";
  }
  echo "test";
Так же установил freetds, unixodbc, odbc и еще что то.

В конфиге freetds прописал

PHP:
# A typical Microsoft server
[MyMSSQL]
	host = 85.241.12.51\ARTEM
	port = 1456
	tds version = 8.0
и врубил логирование.

При запуске скрипты вылетает ошибка

Testing...
Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: 85.241.12.51\ARTEM,1456 in /home/igor/Projects/Gekos/linkmoney/public/mssql.php on line 8
connection failedtest
Вместа передачи хоста пробовал передать "MyMSSQL" но эффект тот же.

В логе freetds
log.c:190:Starting log file for FreeTDS 0.82
on 2009-07-21 09:03:12 with debug flags 0x4fff.
iconv.c:197:names for ISO-8859-1: ISO-8859-1
iconv.c:197:names for UTF-8: UTF-8
iconv.c:197:names for UCS-2LE: UCS-2LE
iconv.c:197:names for UCS-2BE: UCS-2BE
iconv.c:363:iconv to convert client-side data to the "ANSI_X3.4-1968" character set
iconv.c:516:tds_iconv_info_init: converting "US-ASCII"->"UCS-2LE"
net.c:836:tds7_get_instance_port(85.241.12.51, ARTEM,1456)
net.c:905:tds7_get_instance_port: timed out on try 0 of 16
net.c:905:tds7_get_instance_port: timed out on try 1 of 16
net.c:905:tds7_get_instance_port: timed out on try 2 of 16
net.c:905:tds7_get_instance_port: timed out on try 3 of 16
net.c:905:tds7_get_instance_port: timed out on try 4 of 16
net.c:905:tds7_get_instance_port: timed out on try 5 of 16
net.c:905:tds7_get_instance_port: timed out on try 6 of 16
net.c:905:tds7_get_instance_port: timed out on try 7 of 16
net.c:905:tds7_get_instance_port: timed out on try 8 of 16
net.c:905:tds7_get_instance_port: timed out on try 9 of 16
net.c:905:tds7_get_instance_port: timed out on try 10 of 16
net.c:905:tds7_get_instance_port: timed out on try 11 of 16
net.c:905:tds7_get_instance_port: timed out on try 12 of 16
net.c:905:tds7_get_instance_port: timed out on try 13 of 16
net.c:905:tds7_get_instance_port: timed out on try 14 of 16
net.c:905:tds7_get_instance_port: timed out on try 15 of 16
net.c:974:instance port is 0
login.c:418:invalid port number
dblib.c:1372:dbclose(0x7fcf9b986fe0)
dblib.c:256:dblib_del_connection(0x7fcf8ebf15a0, 0x7fcf9b9879c0)
mem.c:563:tds_free_all_results()
dblib.c:303:dblib_release_tds_ctx(1)
dblib.c:5727:dbfreebuf(0x7fcf9b986fe0)
dblib.c:718:dbloginfree(0x7fcf9b8465b0)
Меня смущает название хоста "85.241.12.51\ARTEM,1456" но под виндой все работает с таким названием.

Еще пробовал править файлы odbc.ini and odbcinst.ini

В odbc.ini прописал

PHP:
[FreeTDS]
Description = FreeTDS
Driver = FreeTDS
Servername = 85.241.12.51\ARTEM // тут пробовал еще ставить "MyMSSQL"
Database = SOKLinkMoney
UID = user
PWD =password
Port = 1456
Trace = Yes
TraceFile = /tmp/mstest.log // кстати файл лога не появился
В odbcinst.ini прописал

PHP:
[FreeTDS]
Description    = TDS driver (Sybase/MS SQL)
Driver        = /usr/lib/odbc/libtdsodbc.so
Setup        = /usr/local/lib/libtdsodbc.so
Trace = Yes
TraceFile = /tmp/freetds.log
FileUsage = 1
Вроде уже и так и этак пробовал но не пашет. Подскажите в чем может быть трабла, где я запарол. Может ссылку на статью где точно все верно работает. Уже бьюсь, бьюсь но толку пока нет.
Заранее благодарен за ответы.
 

MiRacLe

просто Чудо
порт при использовании freetds отделяется от хоста двоеточием
 
Сверху