Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Очередность выполнения script / 18 сообщений из 18, страница 1 из 1
13.02.2007, 23:18
    #34328675
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
Задаю параметры соединения с использованием формул для подключения к разным базам:
...ConnectString='..."UID=" + gf_UID( 1) + "; PWD=" + gf_PWD( 1)...'

Потом запускаю сервер используя RUN.
Затем CONNECT USING SQLCA.

Иногда возникает проблема, что сервер запрашивает имя и пароль. Впечатление такое, что на некоторых ПК функции не успевают подставить в параметры соединения данные вычислений. Но это не всегда. В чем проблема?
...
Рейтинг: 0 / 0
14.02.2007, 01:04
    #34328736
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
Если клиент не смог подцепиться к базе с первого раза - он переспросит параметры соединения. Почему не смогу подцепиться - возможно связь была плохая в тот момент.
Используй опцию ConnectOption='SQL_DRIVER_NOPROMPT', тогда если соединение не прошло - CONNECT сразу завершиться.
Что-то в духе:
Код: plaintext
1.
2.
3.
4.
5.
SQLCA.DbParm = "ConnectString='....',ConnectOption='SQL_DRIVER_NOPROMPT'"
Connect;
if SQLCA.SQLCode <>  0  then
    messagebox("Error", "Cannot connect to database~n"+SQLCA.SQLErrText)
    return
end if

---
http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
15.02.2007, 22:08
    #34335098
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
Сделал как посоветовали:
SQLCA.DbParm = "ConnectString='....',ConnectOption='SQL_DRIVER_NOPROMPT'"
и добавил парочку "маяков".
Но к сожалению:
- попрежнему выводится окно с просьбой ввести имя и пароль.

Новый вывод: CONNECT идет без использования ConnectString, и мое предположение о нарушении очередности выполнения строк script было не верно. Но от этого не легче.
В чем проблема?
...
Рейтинг: 0 / 0
16.02.2007, 00:52
    #34335226
ЗоринАндрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
AISСделал как посоветовали:
SQLCA.DbParm = "ConnectString='....',ConnectOption='SQL_DRIVER_NOPROMPT'"
и добавил парочку "маяков".
Но к сожалению:
- попрежнему выводится окно с просьбой ввести имя и пароль.

Новый вывод: CONNECT идет без использования ConnectString, и мое предположение о нарушении очередности выполнения строк script было не верно. Но от этого не легче.
В чем проблема?
включи trace
SQLCA.DBMS='trace ODBC'
в pbtrace.log будет виден DBPARM с которым идет connect.
...
Рейтинг: 0 / 0
16.02.2007, 07:51
    #34335348
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
А ожидания полного запуска сервера не предусмотрено?
...
Рейтинг: 0 / 0
16.02.2007, 07:52
    #34335349
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
Команда Run - асинхронная
...
Рейтинг: 0 / 0
16.02.2007, 10:05
    #34335584
ruha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
можна запускать сервер через api и дожидаться запуска. функции:
CreateProcessA & GetExitCodeProcess
самого кода сброситьне могу, интернет и pb разные сети
...
Рейтинг: 0 / 0
16.02.2007, 10:30
    #34335670
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
...А ожидания полного запуска сервера не предусмотрено?...

Процесс ожидания предусмотрен и отвечает, что сервер запущен.

...включи trace...

Не могу, т.к. проблема решается дистанционно на ПК заказчика и не хотелось бы, чтобы он его тоже читал (log-файл).
...
Рейтинг: 0 / 0
16.02.2007, 21:04
    #34337819
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
А попробовать поставить например
Код: plaintext
Sleep (  0 . 1  )
после connect и посмотреть сохраниться ли проблема или нет. Была похожая проблема с MS SQL при том, что сервер даже был запущен до запуска приложения, но время от времени говорилось что мол login failed или что-то в этом роде. Такая строка ее вроде решила...
...
Рейтинг: 0 / 0
17.02.2007, 00:33
    #34338005
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
Ребята!!!
Поступила новая вводная - сервер не слышет мою базу, т.к. порт (3050) занят, либо закрыт к "диалогу". Ваше мнение "товарищ маузер"!!!
...
Рейтинг: 0 / 0
17.02.2007, 00:52
    #34338016
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
Персональный привет "Локшин Марк"!!!!!!!!!!!!!!!!!!!!
Что Вы думаете на счет того, что "пользователь" использозует какое-то приложение (а он таки использует приложение или пакет "Сафари"), которое уже использует порт 3050 (по умолчанию для Firebird), а я упустил этот вариант (поступка пользователя) .....
Как решить этот вопрос дистанцинно?! Если это правда!!! Лично Вам, с большим уважением, за отклик.....
...
Рейтинг: 0 / 0
17.02.2007, 10:55
    #34338123
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
AISКак решить этот вопрос дистанцинно?!
Сконфигурировать сервер чтобы он работал через другой порт и сделать этот номер порта параметром для программы?
...
Рейтинг: 0 / 0
18.02.2007, 10:48
    #34338927
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
Локшин Марк
Сконфигурировать сервер чтобы он работал через другой порт и сделать этот номер порта параметром для программы?

