Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» InterBase и FireBird: вопросы по работе и их решение

Автор: AlexCoRu
Дата сообщения: 23.12.2011 12:39
Вот так получилось:
Код: IP_MAX = bin_or(bin_and(IP_ADDR, SUBNET_MASK), bin_and(bin_not(SUBNET_MASK), 0x00000000FFFFFFFF)) - 1;
Автор: delover
Дата сообщения: 25.12.2011 21:27
Andryshok
Спасибо всё получилось, FB рулит, жаль проект отобрали. CSharp делает корявый SQL но его можно неоднократно использовать и масштабировать. Вобщем спасибо.
Автор: vetal71
Дата сообщения: 26.12.2011 10:03
всем привет.
кто нибудь пробовал импортировать данные из Dbf в FB используя IBEBlock функцию ibec_ImportData ?
никак не получается использовать опцию Mappings.
Автор: exteris
Дата сообщения: 27.12.2011 06:16
vetal71
Как делаете?
Автор: vetal71
Дата сообщения: 27.12.2011 07:22
exteris
вот текст ibeblock

Код:
execute ibeblock
as
begin
cbb = 'execute ibeblock (RecCount variant)
as
begin
if (ibec_Mod(RecCount, 100) = 0) then
ibec_Progress(RecCount || '' records imported.'');
end;';

