IBEScript.dll - что передать в функцию Connect?
Модератор: kdv
IBEScript.dll - что передать в функцию Connect?
Обращался к разработчикам - ни ответа ни привета.
Кто пользовался - помогите! В примере там описано только "TConnectDBProc = function (AConnectParams: PChar; AConnectErrorCallbacFunc: ConnectErrorCallbackFunc): integer; stdcall;"
Никакого примера по коннекту нет. Что передавать в PChar - уже голову сломал
Кто пользовался - помогите! В примере там описано только "TConnectDBProc = function (AConnectParams: PChar; AConnectErrorCallbacFunc: ConnectErrorCallbackFunc): integer; stdcall;"
Никакого примера по коннекту нет. Что передавать в PChar - уже голову сломал
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Отвечу сам на свой вопрос.
Формат такой:
ConnectParams:='db_name="localhost:d\my data\mybase.fdb";
user_name=SYSDBA;
password=masterkey;
clientlib="C:\Program Files\Firebird\bib\fbclient.dll";
lc_ctype=WIN1251;
sql_role_name=ADMIN;
sql_dialect=3'
Это все поддерживаемые функции. Жаль, нельзя отключить сборку мусора
Формат такой:
ConnectParams:='db_name="localhost:d\my data\mybase.fdb";
user_name=SYSDBA;
password=masterkey;
clientlib="C:\Program Files\Firebird\bib\fbclient.dll";
lc_ctype=WIN1251;
sql_role_name=ADMIN;
sql_dialect=3'
Это все поддерживаемые функции. Жаль, нельзя отключить сборку мусора
Логично, что сборка устанавливается только на уровне БД. Представьте, что пять пользователей подключается с отключенной GC, пять с интервалом в 100 000, а еще пять с 20 000. Кому верить?WildSery писал(а):Это все поддерживаемые функции. Жаль, нельзя отключить сборку мусора
А собственно чем вам Garbage Collect мешает?
я давно мерял, результатов не помню. при 2-3 версиях на записи как будто бы этих версий нет. смоделировать очень просто - стартуешь транзакцию snapshot, потом в других транзакциях делаешь несколько раз update по всей таблице и commit. Дальше еще в одной транзакции запускаешь что-нибудь вроде select count(*). Меряешь. Потом то же самое (count) делаешь с выключенной GC. Потом отпускаешь snapshot и повторяешь count, будет замер по сборке мусора.А проценты есть, хотя бы такие, относительные?
читайте ВНИМАТЕЛЬНЕЕ www.ibase.ru/devinfo/ibtrans.htmДмитрий, подскажите, как отключить сборку мусора в коннекте?
Garbage Collect всегда мешает. Я считаю, что он вообще нужен только если серьёзные проблемы с дисковым пространством.
Идёт активная работа с базой, версий записей по таблице документов доходит до 100 000 за полдня работы (это если не собирать мусор).
Если включить сборку - база через несколько часов работы просто встанет, в несколько раз замедлится обмен. До вечера дотянуть было вообще нереально - дохла намертво, простой запрос на сохранение документа, с утра выполнявшийся практически мгновенно, мог длиться минутами. Ночью делаем бэкап-рестор, он и убирает лишнее.
Идёт активная работа с базой, версий записей по таблице документов доходит до 100 000 за полдня работы (это если не собирать мусор).
Если включить сборку - база через несколько часов работы просто встанет, в несколько раз замедлится обмен. До вечера дотянуть было вообще нереально - дохла намертво, простой запрос на сохранение документа, с утра выполнявшийся практически мгновенно, мог длиться минутами. Ночью делаем бэкап-рестор, он и убирает лишнее.
а вы не держите долгоживущие транзакции.версий записей по таблице документов доходит до 100 000 за полдня работы
это я уже проходил. обычно так ведут себя приложения, написанные на BDE, вообще без управления транзакциями.Если включить сборку - база через несколько часов работы просто встанет
В данном конкретном случае утверждать о плохом управлении транзакциями в приложении не могу, но симптомы очень похожие.
кстати, оговорюсь, что аналогичный эффект (увеличение числа версий) даже при коротких транзакциях может быть из-за "фоновой" сборки мусора.
www.ibase.ru/devinfo/garbage.htm
В хелпе IBAnalyst также описаны ситуации, когда не помогает и sweep.
в FB 2.0 в этом случае можно попробовать включить кооперативную сборку мусора, или комбинированную.
www.ibase.ru/devinfo/garbage.htm
В хелпе IBAnalyst также описаны ситуации, когда не помогает и sweep.
в FB 2.0 в этом случае можно попробовать включить кооперативную сборку мусора, или комбинированную.