Это как раз понятно. Не понятно как это сделать в скрытом для пользователя режиме, а ещё лучше в автоматическом (т.е. проверка состояния текущего (используемого) порта, и если он занят перейти на резервный и т.д.)
...
Рейтинг: 0 / 0
19.02.2007, 10:08
    #34340061
ruha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
Это как раз понятно. Не понятно как это сделать в скрытом для пользователя режиме, а ещё лучше в автоматическом (т.е. проверка состояния текущего (используемого) порта, и если он занят перейти на резервный и т.д.)

насчет проверки :
можна перед подключением создать connection и попытаться подключится к нужному порту через WinSocet . если выдет создать сокет то порт уже используется, но будет ошибка с кодом 55, если же порт свободен то срздать сокет не удастся
...
Рейтинг: 0 / 0
15.03.2007, 21:30
    #34394718
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
Проверил через isql запуск и подключение к базе - работает, порт - не занят.
Но через программу все попрежнему не работает.

Нашёл одну ошибку:
- что-то "рубит" строку соединения с базой

"ConnectString='...DBNAME=" + ls_dir_current + "\database\my_base.fdb;...' "
где ls_dir_current="c:\my_app"

После появления окна ввода имени и пароля выдает ошибку, что не может обратится к файлу
c:\my_app, а указанного полного пути к базе - нет.

Почему на одних ПК всё работает, а на других - вот такая ошибка?
...
Рейтинг: 0 / 0
16.03.2007, 09:45
    #34395169
Estets
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
AISНашёл одну ошибку:
- что-то "рубит" строку соединения с базой

"ConnectString='...DBNAME=" + ls_dir_current + "\database\my_base.fdb;...' "
где ls_dir_current="c:\my_app"

Проверить правильность расстановки кавычек, если имена каталогов содержат пробелы.
...
Рейтинг: 0 / 0
16.03.2007, 10:48
    #34395473
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
Estets AISНашёл одну ошибку:
- что-то "рубит" строку соединения с базой

"ConnectString='...DBNAME=" + ls_dir_current + "\database\my_base.fdb;...' "
где ls_dir_current="c:\my_app"

Проверить правильность расстановки кавычек, если имена каталогов содержат пробелы.

Как это правильно сделать при условии, что путь задан в переменной ls_dir_current ?
...
Рейтинг: 0 / 0
21.03.2007, 23:56
    #34407410
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Очередность выполнения script
AISЗадаю параметры соединения с использованием формул для подключения к разным базам:
...ConnectString='..."UID=" + gf_UID( 1) + "; PWD=" + gf_PWD( 1)...'

Потом запускаю сервер используя RUN.
Затем CONNECT USING SQLCA.

Иногда возникает проблема, что сервер запрашивает имя и пароль. Впечатление такое, что на некоторых ПК функции не успевают подставить в параметры соединения данные вычислений. Но это не всегда. В чем проблема?

Спасибо всем за участие! Проблема решена!
Думаю, что это будет интересно тем, у кого версия РВ10.5 и база Firebird 1.53.
Работает строка:
...ConnectString='..."UID=" + gf_UID( 1) + ";PWD=" + gf_PWD( 1)...'

Обращаю внимание на отсутствие "пробела" в строке подключения и то что эта проблема была обнаружена у пользователя с Windows 2000 Pro SP4
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Очередность выполнения script / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]