DB = ibec_CreateConnection(__ctFirebird, 'DBName="D:\Reception\Data\Reception.fdb";
ClientLib=gds32.dll;
User=SYSDBA; Password=masterkey; Names=WIN1251; SqlDialect=3;');
try
ibec_UseConnection(DB);

Res = ibec_ImportData(DB, 'F1012011', __impDBase, 'D:\Balon\F1012011.DBF', '',
'RowFirst=1; RowLast=2147483647;
DateOrder=DMY; DateSeparator="."; TimeSeparator=":"; OemToAnsi;',
'1=1; 2=2; 3=3;4=4;5=5', cbb);

if (Res is not null) then
ibec_ShowMessage(Res || ' записей импортировано успешно в таблицу F1012011.');

finally
ibec_CloseConnection(DB);
end;
end
Автор: Czechoslovak
Дата сообщения: 27.12.2011 10:13
vetal71

Лично я такими вещами предпочитаю заниматься через Access... Очень удобно, практически можно с любой БД перекинуть данные в другую

Добавлено:
vetal71

Лично я такими вещами предпочитаю заниматься через Access... Очень удобно, практически можно с любой БД перекинуть данные в другую
Автор: exteris
Дата сообщения: 27.12.2011 11:52
vetal71 Да, я где то так и делал.
При маппинге по номеру поля, как у вас, проблем с неподходящим именем быть не должно. Попробуйте его в кавычках писать, типа - 'TOFB="TO"; 2=2; 3=3;4=4;5=5'
Автор: vetal71
Дата сообщения: 27.12.2011 14:00
exteris
спасибо, импорт прошел
Автор: felixz
Дата сообщения: 03.01.2012 22:53
Привет всем!
Есть некоторое неудобство при работе с Interbase 2007 (это есть как и на 2009, так и на ранее 2007).
БД около 500Мб, несколько млн.записей. Примерно раз в сутки дисконнект происходит очень долго, порядка 5 мин. По дисковой активности видно, что база активно юзается, как будто там sweep происходит. Но! Sweep Interval = 0, БД backup/restore (т.е. разница между транзакциями = 0). Не подскажете что сделать чтобы обойти эту неведомую фигню?
Автор: exteris
Дата сообщения: 04.01.2012 08:21

Цитата:
БД backup/restore (т.е. разница между транзакциями = 0).

А база как нибудь используется? Пишется, читается?

Добавлено:
Как вариант: работа в течение долгого времени в одной транзакции, которая коммитится(откатывается) при дисконннекте.
Автор: tanaseduard
Дата сообщения: 04.01.2012 10:07
felixz

Может у Вас висит транзакция и после дисконекта вы ее неявно комитите и происходит swap на физику.
Автор: felixz
Дата сообщения: 04.01.2012 15:45
С базой в течении этого времени работают только на чтение.
Да и вообще, если сделать backup/restore или sweep, не работать с ней сутки - тоже самое.
Причем время дисконнекта линейно зависимо от размера базы - база в 1Гб уже порядка 8-ми минут дисконнект.
Автор: X11
Дата сообщения: 04.01.2012 16:01
felixz, наверное сервер всё пишет в буфер винды, а при отключении записывает изменения на диск.

Добавлено:

Цитата:
С базой в течении этого времени работают только на чтение.

А где в этом уверенность?
Автор: felixz
Дата сообщения: 04.01.2012 16:16

Цитата:
А где в этом уверенность?


В это уверенность полная, я притащил ее домой для тестирования.
Такое впечатление, как будто там заложен алгоритм: если со времени последнего коннекта прошло более суток, то поехали делать безусловный sweep.
Автор: exteris
Дата сообщения: 05.01.2012 09:10
Поставьте какой нибудь сканер, посмотрите что делается в базе при дисконнекте. Может приложение какие то операции выполняет.
Если открыть базу в IBExpert-е, а потом разорвать соединение, что будет?
Автор: delover
Дата сообщения: 17.01.2012 05:01
Подскажите а есть ли возможность как то установить Firebird 1.5 и 2.5 одновременно? Мне говорили что вроде такая возможность есть. Надо как то развести их по портам. Но как их установить одновременно? Подскажите кто это делал.
Автор: exteris
Дата сообщения: 17.01.2012 06:45
delover
http://www.ibase.ru/devinfo/inst_manual.htm
Автор: X11
Дата сообщения: 17.01.2012 08:59
Установка нескольких серверов Firebird
Автор: delover
Дата сообщения: 17.01.2012 10:11
Спасибо, вполне исчерпывающе, установил.
Автор: eddoc
Дата сообщения: 17.01.2012 14:35
delover

В статье kdv почему-то не упомянут третий параметр IpcName (в дополнение к RemoteServiceName и RemoteServicePort), который у всех установленных и запущенных серверов тоже должен быть различным. Игнорирование этого факта приводит к тому, что все базы (если явно не указать порт в строке коннекта) ресторятся в ODS того сервера, кто был запущен (ЕМНИП) последним.
тынц
Автор: YuriyRR
Дата сообщения: 17.01.2012 19:14
eddoc
Спасибо, не знал.
Автор: delover
Дата сообщения: 20.01.2012 05:44
Спасиб, мне просто задачу такую поставили. Но я больше предпочитаю embeded (встроенный) сервер, когда нужная база для одного разработчика. Пока я с ней один. Но хозяин барин.
Автор: vetal71
Дата сообщения: 23.01.2012 11:26
У меня вопрос к тем кто юзает ibeblock. Проблема такая, выполняю скрипт по импорту данных в IBExpert - выполняется без ошибок, выполняю команду IBEScript.exe <файл скрипта> - выполняется без ошибок, но если выполнить используя IBEScript.dll, то в первом же блоке импорта выдает ошибку на отсутствие целевого поля. Мож кто знает, где копать
Автор: eddoc
Дата сообщения: 23.01.2012 13:33
delover

Цитата:
Но я больше предпочитаю embeded (встроенный) сервер, когда нужная база для одного разработчика.

ЕМНИП, среди сообщества IB/FP пользователей использование embedded-сервера FB для девелоперских задач - моветон. Ибо функционал его урезан по сравнению с полноценной версией. Подробнее у kdv и на sql.ru
Автор: X11
Дата сообщения: 23.01.2012 13:41
не то что бы моветон, просто неудобно
Автор: eddoc
Дата сообщения: 23.01.2012 16:47
X11
помнится, также шел разговор про более корректную обработку ошибок в полноценной версии сервера. Хотя, могу ошибаться, встроенный сервер использую только в продакшене и только исключительно в интересах "самостоятельного" юзера
Автор: delover
Дата сообщения: 25.01.2012 07:15
eddoc
Я имел ввиду что у меня есть девелоперский сервак 1 и IBExpert работает в основном с ним, ну а продукт обязан уметь работать со встроенной версией. Мой продуктик АРМ менеджера я сейчас использую но не разрбатываю больше. Он установлен со встроенной версией 2.5 и прекрасно работает, когда я переустанавливаю сервак 1.5. Функционала IBExpert мне за глаза хватает обновить любую базу путём сравнения дистрибутивных версий базы. В чём хороший тон иметь проги, не умеющие работать со встроенной??? Мне сложно понять.
Автор: salexn1
Дата сообщения: 25.01.2012 12:34
delover
имело ввиду, что для разработчика лучше иметь полную версию, а для клиентов можно и встроенную.
Автор: delover
Дата сообщения: 25.01.2012 14:12
salexn1

Цитата:
ввиду, что для разработчика лучше иметь полную версию, а для клиентов можно и встроенную.

Так разработчиков вообще не бывает без сервака. Впереди шла речь об разведении нескольких серваков по портам, в замену этому я предлагал 1 сервак и остальные встроенки.
Автор: Andryshok
Дата сообщения: 09.02.2012 15:46
MagistrAnatol
Цитата:
народ, подскажите как через фибсы задать региональные настройки сервера файребирд?
а то юзаю функцию DateToStr и она мне вместо февраля возвращает february


Никак, напишите свою UDF функцию например, или используйте в запросе оператор case , а есть уже и готовые библиотеки, например - http://rfunc.sourceforge.net/rfunc.htm , она бесплатная и с исходниками, написана на плюсах, можете добавить туда свои функции

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

Предыдущая тема: Сравнение двух строк


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.