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

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

Автор: miwa
Дата сообщения: 11.06.2013 12:30

Цитата:
Возвращаясь к теме топика, я бы резюмировал тему: какой именно рейд использовать - зависит от задачи! для сервера firebird да, удобнее 10. Но: не стоит пытаться брать медленные desktop-диски и "ускорять" их raid-ом


Из моего опыта для небольших систем (БД не больше нескольких гигабайт, активных пользователей меньше пары десятков) при более-менее нормально спроектированной базе и клиентских приложениях за глаза хватает обычного зеркала на «черных» винтах.
Автор: deks
Дата сообщения: 14.06.2013 12:56
miwa

WD Black уже не очень рядовой диск! Я бы сказал, что пытаться поставить Green - это рискнуть огрести означенных проблем! Хотя "на берегу" два Green в raid0 по ТТХ выглядят вполне ок - пока не сломаются))
Автор: miwa
Дата сообщения: 14.06.2013 13:30
deks
Ну, скажем так, это все еще десктопный недорогой (относительно серверных и/или SCSI) SATA-винчестер, доступный в любом магазине. А если не пороть ерунду и брать не «максимально-терабайтный», а «минимально-гигабайтный» вариант, то и не слишком дороже «зеленых» получится. Правда, порнуху файлопомойку хранить надо будет где-то в другом месте, это да
Автор: vavavol
Дата сообщения: 18.07.2013 16:48
Не знаю, здесь ли спрашиваю, но рискну: Скажите, есть ли функция в FB для перекодировки из utf8 в ansi
Автор: noisy
Дата сообщения: 18.07.2013 20:18
vavavol

функции отдельно конвертировать UTF в win нет.
НО можно при подключении указать кодировку WIN1251 и все данные UTF на клиенте будут конвертированы в WIN1251.
т.е. база может быть UTF, а клиент WIN1251
Автор: vavavol
Дата сообщения: 19.07.2013 09:01

Цитата:
функции отдельно конвертировать UTF в win нет.  
НО можно при подключении указать кодировку WIN1251 и все данные UTF на клиенте будут конвертированы в WIN1251.
т.е. база может быть UTF, а клиент WIN1251

Да нет, дело в том, что базу в кодировке win1251. А мне нужно текстовый файл с кириллицей в UTF загнать в базу
Автор: exteris
Дата сообщения: 19.07.2013 09:26
А не проще конвертнуть файл, а потом уже заливать в базу?
Автор: vavavol
Дата сообщения: 19.07.2013 10:18
Да нет, долго рассказывать. Налажен "робот" в организации для заливки таких файлов. Менять ничего нельзя. Была бы функция - в процедуре применил. Ну, да ладно. удф-ку напишу. Спасибо за ответы
Автор: angeltwo
Дата сообщения: 19.07.2013 13:06
vavavol
Может я что-то не понимаю, а что мешает залить этот текстовый файл в blob без всяких перекодировок?
Автор: vavavol
Дата сообщения: 19.07.2013 13:52
angeltwo

Цитата:
Может я что-то не понимаю, а что мешает залить этот текстовый файл в blob без всяких перекодировок?

Может, я неправильно выразился. "Залить" - это разобрать по полям и внести записи в нужные таблицы (не одну).
Автор: noisy
Дата сообщения: 19.07.2013 17:13
Значит при подключении укажи чарсет UTF. а сервер сам все данные конвертнет в вин1251
Автор: Andryshok
Дата сообщения: 23.07.2013 14:33
vavavol Ну ты же заливаешь данные из текстовика какой то прогой, я так понимаю... роботом как ты говорришь, возможно это будет служба например, что мешает в ней налету при чтении сконвертить строку и потом заливать.... помойму сделать перекодировку в роботе гораздо проше чем писать UDF
Автор: vavavol
Дата сообщения: 24.07.2013 08:54
Andryshok

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


Да какой прогой. Процедурой PSQL Firebird-а. Изменить ничего не могу, так, как бы это мне хотелось Да, я уже справился, УДФ-ку подключил. Спасибо, братцы
Автор: vavavol
Дата сообщения: 25.07.2013 12:01
Ребята, есть такая учебная задача:

Добавлено:
Написать процедуру Firebird SQL.
Массив M - это набор записей с ID

Процедура должна выдать набор с полями
1.Номер варианта
2.ID

Например для комбинации по 2 из 4 получим
1-1
1-2
2-1
2-3
3-1
3-4
4-2
4-3
5-2
5-4
6-3
6-4

Добавлено:
Есть алгоритм для конкретного N, а вот для любого N - проблема. Может кто-то поможет?

Это для сочетания 3-х значений:

CURRENT_VARIANT = 0;
for select id from m order by id into :id1 do
for select id from m where id > :id1 order by id into :id2 do
for select id from m where id > :id2 order by id into :id3 do
begin
CURRENT_VARIANT = CURRENT_VARIANT+1;
NUMBER_VARIANT = CURRENT_VARIANT;

ID = :id1;
SUSPEND;
ID = :id2;
SUSPEND;

ID = :id3;
SUSPEND;


end
Автор: goodydim
Дата сообщения: 08.08.2013 15:14

Цитата:
Да какой прогой. Процедурой PSQL Firebird-а. Изменить ничего не могу, так, как бы это мне хотелось Да, я уже справился, УДФ-ку подключил. Спасибо, братцы


