|
Помогите сконектиться PHP 5.2.6, Apache 5.2.2.26 --> SQLAnywhere 11.0.xxx
|
|||
---|---|---|---|
#18+
Здравствуйте! Помогите сконектиться. Сейчас всё на локальной машине в Вин-7, а вообще надо через локал. сеть. Сразу скажу, что php_sybase_ct.dll не подходошел по причине: Код: plaintext
Для доступа к ASA скачиваю файл php-5.2.6_sqlanywhere.dll, в нём нащупал такие параметры: Код: php 1.
Получаю в браузере 3 вида ошибок: 1) Если задать без ENG=..., и без DBF=..., то скрипт выдаёт ошибку Код: plaintext
2) Вписываю ENG=... либо DBN=..., теперь Код: plaintext
3) Вписываю DBF=..., OK и далее всё читается. НО! Если сервер на машине запущен, то пишет, что уже есть такое соединение. Причём всё это независимо от того есть или нет файла SQL.ini, в котором пробовал разные варианы: Код: plaintext 1. 2. 3. 4.
В результате думаю, то ли удалённую базу невозможно прочитать, то ли читать можно только неподнятый файл базы? то ли не через эту DLL? Но ведь народ работает как-то? И что, теперь надо переходить на однопоточный Апач как это написано в ошибке? За любую помощь заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 20:37 |
|
Помогите сконектиться PHP 5.2.6, Apache 5.2.2.26 --> SQLAnywhere 11.0.xxx
|
|||
---|---|---|---|
#18+
exp98Здравствуйте! Помогите сконектиться. Сейчас всё на локальной машине в Вин-7, а вообще надо через локал. сеть. Сразу скажу, что php_sybase_ct.dll не подходошел по причине: Код: plaintext
Если у тебя СУБД SA, то и бери модуль sqlanywhere. Вот если бы у тебя ASE была бы, и OpenClient установлен, то тогда и только тогда надо было бы брать sybase_ct модуль. exp98Для доступа к ASA скачиваю файл php-5.2.6_sqlanywhere.dll, в нём нащупал такие параметры: Код: php 1.
Ну пока вроде правильно... если у тебя конечно СУБД на той-же машине что и httpd. Если на разных то DBF лишняя. exp98Получаю в браузере 3 вида ошибок: 1) Если задать без ENG=..., и без DBF=..., то скрипт выдаёт ошибку Код: plaintext
exp982) Вписываю ENG=... либо DBN=..., теперь Код: plaintext
exp983) Вписываю DBF=..., OK и далее всё читается. НО! Если сервер на машине запущен, то пишет, что уже есть такое соединение.Все верно. Один и тот-же файл базы может обрабатываться только одним сервером. exp98Причём всё это независимо от того есть или нет файла SQL.ini, в котором пробовал разные варианы: SQL.ini - на помойку. Это файл из OpenClient и SA отношения не имеет никакого. exp98В результате думаю, то ли удалённую базу невозможно прочитать, то ли читать можно только неподнятый файл базы? то ли не через эту DLL? Но ведь народ работает как-то? И что, теперь надо переходить на однопоточный Апач как это написано в ошибке? За любую помощь заранее благодарен.Надо прочитать инструкцию: http://infocenter.sybase.com/help/topic/com.sybase.help.sqlanywhere.12.0.0/dbadmin/da-part-starting.html А если кратко: на одной машине запускаешь dbsrvX.exe (X - номер версии твоей ASA) и указываешь серверу параметром файл с базой. Сервер запустится с именем файла базы. Если хочешь изменить - параметр -n. В php скрипте достаточно указать только один ENG с именем сервера. Если у тебя на сервере две базы - тогда нужен DBN. Если одна - DBN не нужен. DBF нужен только для локальных серверов (который dbengX) и который не принимает клиентов по сети. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2014, 21:51 |
|
Помогите сконектиться PHP 5.2.6, Apache 5.2.2.26 --> SQLAnywhere 11.0.xxx
|
|||
---|---|---|---|
#18+
White Owl, очень подробно, просветили, спасибо. Пока думаю и читаю, т.к. с первой попытки запуск на одной машине httpd и "dbsrv11.exe -n abcde c:\wrk\d\baza.db" эффекта не дал: Не найден сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 12:54 |
|
Помогите сконектиться PHP 5.2.6, Apache 5.2.2.26 --> SQLAnywhere 11.0.xxx
|
|||
---|---|---|---|
#18+
Наверное вопрос теперь в РНР. В общем безрезультатно(( Из-за однотипной реакции на все эксперименты создалось впечатление, что в этой DDL-ке вырезана возможность искать запущенный сервер либо вообще tcpip-возможность. Из пассивной базы читается, а из стартанутой нет. Читается только по имени файла. В других случаях, сколько ни читаю доку, всё равно либо Не найден сервер, либо Укажите файл базы, ну и либо Файл уже используется. Что через 127,0,0 запусккаю, что через 192.ххххх, реакция одинаковая. Это когда всё на одном компе. Аналогичо не работают ENG и DBN без DBF, и когда dbsrv11 запущен на удалённом компе. А через Централь она открывается ОК, да и просто она там вертится постоянно. Что я неправильно сделал? Вот строка: Код: plaintext
------------------------------- Код: php 1. 2. 3. 4. 5. 6. 7.
------------------------------- Вот фрагмент с консоли после запуска: -------------------------------------------- Код: php 1. 2. 3. 4. 5. 6. 7.
-------------------------------------------- А вот как в хэлпе у меня на компе для SA в.11 (в инете для в.12, и есть отличия) Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
------------------------------- Код: php 1. 2. 3. 4.
------------------------------- Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
------------------------------- В общем не знаю что делать, пока так буду отлаживать или по ODBC. Может это что-то из случая кроссдоменных запросов или interface library. Но скорее DLL не пригодна для работы из Апача. И да, в SQL.ini надо было порт писать через запятую, тогда в DSEdit сервер пингуется успешно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2014, 20:38 |
|
Помогите сконектиться PHP 5.2.6, Apache 5.2.2.26 --> SQLAnywhere 11.0.xxx
|
|||
---|---|---|---|
#18+
exp98, Это запуск сервера dbsrv11.exe -x tcpip -n abcde [имя файла базы] А это для коннекта к нему sasql_connect= ("ENG=abcde;DBN=[имя файла базы];UID=user;PVD=pssw; COMMLINKS=TCPIP {HOST=<ip компа где сервер>:<порт>}") В {} можно написать{HOST=<ip компа где сервер>:<порт>; BROADCAST=NO}, порт обычно 2638, его можно не указывать... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 01:14 |
|
Помогите сконектиться PHP 5.2.6, Apache 5.2.2.26 --> SQLAnywhere 11.0.xxx
|
|||
---|---|---|---|
#18+
Откуда ты взял Open Client? Он с SA не поставляется, и он для SA совершенно не нужен. Ты сейчас пытаешься работать одновременно с двумя протоколами (тремя если учитывать ODBC), не зная толком ни один из них. Это путает тебе всю картину и размазывает внимание. Забудь про OC, научись сначала работать с родным для SA протоколом связи. Станешь экспертом - возьмешься за OC как вторично-третичную развлекаловку. Но сейчас - ЗАБУДЬ О НЕМ! Давай по шагам: 1) на машине A запускаешь dbsrv11 -n abcd c:\myfile.db 2) на ТОЙ ЖЕ машине A запусаешь dbisql -c "ENG=abcd" 3) на другой машине B запусаешь dbisql -c "ENG=abcd" Работает? Если родной клиент работает на всех трех этапах - проблема в PHP. Если проблема на втором этапе - у тебя чудеса-чудесные и надо заново инсталлировать SA (и стереть к чертям OpenClient и SQL.INI) Если проблема на третьем этапе - у тебя либо нарушена инсталляция на второй машине, либо нету лицензии на сетевые подключения на сервере, либо используемые машины находятся в разных LAN, либо они по разные стороны файрвола, либо на них (одной или обоих) запрещены броадкасты (некоторые сисадмины-параноики это делают). В любом случае, показывай все тексты которые выводит при старте сервер и все сообщения от клиентов. Не надо постить куски документации, мы их уже читали. Мы сами тебе запостим тот кусок который ты не дочитал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 01:28 |
|
Помогите сконектиться PHP 5.2.6, Apache 5.2.2.26 --> SQLAnywhere 11.0.xxx
|
|||
---|---|---|---|
#18+
А чем коннект к базе через ODBC не устраивает? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 10:17 |
|
Помогите сконектиться PHP 5.2.6, Apache 5.2.2.26 --> SQLAnywhere 11.0.xxx
|
|||
---|---|---|---|
#18+
Ого! Не ожидал, спасибо огромное всем) Чем ОДБС? В целом не знаю чем) в большинстве тем, где "помогите РНР+Sybase" стараются через библиотеки. А вообще работа на линуксах всё будет (в основном, но необязательно). Проблемы в том, что строить пока приходится на Винде. Плюс в том, что есть база, которая вертится в этой же локальной сети. Это к вопросу в одной или нет локалке, файервола и прокси нет (сейчас). Я же писал, что через Централь соединяюсь и с собой и с удалённой базой. Ещё через Socket соединяюсь, через JDBC тоже. Трудность пока в том, что на второй машине хозяин будет на след. неделе. SA конечно лицензионный, но с какими-то ограничениями. Client-а качал с инета, конечно не с радости, но он для AS-15.5, его убрать нетрудно - "set SYBASE=" и нет его. Только рез-т не меняется. isql сейчас буду пытаться, и как Орлов посоветовал тоже (да COMMLINKS из функции я упустил из виду). Сейчас ещё линух надо заводить, в общем всё одновременно. Ну то есть как тот специалист широкого профиля - обо всём по-немногу, cпецифика такая. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 12:59 |
|
Помогите сконектиться PHP 5.2.6, Apache 5.2.2.26 --> SQLAnywhere 11.0.xxx
|
|||
---|---|---|---|
#18+
exp98... А вообще работа на линуксах всё будет (в основном, но необязательно). ODBC -- кроссплатформенный API. На Linux он тоже есть. Оно конечно, запалить его там обычно немного сложнее, но всё же... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 14:22 |
|
Помогите сконектиться PHP 5.2.6, Apache 5.2.2.26 --> SQLAnywhere 11.0.xxx
|
|||
---|---|---|---|
#18+
Уррааа!! Всем спасибо огромное!! Спасибо за разъяснения тоже. Вот же, блин, COMMLINKS какой. Варианты 1)+2) и 1)+3) конечно работают, 1+2+3 проверить не успел. Работает даже вот так, без {...}: $conn = sasql_connect("ENG=ab2;DBN=оbj;UID=usver;PWD=pppp;COMMLINKS=TCPIP"); То есть сам находит нужный сервер из 2-х запущенных: один на этой машине, другой на другой. Ещё раз спасибо за компетентные советы! П.С. Я знал одного Орлова Сергея 10 лет назад, но он тогда по Ораклу был. PP.S. Следующий вопрос возникнет с передачай пароля. В принципе Апач с модулем SSL, и РНР тоже. Напоследок сориентируете, какие могут ожидать тонкости со стороны SA-11 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2014, 14:38 |
|
|
start [/forum/topic.php?fid=55&msg=38543651&tid=2009879]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 319ms |
total: | 459ms |
0 / 0 |