Re: VFP и Firebird | |
---|---|
_vit Сообщений: 5116 Дата регистрации: 29.07.2002 |
И если у сервера нет ограничений на число одновременных соединений. ![]() |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 06.04.2022 |
Можно же как-то проверять? Да и курсоры не наполнятся, если нет соединения, или перед самой транзакцией проверку делать? ![]() |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 06.04.2022 |
А как узнать про ограничения на число одновременных соединений? ![]() |
Re: VFP и Firebird | |
---|---|
_vit Сообщений: 5116 Дата регистрации: 29.07.2002 |
Это зависит от сервера БД и ОС на которой он крутится.
![]() |
Re: VFP и Firebird | |
---|---|
_vit Сообщений: 5116 Дата регистрации: 29.07.2002 |
А практически, в цикле создавать соединения, пока сервер перестанет коннектится.
![]() ![]() |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 06.04.2022 |
а надо это на 10-15 соединений делать? ФБ на Server 2008 неужели на десятки будет, а не на сотни? ![]() |
Re: VFP и Firebird | |
---|---|
PaulWist Сообщений: 14433 Дата регистрации: 01.04.2004 |
Ограничение есть, каждое соединение - это память на поддержку соединения.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: VFP и Firebird | |
---|---|
PaulWist Сообщений: 14433 Дата регистрации: 01.04.2004 |
Ну как проверишь, выполнить тестовый запрос, так после него коннек может отвалиться
![]() ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 06.04.2022 |
так как же жить? п.с. а файл-сервер не отваливается? Исправлено 2 раз(а). Последнее : DmitryKn, 20.03.23 21:29 ![]() |
Re: VFP и Firebird | |
---|---|
lemenev Сообщений: 80 Дата регистрации: 23.06.2022 |
|
Re: VFP и Firebird | |
---|---|
ssa Сообщений: 12923 Откуда: Москва Дата регистрации: 23.03.2005 |
Молча! ![]() ------------------ Лень - это неосознанная мудрость. ![]() |
Re: VFP и Firebird | |
---|---|
PaulWist Сообщений: 14433 Дата регистрации: 01.04.2004 |
Надо использовать клиентские транзакции ![]() ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: VFP и Firebird | |
---|---|
_vit Сообщений: 5116 Дата регистрации: 29.07.2002 |
Кроме физических ограничений могут быть и лицензионные. Про FB не скажу а скажем для MS SQL при лицензионной модели Server + CAL, зависит от числа приобретенных клиентских лицензий- CAL. Будет приобретено две CAL вот только два пользователя или два устройства в зависимости от вида лицензии и смогут одновременно подключиться. Так что при выборе стратегии держать коннект открытым или нет надо оценивать и сколько экземпляров такого приложения будет работать с сервером, и с какими серверами оно потенциально будет работать. ![]() |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 06.04.2022 |
Уважаемое сообщество!
прошу вас еще на эти вводные вопросы меня просветить: 1. Если мы делаем Remote View, подключение "на одну таблицу", значит ли это, что если подключиться к 10-ти таблицам будет использовано 10-ть подключений и взято соответственно ресурсов? А если 1 подключение при входе в приложение - то 1-но соединение и хоть 100 КАД ? 2. Целостность данных в Фокс мы обеспечиваем установкой RI и триггерами, в ФБ применяется PK и FK, и наверное, триггеры, и все? 3. Это как? В Фокс внесли изменения в курсор, далее:
И надо ли нам на курсоры КАД делать транзакцию в Фоксе, или просто tableupdate() , ведь уже не будет никаких RI и связей, я так понимаю. ![]() |
Re: VFP и Firebird | |
---|---|
PaulWist Сообщений: 14433 Дата регистрации: 01.04.2004 |
Да, одно подключение можно использовать на 100 КАДов/RV
Нет, ещё есть дефолты, правила поля/записи, ограничения (мож ещё чего - забыл)
Нет, для взрослых СУБД клиентская транзакция открывается
Выполняется код
Затем, если ошибок не было, то транзакция закрывается
или же
Затем, лучше соединение перевести в состояние автоматической транзакции
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) ![]() |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 06.04.2022 |
Спасибо!
Ну и до кучи, общее: в фоксе у меня была таблица сотрудники, форма "логин", и там логин-пароль, все время работы приложения пользователь запомнен в goApp. А как это в подобных связках фокс-сервер строится? Сотрудники "живут" в таблице БД ФБ, чтобы запустить БД нужно проверить логин-пароль, которые в таблице в БД.. Исправлено 2 раз(а). Последнее : DmitryKn, 21.03.23 10:55 ![]() |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1383 Откуда: Волгоград Дата регистрации: 28.06.2015 |
Доброго!
тот простецкий класс-обертку (что я выше выложил) сделан давно и на скорую руку, но как это часто бывает пользуюсь до сих пор ))) ниже кратко поясню с повыдерганными примерами из рабочего кода. В него можно передать как готовую строку соединения так и отдельные параметры из которых он создаст эту строку, которые уже считывается с ini-файла при старте проги:
в этом классе (кратко) CreateStringConnect() - создает строку соединения из переданных параметров соединения (которые записываются в соответствующие свойства класса) BaseIfConnect() - подключяется к БД под обычным пользователем (или проверяет подключение и переподключается при дохлом), при неудаче - пытается соединиться под SYSDBA если таковой флажок в классе выставлен (св-во - this.AllowUseDbaConnect=1) BaseDisconnect() - отключение с коммитом DbaBaseIfConnect() - подключение к БД под SYSDBA (админом), соответствующие dba_pwd и dba_user - свойства класса BaseIdleDisconnect() - это обертка над SQLIDLEDISCONNECT() SQLExec() - обертка над SQLEXEC() - это мало использую ну SQLCommit(), SQLRollback() - думаю понятно по названию Кстати, в FB все работает в рамках транзакций, любой запрос и т.п. Работая из фокса через ODBC c FB все точно также, только по умолчанию выполняется автокоммит каждого запроса, но можно переключить (установка - SQLSETPROP(this.nConnect,"Transactions",2) ) и на ручное(програмное) управление через команды SQLCommit/SQLRollback. Думаю и в других серверах это также, но другие не пользовал - сказать точно не могу. Исправлено 1 раз(а). Последнее : AndyNigmatec, 21.03.23 11:10 ![]() |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1383 Откуда: Волгоград Дата регистрации: 28.06.2015 |
тут все просто: подключаетесь к БД под простым (созданным например только этого юзером с соотв. правами), считываете что нужно - и переподключаетесь уже с нужными параметрами. У меня еще проще, тупо один юзер в рамках базы (кроме админа ессно), а права в проге разрулены на уровне логики самой проги. Правильнее наверное было делать это на уровне пользователей базы, но когда я переносил все на FB такой функционал уже был в логике проги и переделывать его тогда не стал, а потом и забил ))) ![]() |
Re: VFP и Firebird | |
---|---|
DmitryKn Автор Сообщений: 276 Дата регистрации: 06.04.2022 |
Приветствую!
Спасибо! А как научить таблицы запоминать коммент на русском? В описании языка комменты на русском, на практике русский текст преобразуется в '?', тогда как английский в норме ![]() |
Re: VFP и Firebird | |
---|---|
AndyNigmatec Сообщений: 1383 Откуда: Волгоград Дата регистрации: 28.06.2015 |
не совсем понял про какой коммент речь?
вот например табла: [attachment 36512 distr.png] про что говорим? ![]() |
© 2000-2023 Fox Club  |