если не секрет, какая именно UDF?
Автор: vavavol
Дата сообщения: 09.08.2013 09:10

Цитата:
если не секрет, какая именно UDF?


Свою длл-ку писал
Автор: delover
Дата сообщения: 10.08.2013 06:53
vavavol
Интересная задача. 5%
Автор: kiport
Дата сообщения: 26.08.2013 04:08
Здравстуйте.
Суть вот в чем: есть прога (АС СГМ) которая дружит с firebird 1.5, организация решилась перейти на версию 2.5, нужно сделать бэкап через IBexpert. Скачал его, установил, пытаюсь подключить базу, а он мне баян-бабаян в виде "Unsuccessful execution caused by an unavailable resource. unavailable database."
пытался подключиться к базе firebird, sgm; менял клиентскую библиотку с gds32.dll на fbclient.dll... но где-то я косячу. Грешу на то что у firebird не стандартный пароль, которого я конечно не знаю (КАК УЗНАТЬ?) и человек, работавший до меня, тоже не знает потому что ни разу firebird не трогал.
Еще есть строчки Role и Charset:NONE. Их я не трогал.

___________________

Вопрос снят. Подвох был в Charset. Надо было поставить 1251
Автор: jonikDk
Дата сообщения: 26.08.2013 08:57

Цитата:
Можно по тупому скопировать папку, снести firebird 1.5, поставить 2.5 и восстановить базы, но... получится ли?

Можно по тупому, но по другому.
Устанавливаете Firebird 1.5 на другом сервере(хотя бы на своем компьютере), копируете туда же базу (естественно остановив реальный сервер Firebird) и затем уже на новом сервере делаете чего хотите с базой со стандартным паролем.
Автор: exteris
Дата сообщения: 26.08.2013 09:34

Цитата:
Вопрос снят. Подвох был в Charset. Надо было поставить 1251

Неверный чарсет такую ошибку бы не выдал. Значит еще чего-то докрутили. Надеюсь в итоге через backup/restore перенесли базу?
Автор: OXDBA
Дата сообщения: 27.08.2013 08:45

Цитата:
Вопрос снят. Подвох был в Charset. Надо было поставить 1251

Подвох был либо в локальном подключении, либо кривой (или совсем не той версии) клиентской библиотеке.
Автор: AlexPetrovich
Дата сообщения: 28.08.2013 17:07
kiport

Цитата:
есть прога (АС СГМ) которая дружит с firebird 1.5, организация решилась перейти на версию 2.5, нужно сделать бэкап через IBexpert. Скачал его, установил, пытаюсь подключить базу


Без "оглуплятора" сделать бекап уже никак ?
Автор: exteris
Дата сообщения: 29.08.2013 08:48

Цитата:
Без "оглуплятора" сделать бекап уже никак ?

Я бы не назвал ibexpert оглуплятором, а так да, gbak-ом проще.
Автор: delover
Дата сообщения: 02.09.2013 12:18

Цитата:
Я бы не назвал ibexpert оглуплятором, а так да, gbak-ом проще.Всего записей: 214 | Зарегистр. 14-04-2003 | Отправлено: 09:48 29-08-2013

Оппонент неправильно запятые ставить. Думаю самый торчковый инструмент IBExpert
Автор: samssss
Дата сообщения: 18.09.2013 06:36
Добрый день. Не смог найти информацию в сети, но может тут подскажут. Interbse 2009 для оптимальной производительности (железо во внимание не берем, оно очень крутое) сколько может поддерживать отдельно стоящих баз? Есть же какой-то придел?
Автор: Andryshok
Дата сообщения: 23.09.2013 08:29
samssss Ну, насколько я знаю сколько угодно по идее - он же многопоточный, какая ему разница сколько баз висит
Автор: exteris
Дата сообщения: 23.09.2013 15:18
samssss
Пока не упретесь в узкое горлышко "очень крутого железа".
Зависит от размера баз, кол-ва коннектов и т.д.
Автор: delover
Дата сообщения: 29.11.2013 16:26
Доброго всем!
Сразу сделаю оговорку - без флуда...

Меня очень интересует вопрос один. Я заметил, что маниакально все избегают set_null-овых Foreign Key. Текущей программе более 10-и лет и базе иже с ней. Я ни одного set_null кроме своих не нахожу. Но и ранее в моей практике только каскад видел.

Есть ли причины избегать set_null? Я имею ввиду кроме тех случаев когда програмеры кривы ручки форматируют нуловые выражения (убей Бог не знаю зачем форматировать ID). Есть ли данные или мысли на этот секрет? Спасибо.
Автор: jonikDk
Дата сообщения: 29.11.2013 20:26

Цитата:
Есть ли причины избегать set_null?

Насколько я в курсе, нет никаких причин, НО всё пляшет от БИЗНЕС ЛОГИКИ. Если она позволяет, такой финт ушами, то почему нет??? Надо пользоваться на здоровье
У меня было всего два или три раза, где бизнес логика позволяла устанавливать в null значения в подчиненных таблицах и я пользовался этим механизмом, но гораздо чаще было каскадное удаление или нельзя было удалить
Автор: volser
Дата сообщения: 30.11.2013 13:50
delover
А можно пример где это используется (бизнес-задача) ? У себя только 1 раз использовал, да и то потом кажется переделал структуру.

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

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


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