MSSQL и Sybase вместе можно использовать?

rsv

Новичок
MSSQL и Sybase вместе можно использовать?

Отдельно php_mssql.dll и php_sybase_ct.dll загружаются.
MSSQL даже работает. Sybase еще не проверял (при загрузке идет какая то ругань на локали и homedir, но это я думаю решаемо). Но как только пытаюсь грузить оба модуля одновременно то возникает противоречие. php_sybase_ct при загрузке пытается зарегистрировать функции с такими же названиями что и в php_mssql.dll (mssql_connect, mssql_fetch_array и т.д. смотрел внутри sybase_ct там действительно есть такие названия). В итоге пхп вообще отказывается работать.
И как это понимать??? И что делать?
Пробую все под w2kserver+IIS.
Необходимо чтобы пхп мог работать с обеими базами.
 

tony2001

TeaM PHPClub
используй один из них (если я не ошибаюсь, то предпочтительней sybase) для работы с обеими базами.
MSSQL - это Sybase + торговая марка M$.
 

rsv

Новичок
sysbase заработал
но не могу с его помощью подключиться к MSSQL
в файле sql.ini (типа конфиг сайбейза)
прописаны такие строки для установки соответствия имени сиквел сервера его ипу
[MSSQL_SERVER]
MASTER=NLWNSCK,xxx.xxx.xxx.xxx,5000
QUERY=NLWNSCK,xxx.xxx.xxx.xxx,5000
где xxx.xxx.xxx.xxx это ИП сервера с сиквелом
в скрипте
соединяюсь так
mssql_connect("MSSQL_SERVER","user","psw");
mssql_get_last_message выдает такую ошибку
ct_connect(): network packet layer: internal net library error: net-lib protocol driver call to connect two endpoints failed
 

rsv

Новичок
это то стоит
но оно как я понимаю нужно если я использую mssql модуль.
А когда я его использую у меня все работает.

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

-~{}~ 23.03.04 16:33:

я вот думаю може 5000 это не тот порт?
может сиквел на другом порту слушает? как бы проверить?

-~{}~ 23.03.04 16:44:

попробовал конектиться к сиквелу так :)

sybase_connect("MSSQL_SERVER","user","psw");

выдает ту же месагу :)
ct_connect(): network packet layer: internal net library error: net-lib protocol driver call to connect two endpoints failed

-~{}~ 23.03.04 16:49:

походу
mssql_connect и др.
это просто алиасы для sybase_xxx функций :)
еще бы понять почему такая месага вылезает
 

rsv

Новичок
1433 пробовал пишет что вообще не может связь установить
еще попробовал 1434 в этом случае опять пишет
ct_connect(): network packet layer: internal net library error: net-lib protocol driver call to connect two endpoints failed

-~{}~ 24.03.04 08:54:

Вчера перед сном пришел в башку прикол. Седни утром пришел на работу и прикололся. В итоге одновременно работает MSSQL и SYBASE.
Тупо фаром открыл либу php_sybase_ct.dll и все mssql_ заменил на masql_. Потом в ini подключил сразу и php_mssql.dll и php_sybase_ct.dll. В одном и томже скрипте попробовал конектиться к сиквелу и к сайбейзу.
Полчаса, полет нормальный. :)
 

tony2001

TeaM PHPClub
а не пробовал отключить sybase_ct и попробовать mssql_* для работы с Sybase?
 

rsv

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

tony2001

TeaM PHPClub
rsv
мне просто интересно почему это нельзя сделать штатными средствами.
и если можно, то как.
насколько я понимаю, mssql & sybase модули должны быть взаимозаменяемы.
 

rsv

Новичок
Наверно все таки можно, просто я чего то не знаю.
В общем что у меня в итоге получилось
Вариант 1.
Если использовать только sybase.dll
То к sybase коннект нормальный и запросы работают
При попытке конекта к mssql вываливается такая месага:
ct_connect(): network packet layer: internal net library error: net-lib protocol driver call to connect two endpoints failed
Вариант 2.
Если использовать mssql.dll
То все нормально работает с mssql.
Коннект к sybase проходит. При попытке сделать к нему запрос типа select * from table1 Выдает ошибку:
Invalid object name 'table1'.
Этот же запрос к sybase в первом варианте работает без проблем.
Что интересно что когда происходила настройка первого варианта то такая же ошибка тоже вылазила, ее решил админ sybase, сказал что дал права юзеру под которым был конект.
Вариант 3.
Переименовать mssql функции в sybase.dll и использовать обе dll.
 

tony2001

TeaM PHPClub
Вариант 2.
Если использовать mssql.dll
То все нормально работает с mssql.
Коннект к sybase проходит. При попытке сделать к нему запрос типа select * from table1 Выдает ошибку:
Invalid object name 'table1'.
Этот же запрос к sybase в первом варианте работает без проблем.
Что интересно что когда происходила настройка первого варианта то такая же ошибка тоже вылазила, ее решил админ sybase, сказал что дал права юзеру под которым был конект.
а точно все пераметры те же, то и в случае с sybase_ct ?
не может же быть такого, что при mssql_query() права в базе не такие, как при использовании sybase_query(), правильно?
 

slach

Новичок
Хмм... ктото где то гонит

при раскоментареных у меня обоих
и
extention=php_sybase_ct.dll
и
extention=php_mssql.dll

загрузка php.exe никаких ошибок не выдает
установлен Sybase Open Client

идет нормальный коннект и выполнение запросов
и к MSSQL2000 и к Sybase ASE 12.5 ...
уважаемый... а у вас MDAC хотя бы нормальный стоит на машине то ? а Sybase сервер какой ??? ASE или ASA ?? последний вроде как очень близок в MSSQL =) но я с ним не работал
 

rsv

Новичок
параметры абсолютно такие же, я просто в скрипте меняю sybase_ на mssql_
Про права сам удивляюсь, по идее действительно разницы не должно быть ни какой.

Клиент стоит ASE 12.0 (говоришь ASA близок к сиквелу а не ASE, может из за этого и проблема с Invalid object name?)
Какой sybase стоит я не знаю, но подозреваю что подобный, поскольку в конторе все по купленое и лишнего там ничего нету :)
при раскоментареных у меня обоих
и
extention=php_sybase_ct.dll
и
extention=php_mssql.dll

загрузка php.exe никаких ошибок не выдает
ну тут уж даже и не знаю что сказать, если кто то и гонит то точно не я :)
Может у тебя php_sybase_ct.dll какой нибудь специфический?
Типа сами под win собирали и алиасы сразу нафиг убрали :)

-~{}~ 24.03.04 16:55:

ЗЫ
А что такое MDAC?
 

slach

Новичок
прогнал... у меня mysql
алиасы действительно перекрываются...

хмм... а что мешает вообще перейти на ODBC в таком случае ??? раз уж нативные API так пересекаются ?
 

tony2001

TeaM PHPClub
slach
>хмм... а что мешает вообще перейти на ODBC в таком случае ??? раз уж нативные API так пересекаются ?
да дело в том, что одно из них(sybase_ct) должно работать с обоими базами одновременно.
 

rsv

Новичок
хмм... а что мешает вообще перейти на ODBC в таком случае ??? раз уж нативные API так пересекаются ?
Да в общем то ничего не мешает. Как резервный вариант это конечно прокатит. Просто нет у меня к нему доверия (глупости наверно говорю, но тем не менее) :)
 
Сверху