Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.05.24;
Скачать: [xml.tar.bz2];

Вниз

Подскажите СУБД   Найти похожие ветки 

 
дед Маздай ©   (2009-03-12 11:29) [0]

Какую бы взять СУБД для следующей задачи. Пяток таблиц, сотня записей в каждой каждый месяц (рост весь период эксплуатации), лог (отсюда пожелание, поддержка тригерров), поддержка вьюшек. Ну вот, вроде бы и все. А, вот еще, желательно, даже обязательно - файловая. Без установки в систему. Т.е. набор длл в каталоге программы, который (каталог) можно взять, скопировать и запустить на другой машине.


 
clickmaker ©   (2009-03-12 11:31) [1]

FireBird embedded


 
Игорь Шевченко ©   (2009-03-12 11:31) [2]

ну оракл натурально


 
дед Маздай ©   (2009-03-12 11:36) [3]


> Игорь Шевченко ©   (12.03.09 11:31) [2]
> ну оракл натурально

Это EX который? А он разве не сетапом ставится?


 
Petr V. Abramov ©   (2009-03-12 11:37) [4]


> Игорь Шевченко ©   (12.03.09 11:31) [2]

Enterprise со всеми опциями на бигфайлах


 
Petr V. Abramov ©   (2009-03-12 11:39) [5]


> А он разве не сетапом ставится?

ставится сетапом, но можно ему подпихнуть responce-файл, и будет не дольше, чем вручную файлы копировать.
но не нужно ;)


 
Медвежонок Пятачок ©   (2009-03-12 12:06) [6]

Акцесс без вариантов


 
Медвежонок Пятачок ©   (2009-03-12 12:09) [7]

Если ПО будет работать за пределами своего предприятия, то в принципе все, кроме ib,fb и их братьев.


 
Sergey13 ©   (2009-03-12 12:22) [8]

> [7] Медвежонок Пятачок ©   (12.03.09 12:09)
> то в принципе все, кроме ib,fb и их братьев.

За что ты их так?


 
Медвежонок Пятачок ©   (2009-03-12 12:34) [9]

К ним самим как таковым претензий нет.
Но если ПО идет наружу, то можно запросто поиметь кучу проблем на пустом месте. Это из личного опыта.

Приходишь, ставишь. Все работает.
Через неделю там ставят ПО третьей стороны, тоже использующее и ставящее сервер FB.
Из ИТ персонала две тетеньки лет по 50 и студент третьекурсник, появляющийся раз в месяц для обслуживания желтой программы.

И все. У вас ods 11, а то ПО поставило полторашку.
Можно конечно заранее сменить порт своего сервера, но это же изврат полный. На старенькой замордованной персоналке клиента - у каждого экземпляра программы по инстансу sql сервера.


 
KSergey ©   (2009-03-12 12:47) [10]

> Медвежонок Пятачок ©   (12.03.09 12:06) [6]
> Акцесс без вариантов

А тама тригеры добавили? (просто уточняю)


 
дед Маздай ©   (2009-03-12 12:48) [11]


> Медвежонок Пятачок ©   (12.03.09 12:06) [6]
> Акцесс без вариантов

Там нет тригерров и вьюшек.


 
Медвежонок Пятачок ©   (2009-03-12 12:51) [12]

вьюшки есть, без триггеров, теб более в файловой БД можно легко обойтись


 
Sergey13 ©   (2009-03-12 12:51) [13]

> [9] Медвежонок Пятачок ©   (12.03.09 12:34)
> по инстансу sql сервера.

Зачем? Embedded вариант -именно как хочет автор топика

> Без установки в систему. Т.е. набор длл в каталоге программы,
> который (каталог) можно взять, скопировать и запустить
> на другой машине.

Причем и установка другого сервера по моему (не утверждаю) ничего не изменит.


 
Медвежонок Пятачок ©   (2009-03-12 12:53) [14]

Зачем? Embedded вариант -именно как хочет автор топика

Это все равно хуже чем акцесс.
1. стопудово сингл-плеер будет
2. тяжелее чем акцесс.


 
Sergey13 ©   (2009-03-12 12:54) [15]

> [14] Медвежонок Пятачок ©   (12.03.09 12:53)
> Это все равно хуже чем акцесс.

- Чем хуже?
- Чем аксес.

8-)


 
дед Маздай ©   (2009-03-12 13:00) [16]


> Медвежонок Пятачок ©   (12.03.09 12:51) [12]
> без триггеров, теб более в файловой БД можно легко обойтись

Хм... =)
С такой постановкой я вообще могу обойтись без СУБД и написать все самому на текстовых файлах.
Но вопрос-то не в этом.

> вьюшки есть

Можно глянуть код создания?


 
Медвежонок Пятачок ©   (2009-03-12 13:02) [17]

Нафик там триггеры? Лог вести?
Веди его из приложения, делов-то.

create view view_name as select .....


 
Медвежонок Пятачок ©   (2009-03-12 13:03) [18]

либо если через сам акцесс, то там это называется "запросом"


 
дед Маздай ©   (2009-03-12 13:03) [19]


> 1. стопудово сингл-плеер будет

Да.

Забыл упомянуть.


 
KSergey ©   (2009-03-12 13:09) [20]

думаю тригеров в файловых СУБД не бывает.  Равно как и транзакционности. Ибо драйвера файловой БД тут уже ничего гарантировать не смогут. Но если тригер будет реализован во внешнем к драйверам приложении - то драйвера при сбоях не виноваты, а вот если они чего-то не смогут гарантировать - кто ж ими будет пользоваться?

Так что требования автора не выполнимы.

Впрочем, если уточнить что важнее "файловая" или "без установки в систему" - то варианты появляются, уже озвучены.


 
дед Маздай ©   (2009-03-12 13:09) [21]


> Медвежонок Пятачок ©   (12.03.09 13:02) [17]
> create view view_name as select .....

Ошибка синтаксиса в инструкции.
После закрытия окна подсвечено view.
Нету так вьюшек.

> Нафик там триггеры? Лог вести?

И лог вести тоже. Это намного удобнее.


 
дед Маздай ©   (2009-03-12 13:18) [22]


> KSergey ©   (12.03.09 13:09) [20]

Видимо у меня проблемы с пониманием значения "файловая". Я представлял себе, что можно будет скопировать программу и данные (в данном случае базу), которые содержатся в файлах и без проблем запустить на другой машине. Видимо здесь (в терминалогии БД) "файловая" означает несколько другое. Тогда только "без установки в систему" и "набор длл в каталоге программы"


 
KSergey ©   (2009-03-12 13:22) [23]

> дед Маздай ©   (12.03.09 13:18) [22]
> Тогда только "без установки в систему" и "набор длл в каталоге  программы"

Тогда, видимо, [1] остается.
Про оракл не знаю можно ли скопировать (гы-гы), MS SQL подозреваю что нельзя. Хотя по прочим параметрам последний тоже подходит, есьт бесплатный вариант.


 
Медвежонок Пятачок ©   (2009-03-12 14:00) [24]

Нету так вьюшек.

Ну надо же какая неожиданность.
Как же я ими пользуюсь интересно


 
Медвежонок Пятачок ©   (2009-03-12 14:02) [25]

После закрытия окна подсвечено view.

Сказано же было, что в самом акцессе это зовется "создать запрос"

Или может тебе TAdoCommand что-то там подсвечивает откуда ни возмись?


 
PEAKTOP ©   (2009-03-12 14:14) [26]

> Медвежонок Пятачок ©   (12.03.09 12:34) [9]
> И все. У вас ods 11, а то ПО поставило полторашку.
> Можно конечно заранее сменить порт своего сервера, но это
> же изврат полный. На старенькой замордованной персоналке
> клиента - у каждого экземпляра программы по инстансу sql
> сервера.


1) Embedded использовать разучился ?

2) Или не знаешь, как стороннее ПО на Embedded перевести ? (тупая замена gds32.dll/fbclient.dll)

3) Почему использование нестандартного порта стало называться извратом ? И вообще, порт - понятие относительное, зависящее от желания моей левой пятки в текущий момент.

4) Какая разница, сколько инстансов ? IB/FB тем и ценны, что работают даже на самом убитом железе. Лично у меня 8ГБ корпоративная БД не на "супер-сервере", а чуть прокачанной персоналке - летает. Чуть прокачанная персоналка имеется в виду AMDTurion64*2, 4Gb RAM и 6 винтов упакованных в 3 SATA-RAID10 (на одном RAID10 база, на двух других - резервные копии), но это - обыкновенная персоналка из ближайшего магазина.


 
Медвежонок Пятачок ©   (2009-03-12 14:21) [27]

1) Embedded использовать разучился ?

А мне оно надо? У меня многопользовательская система.

2) Или не знаешь, как стороннее ПО на Embedded перевести ? (тупая замена gds32.dll/fbclient.dll)

Ой, спасибо. Последние сто лет не знал как это сделать.

4) Какая разница, сколько инстансов ?

Лично у меня 8ГБ корпоративная БД

Вот то-то и оно. Корпоративная. Поэтому ты такой и наивный.
А вот будет несколько тысяч инсталляций по всей РФ как у меня (а не в своей корпоративной сети), так и поймешь, что жизнь сложнее чем твои 8ГБ


 
MsGuns ©   (2009-03-12 14:41) [28]

Если не будет правки в многопользовательском режиме - акцес.
Однозначно.


 
atruhin ©   (2009-03-12 15:07) [29]

Можно SQLite посмотреть


 
blackman ©   (2009-03-12 20:35) [30]

Если не будет правки в многопользовательском режиме - акцес.
А почему бы и не править в многопользовательском? Правится все без проблем.


 
MsGuns ©   (2009-03-12 22:00) [31]

>blackman ©   (12.03.09 20:35) [30]
>А почему бы и не править в многопользовательском? Правится все без >проблем.

Точна ?


 
blackman ©   (2009-03-13 20:41) [32]

MsGuns ©   (12.03.09 22:00) [31]
Попробуй сам, если не веришь. Это так просто...
Access. Особенности работы в многопользовательском режиме
http://articles.org.ru/cn/showdetail.php?cid=7604


 
Тын-Дын ©   (2009-03-13 21:49) [33]


> MsGuns ©   (12.03.09 14:41) [28]
> Если не будет правки в многопользовательском режиме - акцес.
>  Однозначно.


Акцесс на более-менее приличных объёмах (300-500Мб) с данными не очень простой структуры с хорошими индексами для выборки дохнет при добавлении данных.
Непонятны высказывания против FB Embedded.

> Медвежонок Пятачок ©   (12.03.09 14:21) [27]
> А вот будет несколько тысяч инсталляций по всей РФ как у
> меня (а не в своей корпоративной сети), так и поймешь, что
> жизнь сложнее чем твои 8ГБ


И что? Подскажи, чем же FB Embedded будет хуже Access? Ну хотя бы пару причин.


 
blackman ©   (2009-03-13 22:25) [34]

FB Embedded будет хуже Access
Access как правило уже установлен у всех, а с FB Embedded ты будешь напрягать юзера и себя.
Я уж не говорю о переносе...
В вопросе
...который (каталог) можно взять, скопировать и запустить на другой машине.

Акцесс на более-менее приличных объёмах (300-500Мб) с данными не очень простой структуры с хорошими индексами для выборки дохнет при добавлении данных.
Утверждение взятое неизвестно откуда. Может ты о первых версиях?


 
Тын-Дын ©   (2009-03-13 23:22) [35]


> Утверждение взятое неизвестно откуда. Может ты о первых
> версиях?


Полгода мучился с пользователями из-за того, что БД была Access.
В базе было порядка 20-30 таблиц достаточно сложной структуры  (много полей, много индексов). Загрузка данных за один день (30Мб) шла не менее 1-2 часов. Это всё-же файловая СУБД, в отличие от FB.


> Access как правило уже установлен у всех, а с FB Embedded
> ты будешь напрягать юзера и себя.
> Я уж не говорю о переносе...В вопросе...который (каталог)
> можно взять, скопировать и запустить на другой машине.


Юзеру совершенно пофиг, в каком формате хранятся данные. Тем более, что установки никакой не требуется. Достаточно скопировать каталог и всё работает.


 
Тын-Дын ©   (2009-03-13 23:23) [36]

PS.
Версия - MSOffice 2003.


 
Медвежонок Пятачок ©   (2009-03-13 23:49) [37]

И что? Подскажи, чем же FB Embedded будет хуже Access? Ну хотя бы пару причин.

Непреодолимая ни при каких условиях однопользовательность.


 
sniknik ©   (2009-03-13 23:49) [38]

> дохнет при добавлении данных.
у меня работает... проблемы начинались где то от 1,8гиг в неупакованном состоянии (~ 1,6 в сжатом), да и то если объем обрабатываемых данных (по расчетам) превышал 2гига. (например делаешь выборку с объедением и расчетный размер полного объединения (до условий в where) где то за 250мег. это было практически гарантией глюка в движке. хотя если считать от сжатого размера место еще есть... так думаю это от фрагментированности рабочего пространства и попытки выделить цельный кусок, а там уже превышение)

> Это всё-же файловая СУБД, в отличие от FB.
ну, если ты работал с ней как с файловой, то понятно отчего она у тебя "дохнет". jet сделан так, что по принципц работы больше похож на клиент серверЮ а не файл сервер.


 
blackman ©   (2009-03-13 23:50) [39]

Тын-Дын ©   (13.03.09 23:23) [36]
Загрузка данных за один день (30Мб) шла не менее 1-2 часов. Это всё-же файловая СУБД, в отличие от FB.
Опять не читаем вопрос темы
Пяток таблиц, сотня записей в каждой каждый месяц ...

И  ссылку я привел
Access. Особенности работы в многопользовательском режиме
http://articles.org.ru/cn/showdetail.php?cid=7604
Там довольно подробно о том КАК НАДО с ним работать.

Юзеру совершенно пофиг, в каком формате хранятся данные.
Вот именно. Значит, если объем не очень большой, то не нужно и мудрить с FB. Что автора ветки и интересует


 
blackman ©   (2009-03-13 23:59) [40]

jet сделан так, что по принцип работы больше похож на клиент сервер
Золотые слова!
И думать надо сколько будешь грузить при запросе.


 
Тын-Дын ©   (2009-03-14 00:00) [41]


> Медвежонок Пятачок ©   (13.03.09 23:49) [37]
> И что? Подскажи, чем же FB Embedded будет хуже Access? Ну
> хотя бы пару причин.Непреодолимая ни при каких условиях
> однопользовательность.


Наверное это единственный недостаток? Ну если многопользовательский доступ к БД не нужен, то и этот недостаток исчезает.

PS.

Да я не против Акцесса.
Вот только помнится такой глюк:

Часто при работе в обнопользовательском режиме с расположенной на сервере БД файл этой базы портился. И восстановить его ни в какую не удавалось. Касалось это версии MS 2000. ВОт с тех пор некоторое предубеждение осталось.


> ну, если ты работал с ней как с файловой, то понятно отчего
> она у тебя "дохнет". jet сделан так, что по принципц работы
> больше похож на клиент серверЮ а не файл сервер.


Что значит работать с ней "как с файловой"?


 
Тын-Дын ©   (2009-03-14 00:02) [42]


> blackman ©   (13.03.09 23:59) [40]
> jet сделан так, что по принцип работы больше похож на клиент
> серверЗолотые слова!


Ну так поясни, чем отличается работа с Access как с файловой БД от СУБД настоящей?


 
blackman ©   (2009-03-14 00:09) [43]

Тын-Дын ©   (14.03.09 00:02) [42]
Ты с JET работать собираешься или как?
Прочитай статью там все очень подробно расписано и о JET в том числе.
Даже о админ режиме и пользовательском...
Результат в разных вариантах разный


 
Медвежонок Пятачок ©   (2009-03-14 00:14) [44]

Наверное это единственный недостаток?

Ну да, маленький такой незаметный недостаточек.
Который не характерен даже для dbase/paradox.

Недостаток не единственный.
Джет есть всегда и везде.
фбклиент.длл   - нет.
причем не абы какой, а не ниже версии умеющей читать нужную версию одс


 
Медвежонок Пятачок ©   (2009-03-14 00:15) [45]

Добавляем сюда многочисленные вилки в коде, при работе с метаданными.
Когда у авторов фб от версии к версии регулярно руки чешуться поменять что-то в системных таблицах.


 
Тын-Дын ©   (2009-03-14 00:16) [46]


> blackman ©   (14.03.09 00:09) [43]
> Тын-Дын ©   (14.03.09 00:02) [42] Ты с JET работать собираешься
> или как?Прочитай статью там все очень подробно расписано
> и о JET в том числе. Даже о админ режиме и пользовательском.
> ..Результат в разных вариантах разный


Честно говоря, прочитав статью, не понял преимуществ при раболте в однопользовательском режиме.
Кроме того, не понял, что означает работать с базой как с файлом, и так как с нормальной СУБД?

Обработка в любом случае происходит на пользовательском компьютере.


 
Тын-Дын ©   (2009-03-14 00:20) [47]


> Недостаток не единственный.Джет есть всегда и везде.фбклиент.
> длл   - нет.причем не абы какой, а не ниже версии умеющей
> читать нужную версию одс


Нет, Jet есть не всегда. Это первое.
Второе - для FB Embedded всегда есть то, что нужно. Прямо в рабочем каталоге с программой. И всегда нужной версии, с нужной DLL.
И третье - мы же всё-таки поняли уже, что говорим об однопользовательском доступе к БД.


> Медвежонок Пятачок ©   (14.03.09 00:15) [45]
> Добавляем сюда многочисленные вилки в коде, при работе с
> метаданными.Когда у авторов фб от версии к версии регулярно
> руки чешуться поменять что-то в системных таблицах.


А ничего не надо менять. Программа написана, работает, полноценная СУБД локально лежит в каталоге. Зачем что-то обновлять?


 
sniknik ©   (2009-03-14 00:24) [48]

> Касалось это версии MS 2000. ВОт с тех пор некоторое предубеждение осталось.
нет. не может быть. я с аксесс как раз с 2000го (и года и версии) начал работать, и до сих пор ни единой "поломки" базы, у клиентов естественно которых не так уж и мало набралось (около 5 тыс.), не считая пары случаев когда аксесс был не виноват (диск портился), ну и тестов, когда специально "издевались" чтобы поломать, и то не часто получалось.
впечатление как о ОЧЕНЬ надежной базе.

т.е. если у тебя и сложилось предубеждение то оно должно быть от более ранних версий, там глюки признаны даже мелкософтом (сам не сталкивался т.к. практически и не выдел его в таком формате. то что сам делал на "посмотреть" не в счет).


 
Медвежонок Пятачок ©   (2009-03-14 00:30) [49]

А ничего не надо менять. Программа написана, работает, полноценная СУБД локально лежит в каталоге. Зачем что-то обновлять?

Это тот случай, когда программа написана для младшей сестры и работает на домашнем компе. Или в корпоративной сети.

Стоит ее выпустить за забор, и все окажется не так замечательно.


 
blackman ©   (2009-03-14 00:37) [50]

не понял преимуществ при раболте в однопользовательском режиме
Теперь я не понял.
Статья о Особенностях работы в многопользовательском режиме.
Если выбран режим Exclusive (монопольный доступ), базу данных имеет право открывать только один пользователь и это все.
О каких преимуществах может быть речь?

как с нормальной СУБД?
Если через JET, то забудь про слово файл :)
Работаешь как с обычной базой и не заморачиваешься.

Обработка в любом случае происходит на пользовательском компьютере
См. раздел Конфигурация


 
Тын-Дын ©   (2009-03-14 01:04) [51]


> как с нормальной СУБД?Если через JET, то забудь про слово
> файл :)Работаешь как с обычной базой и не заморачиваешься.
>


Чем отличается полноценная СУБД от прочих?
Тем, что движок этой СУБД
1) отделён от данных
2) отделён от пользователя
3) поддерживает транзакции и откат транзакций как вперёд, так и назад.

Поддерживаются ли эти условия в MS Jet для Access?


> Медвежонок Пятачок ©   (14.03.09 00:30) [49]
>Стоит ее выпустить за забор, и все окажется не так замечательно.
>


А что может произойти?
Я не вижу причин, по которым FB Embedded не мог бы заменить Access по той же надёжности и сопроваждаемости.


 
Медвежонок Пятачок ©   (2009-03-14 01:06) [52]

Я не вижу причин, по которым FB Embedded не мог бы заменить Access по той же надёжности и сопроваждаемости.

Ну а я например вижу это в своей повседневной практике.


 
Тын-Дын ©   (2009-03-14 01:07) [53]


> Медвежонок Пятачок ©   (14.03.09 01:06) [52]
> Я не вижу причин, по которым FB Embedded не мог бы заменить
> Access по той же надёжности и сопроваждаемости.Ну а я например
> вижу это в своей повседневной практике.


Т.е. работал и с тем, и с другим?
Тогда может всё же укажешь на типичные проблемы, которые как раз в тираже продукта могут помешать?


 
Медвежонок Пятачок ©   (2009-03-14 01:13) [54]

Я работал со всем.
С dbase, с парадокс, с mssql, с ораклом.

типичные проблемы описаны выше в этой ветке.


 
Тын-Дын ©   (2009-03-14 01:26) [55]


> Медвежонок Пятачок ©   (14.03.09 01:13) [54]
> Я работал со всем.С dbase, с парадокс, с mssql, с ораклом.
> типичные проблемы описаны выше в этой ветке.


Вот я собрал то, что ты писал о проблемах в этой ветке.

> Непреодолимая ни при каких условиях однопользовательность.
</I

Если она не нужна, тогда что? - Это не является недостатком.

>Jet есть всегда.

Как я уже писал, не всегда есть. Более того, он может быть неподходящей версии, если даже есть.

DLL для FB будет именно такой версии, которой нужно, и никакие сервера (установленные, или планируемые) этого не могут изменить.

Т.е. твои аргументы в ветке пока не тянут на факты.


 
Медвежонок Пятачок ©   (2009-03-14 01:31) [56]

Т.е. твои аргументы в ветке пока не тянут на факты.

Я бы сказал так.
лично твой более скудный опыт разработчика не позволяет тебе принять мои аргументы (не из пальца высосанные)


 
Медвежонок Пятачок ©   (2009-03-14 01:34) [57]

DLL для FB будет именно такой версии, которой нужно, и никакие сервера (установленные, или планируемые) этого не могут изменить.

На:
Юзер поставил 204 и забаккапил твою базу с одс 10.
Затем заресторил.

И твое чудесное приложение, в котором ничто и никогда не должно было измениться громко говорит "ку-ку"


 
Тын-Дын ©   (2009-03-14 01:35) [58]


> Медвежонок Пятачок ©   (14.03.09 01:31) [56]
> Т.е. твои аргументы в ветке пока не тянут на факты.Я бы
> сказал так.лично твой более скудный опыт разработчика не
> позволяет тебе принять мои аргументы (не из пальца высосанные)


С чего это ты взял, что мой опыт более скуден?

Ты не привёл конкретных аргументов в пользу своей позиции, а только лишь провозгласил, что ты крут и, если бы ты использовал FB embedded в своей программе, то получил бы кучу проблем.
Но ничего не сказал про эту кучу проблем.
Это не аргумент.

PS.
Про опыт разработчика:
Работаю с базами (пусть не очень активно) с 1985г.


 
Тын-Дын ©   (2009-03-14 01:36) [59]


> Медвежонок Пятачок ©   (14.03.09 01:34) [57]
> DLL для FB будет именно такой версии, которой нужно, и никакие
> сервера (установленные, или планируемые) этого не могут
> изменить.На:Юзер поставил 204 и забаккапил твою базу с одс
> 10.Затем заресторил.И твое чудесное приложение, в котором
> ничто и никогда не должно было измениться громко говорит
> "ку-ку"


Погоди, ты про что?

Пользователю я ставлю конкретную версию однопользовельского FB, которая лежит вместе с программой и не меняется.


 
Тын-Дын ©   (2009-03-14 01:38) [60]

Вот тема про ошибку
http://delphimaster.net/view/3-1236868464/

Но это же бред, и так понятно.


 
Медвежонок Пятачок ©   (2009-03-14 01:41) [61]

С чего это ты взял, что мой опыт более скуден?

С того, что до тебя никак не доходит.

Ты не привёл конкретных аргументов в пользу своей позиции,

Я привел невыдуманные истории из своего личного практического опыта.
Если это не конкретные факты, то что это?

PS.
Про опыт разработчика:
Работаю с базами (пусть не очень активно) с 1985г.


Да хоть с 65!
У тебя сколько инсталляций за пределами непосредственной твоей досягаемости?

зы: На одном из предприятий (бывшее мое место работы) только в одном из 17 филиалов год назад было полторы тысячи. География - от хабаровска до калининграда и от краснодарского края до воркуты.


 
Медвежонок Пятачок ©   (2009-03-14 01:43) [62]

Погоди, ты про что?

Пользователю я ставлю конкретную версию однопользовельского FB, которая лежит вместе с программой и не меняется.


Ну поставил конкретную и что?
Ты уже в домике?

Он через неделю поставил еще одну поделку на ФБ.
И сделал бэкап\рестор


 
Медвежонок Пятачок ©   (2009-03-14 01:46) [63]

pps полторы тысячи - это не внутри сетки филиала.
это у клиентов этого филиала.
то есть вообще фик знает где и фик знает на чем установленное.


 
Медвежонок Пятачок ©   (2009-03-14 01:57) [64]

вот еще конкретный пример геморроя:

ставишь программу на фб. обнаруживаешь, что у клиента уже стоит сервер.
вместо установки своей пустой бд выполняешь ддл скрипт на имеющемся сервере.

все работает.
приходит время обновления. надо проверить структуру бд и создать новые объекты. и опа - вот они вилки.
думай заранее что там у очередного клиента иб, дятел или тот или иной фб.


 
Тын-Дын ©   (2009-03-14 02:08) [65]


> Ну поставил конкретную и что?Ты уже в домике?


Конечно. Ведь приложение не обращается к серверу, а использует DLL, которая лежит локально.


> Он через неделю поставил еще одну поделку на ФБ.И сделал
> бэкап\рестор


Пусть хоть сколько FB, IB и прочие ставит. На Fb Embedded это никак не повлияет.


> ставишь программу на фб. обнаруживаешь, что у клиента уже
> стоит сервер.вместо установки своей пустой бд выполняешь
> ддл скрипт на имеющемся сервере.


При правильных настройках приложения никакие сервера использоваться не будут.


 
Медвежонок Пятачок ©   (2009-03-14 02:10) [66]

При правильных настройках

перечисли плиз эти настройки и их правильные значения.


 
turbouser ©   (2009-03-14 02:12) [67]


> Медвежонок Пятачок ©   (14.03.09 01:57) [64]

ССЗБ
0) Ну стоит... ну и фиг с ним... Порты... ПОРТЫЫЫ :) + путь к fbclient в fib можно задавать
1) Сделать свой дистрибутив. С ФБ, своим софтом и т.п. Ня?
2) Обновления? так см. п.2 - как поставишь, так и обновишь.
3) Исходники же есть... но это для извращенцев :)

Есть опыт, знаю, проходили.


 
Медвежонок Пятачок ©   (2009-03-14 02:13) [68]

Конечно. Ведь приложение не обращается к серверу, а использует DLL, которая лежит локально.

да да. все верно.
а длл открывает файл данных.
а файлу данных юзер в понедельник сделал бэкап и рестор.
и с помошью не твоего сервера и не с помошью твоей длл.


 
turbouser ©   (2009-03-14 02:15) [69]


> Медвежонок Пятачок ©   (14.03.09 02:13) [68]

4) Есть такая штука, как договор.


 
Медвежонок Пятачок ©   (2009-03-14 02:16) [70]

0) Ну стоит... ну и фиг с ним... Порты... ПОРТЫЫЫ :) + путь к fbclient в fib можно задавать

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

1) Сделать свой дистрибутив. С ФБ, своим софтом и т.п. Ня?
Ня. И что? Что это меняет?

2) Обновления? так см. п.2 - как поставишь, так и обновишь.
Сделаю. Но в коде будет куча вилок на все случаи жизни. (разные версии бд от разных серверов)

3) Исходники же есть... но это для извращенцев :)
О чем и речь. ФБ - для дома, для семьи.


 
Тын-Дын ©   (2009-03-14 02:18) [71]


> перечисли плиз эти настройки и их правильные значения.


Перечислю:

Достаточно всего лишь одной настройки в программе.
Для TIBDataBase это будет путь к БД.
Например: local:D:\data\dfApp\data\common.gdb

А лежащие DLL в каталоге программы обеспечат доступ через нужный движок.


> а файлу данных юзер в понедельник сделал бэкап и рестор.


А резервирование файла с данными производится простым копированием, либо является одной из функций приложения.

И какие ещё могут быть проблемы?


 
Тын-Дын ©   (2009-03-14 02:20) [72]


> не знаю как вы, а я считаю что нафик такой сервер, которому
> требуется отдельный инстанс на каждую поделку.


Разговор идёт не о сервере FB, а о FB Embedded. Не надо забывать.


> 1) Сделать свой дистрибутив. С ФБ, своим софтом и т.п. Ня?
> Ня. И что? Что это меняет?


Какой дистрибутив?
Недостаточно развернуть архив RAR или ZIP?


> Сделаю. Но в коде будет куча вилок на все случаи жизни.
> (разные версии бд от разных серверов)


НЕ будет никаких разных серверов. Будет одна статичная версия.


> 3) Исходники же есть... но это для извращенцев :) О чем
> и речь. ФБ - для дома, для семьи.


Не надо так категорично, так как это неверно.


 
turbouser ©   (2009-03-14 02:21) [73]


> Медвежонок Пятачок ©   (14.03.09 02:16) [70]


> не знаю как вы, а я считаю что нафик такой сервер, которому
> требуется отдельный инстанс на каждую поделку.

Ну почему же... Поверьте, с ораклами и прочими мсскл-ми горааааздо сложней в подобном случае будет.

> И что? Что это меняет?

Можно самому задать где, что и когда. Свое, так сказать :)

> Сделаю. Но в коде будет куча вилок на все случаи жизни.
> (разные версии бд от разных серверов)

Это еще почему?

> О чем и речь. ФБ - для дома, для семьи.

Ндааа :)


 
Медвежонок Пятачок ©   (2009-03-14 02:22) [74]

А резервирование файла с данными производится простым копированием, либо является одной из функций приложения.

А волга впадает в каспийское море.

И какие ещё могут быть проблемы?

<Цитата>


В общем итог такой:
Будет опыта побогаче, появится и понимание того какие могут быть проблемы.


 
turbouser ©   (2009-03-14 02:22) [75]


> Тын-Дын ©   (14.03.09 02:20) [72]
>
> > не знаю как вы, а я считаю что нафик такой сервер, которому
> > требуется отдельный инстанс на каждую поделку.
>
> Разговор идёт не о сервере FB, а о FB Embedded. Не надо
> забывать.

Без разницы абсолютно...


 
Медвежонок Пятачок ©   (2009-03-14 02:24) [76]

Это еще почему?

Служебные системные таблицы метаданных разные.
Даже для фб разных версий, не говоря уже о различиях иб и фб


 
Медвежонок Пятачок ©   (2009-03-14 02:26) [77]

Ну почему же... Поверьте, с ораклами и прочими мсскл-ми горааааздо сложней в подобном случае будет.

У меня как-то как раз наоборот.


 
turbouser ©   (2009-03-14 02:27) [78]


> Медвежонок Пятачок ©   (14.03.09 02:24) [76]

При чем здесь это...


 
Тын-Дын ©   (2009-03-14 02:27) [79]


> turbouser ©   (14.03.09 02:22) [75]
> > Тын-Дын ©   (14.03.09 02:20) [72]> > > не знаю как вы,
>  а я считаю что нафик такой сервер, которому> > требуется
> отдельный инстанс на каждую поделку.> > Разговор идёт не
> о сервере FB, а о FB Embedded. Не надо > забывать.Без разницы
> абсолютно...


Разница есть, так как Embedded никак не зависит от установленных серверов.


> В общем итог такой:Будет опыта побогаче, появится и понимание
> того какие могут быть проблемы.


В общем, итог такой:
аргументов нет, либо идёт полное непонимание/зашоренность/(зацикленность на чём-то одном).

Абсолютно никаких заслуживающих внимания аргументов против FB Embedded не было приведено.
Единственный аргумент - апелляция к сомнительному личному опыту.

Что ж. На этом можно и остановиться, так как бессмысленно продолжать спор с человеком, который АБСОЛЮТНО уверен в собственной правоте, но в пользу своей правоты сказать ничего не может.
Не буду говорить, как это называется.

И этот человек запрещает мне ковыряться в носу


 
Медвежонок Пятачок ©   (2009-03-14 02:28) [80]

При чем здесь это...

<Цитата>


ну проверь например наличие триггера.
запрос напиши.


 
turbouser ©   (2009-03-14 02:29) [81]


> Медвежонок Пятачок ©   (14.03.09 02:26) [77]

Что было в поставке - то и обновляется...

> Медвежонок Пятачок ©   (14.03.09 02:26) [77]
>
> Ну почему же... Поверьте, с ораклами и прочими мсскл-ми
> горааааздо сложней в подобном случае будет.
>
> У меня как-то как раз наоборот.

Да? Не верю ©


 
Медвежонок Пятачок ©   (2009-03-14 02:30) [82]

Единственный аргумент - апелляция к сомнительному личному опыту.

Расскажи про свой несомнительный опыт.
Я так и не услышал о количесстве твоих инсталляций.


 
Медвежонок Пятачок ©   (2009-03-14 02:31) [83]

Что было в поставке - то и обновляется...

Нужен новый триггер.
Ты пока не знаешь, если ли он или его нет.
Или может он есть, но инвалидный и требует удаления\создания или пересоздания.

твои действия?


 
turbouser ©   (2009-03-14 02:37) [84]


> Медвежонок Пятачок ©   (14.03.09 02:31) [83]
>
> Что было в поставке - то и обновляется...
>
> Нужен новый триггер.
> Ты пока не знаешь, если ли он или его нет.
> Или может он есть, но инвалидный и требует удаления\создания
> или пересоздания.
>
> твои действия?

У меня сделано так : сравнение структур с эталонной бд и изменение существующей, разумеется с бекапами. (+много еще чего. ноу хау :) )


 
Медвежонок Пятачок ©   (2009-03-14 02:40) [85]

У меня сделано так : сравнение структур с эталонной бд и изменение существующей, разумеется с бекапами. (+много еще чего. ноу хау :) )

Ну так все таки.
Допустим у юзера появилась новая эталонная бд.
В ней есть новый триггер.
Есть текущая бд.
И надо чтобы триггер появился и в ней.

Причем неизвестно, какой именно сервер стоит у клиента.


 
turbouser ©   (2009-03-14 02:50) [86]


> Медвежонок Пятачок ©   (14.03.09 02:40) [85]

Еще раз... последний... можно сделать свой сетап...


 
Медвежонок Пятачок ©   (2009-03-14 02:54) [87]

да все можно сделать, особенно если ты наивный студент.
можно заставить юзера качать по дохлому диалапу полный сетап вместо обновления, можно считать, что у юзера нет и не может быть иного софта кроме своего студенческого.
много чего можно.

Как я понял, ты все же понял, что метаданные в разных версиях разные, и не все так просто с обновлением структуры бд.
Но признать это нет сил.


 
Тын-Дын ©   (2009-03-14 02:57) [88]


> Медвежонок Пятачок ©   (14.03.09 02:30) [82]
> Единственный аргумент - апелляция к сомнительному личному
> опыту.Расскажи про свой несомнительный опыт.Я так и не услышал
> о количесстве твоих инсталляций.


Ты думаешь, я с тобой меряться буду?

Ты все аргументы пропустил мимо ушей, а своих так и не привёл.


> turbouser ©   (14.03.09 02:50) [86]


Изначально разговор идёт об однопользовательской СУБД.

Аргументы ПРОТИВ MSAccess и ЗА FB Embedded:

1.
MS Jet может отсутствовать на ПК (а таких очень много). Придётся тащить дистрибутив для установки.
FBE не нужно устанавливать. он будет входить в состав дистрибутива приложения
2.
MS Jet может  быть не той версии. Что делать в этом случае?
FBE всегда нужной версии и не зависит ни от каких обновлений и изменений ПО на ПК.

3.
MS Jet - не полноценная СУБД.
FB - полноценная однопользовательская СУБД.

Я так и не увидел аргументов против этих высказываний.


 
Медвежонок Пятачок ©   (2009-03-14 02:59) [89]

можно сделать свой сетап...

чем твой сетап поможет?
волшебством?

при изначальной  установке оказалось, что у юзера стоит иб.
инсталляция выполнила ддл скрипт и создала базу иб.

твой сетап содержит эталонную базу фб, а сервера фб у юзера нет.

что дальше?


 
Медвежонок Пятачок ©   (2009-03-14 03:00) [90]

Изначально разговор идёт об однопользовательской СУБД.

Ты это сам придумал, или это явно указано в вопросе автора?


 
turbouser ©   (2009-03-14 03:02) [91]


> Медвежонок Пятачок ©   (14.03.09 02:54) [87]

Только наивный студент мог так подытожить сию дискуссию.
Что поделаешь... Адью.


 
Тын-Дын ©   (2009-03-14 03:04) [92]


> Медвежонок Пятачок ©   (14.03.09 03:00) [90]
> Изначально разговор идёт об однопользовательской СУБД.Ты
> это сам придумал, или это явно указано в вопросе автора?
>


Сам придумал. А что?

ПО крайней мере, у автора не вызвала отторжения эта мысль.

Но ты так и не ответил на [88].

PS.
А вот при необходимости FBE легко и без напрягов переводится на FB Server.


 
Медвежонок Пятачок ©   (2009-03-14 03:07) [93]

Ты думаешь, я с тобой меряться буду?

Я тебе не предлагал меряться.
Я хотел лишь выяснить, имеешь ли ты хоть сколько-нибудь существенный опыт распространения приложений на фб наружу.

по ходу дела не имеешь.
а весь опыт работы внутри корпоратива он конечно сам по себе ценен несомненно. Но есть области, где его просто недостаточно.

Это опять таки из собствнного опыта.
работал в команде где были люди более продвинутые в разработке чем я, и тем не менее всю жизнь они разрабатывали под сервера, которые находились под боком.
Когда условия работы несколько поменялись, и разрабатываемое ПО стало уходить наружу, то они просто раз за разом садились в лужу по самое нехочу каждый раз когда приходилось обновлять что-то.


 
Тын-Дын ©   (2009-03-14 03:08) [94]


> Это опять таки из собствнного опыта.работал в команде где
> были люди более продвинутые в разработке чем я, и тем не
> менее всю жизнь они разрабатывали под сервера, которые находились
> под боком. Когда условия работы несколько поменялись, и
> разрабатываемое ПО стало уходить наружу, то они просто раз
> за разом садились в лужу по самое нехочу каждый раз когда
> приходилось обновлять что-то.


О чём это говорит?
Об ошибках проектирования или о недостаточной квалификации? Или о том и другом одновременно?


 
Медвежонок Пятачок ©   (2009-03-14 03:08) [95]

Но ты так и не ответил на [88].

ТРИ раза сказал, что длл не поменяется, но запросто может поменяться одс у файла данных.

Но ты это упорно игнорируешь


 
Тын-Дын ©   (2009-03-14 03:09) [96]

Это говорит скорее о неправильном технологическом процессе в фирме.


 
Тын-Дын ©   (2009-03-14 03:09) [97]


> ТРИ раза сказал, что длл не поменяется, но запросто может
> поменяться одс у файла данных.


Почему он должен поменяться?


 
Медвежонок Пятачок ©   (2009-03-14 03:10) [98]

О чём это говорит?
Об ошибках проектирования или о недостаточной квалификации? Или о том и другом одновременно?


Они были примерно такого же мнения о возможных проблемах деплоя как и ты.
"Какие такие могут быть проблемы?!" - вот их искреннее мнение на этот счет.


 
Медвежонок Пятачок ©   (2009-03-14 03:11) [99]

Почему он должен поменяться?

Юзер поставил сервер.
И сделал бэкап\рестор.
Да, да, я знаю. В твоем приложении это должно делаться простым копированием файла.

Но юзер взял и сделал бэкап\рестор.


 
Медвежонок Пятачок ©   (2009-03-14 03:13) [100]

Что поделаешь... Адью.

Да да. Очень обяжешь, если исчезнешь из обсуждения.


 
Тын-Дын ©   (2009-03-14 03:16) [101]


> Юзер поставил сервер.И сделал бэкап\рестор.Да, да, я знаю.
>  В твоем приложении это должно делаться простым копированием
> файла.


Если это не предусмотрено (резервное сохранение/восстановление) средствами сервера, то такая ситуация решается административно.


 
Тын-Дын ©   (2009-03-14 03:17) [102]

Ладно, может с утра ещё кто подключится к дискуссии и внесёт свежую струю...


 
Медвежонок Пятачок ©   (2009-03-14 03:20) [103]

Если это не предусмотрено (резервное сохранение/восстановление) средствами сервера,

Какая именно версия сервера не предусматривает бэкапы?

то такая ситуация решается административно.

Административно можно решать  вопросы внутри своего ОАО, ООО, и гаражного кооператива.

Я выше описал реальную ситуацию. ООО, две тетки две персоналки и студент раз в месяц. Ну еще генеральный, который в тетрис умеет играть.

Ага. щас мы там административно порешаем все вопросы. и пофик, что я один, а этих ООО сотни и тысячи.


 
sniknik ©   (2009-03-14 04:38) [104]

> Чем отличается полноценная СУБД от прочих?
> Тем, что движок этой СУБД
> 1) отделён от данных
> 2) отделён от пользователя
> 3) поддерживает транзакции и откат транзакций как вперёд, так и назад.

> Поддерживаются ли эти условия в MS Jet для Access?

> 1) отделён от данных
отделен даже больше чем Embedded, у аксесс данные идут через COM объект (фактически аналог сервера) у Embedded через dll которая рядом с программой (при статическом связывании фактически часть ее, и вроде как в этом случае в одном адресном пространстве с программой).

> 2) отделён от пользователя
а как же, точно также как и Embedded, файл базы лежит на той же машине... :) но у аксесс есть возможность (впрочем никогда, никем не используемая) удалить базу от пользователя, даже на другую машину... а для доступа использовать интерфейсы обьекта RDSServer.DataFactory/DataControl

> 3) поддерживает транзакции и откат транзакций как вперёд, так и назад.
что значит вперед/назад? впрочем неважно. поддерживается до 5 уровней вложенности транзакций. решай сам достаточно это или нет.

> MS Jet может отсутствовать на ПК
может
> (а таких очень много).
за все время встречал 3 раза... один раз, целая партия в 20 машин с установленной спец виндой (98) без DCOM. и соответственно всего от чего зависит. но это такая специальная винда на которой очень много чего не работает (возможно даже и FB). т.к. когда это выяснили была чуть ли не паника ни одна из нужных прог не работала, не только наша. (покупали новую)
второй, когда только только XP появилась ктото поставил ее с пиратки, ну и хотя она и говорила (в реестре было прописано)  что стоит jet 4 sp7 но файлов не было. и не ставилось... т.к. полная установка это 3sp а дальше только апдейты... догадайся как решили...
ну и третий (любимый случай :)) один начитался журнала хакер и давай с сервера все не нужное удалять по его рекомендациям... пришлось посылать цто - шника по запросу "ваша прога не ставится"... ага, а там ничего как оказалось не ставится... не запускается просто ничего сложнее блокнота.

> Придётся тащить дистрибутив для установки.
а dll конечно тащить не надо... причем всегда, в отличие от "на тот невероятный случай если все таки нету".
и к тому же лучше не тащить, а включить в свой установщик (или ты думаешь он только файлы копирует?), который и поставит все без вопросов, если конечно его там вдруг не окажется.

> MS Jet может  быть не той версии. Что делать в этом случае?
а ничего, взаимодействие с интерфейсами не менялось с 5sp (2000г 2000версия включен по умолчанию в 2000ю винду), да и тогда изменения взаимодействия с внешними(для com-а) программами были минимальны (кто помнит ошибка с Bof/Eof при пустом рекордсете была от этого, но только в борланде, если бы константы не хранили в исходниках, а получали от обьекта как VB и этого бы не заметили).

> MS Jet - не полноценная СУБД.
сильный аргумент... просто железобетонный... хотя для нормальных, непредвзятых людей (ктото тут кого то в этом обвинял...) это не аксиома, не аргумент, а мнение которое еще надо доказать.


 
turbouser ©   (2009-03-14 04:39) [105]


> Тын-Дын ©   (14.03.09 03:17) [102]

Врятли... Все уже по полочкам разложено.. Ну не может Медвежонок Пятачок © понять... и свою т.з. объяснить толково не может... его проблемы... :(


 
turbouser ©   (2009-03-14 04:48) [106]


> sniknik ©   (14.03.09 04:38) [104]

ну как же без Access и MSSQL? Да прям в никуда...


 
ZeroDivide ©   (2009-03-14 05:19) [107]


> Ладно, может с утра ещё кто подключится к дискуссии и внесёт
> свежую струю...


Охотно :)


> Я выше описал реальную ситуацию. ООО, две тетки две персоналки
> и студент раз в месяц. Ну еще генеральный, который в тетрис
> умеет играть.
...
> Приходишь, ставишь. Все работает.
> Через неделю там ставят ПО третьей стороны, тоже использующее и
> ставящее сервер FB.


Ситуация понятна. Но виноват ли в ней FireBird?
С точки зрения теток, между прочим, виноват тоже не FireBird, а Вы! :)
И тетки, если серьезно, недалеки от истины...

Разумеется, признаемся честно, виновата третья сторона (а не FireBird, опять же), которая не поняла, что FB уже установлен и что-то на нем крутится. И именно третья сторона должна решать проблему... а иначе морду им набить.

Несовместимость различных версий СУБД это вовсе не аргумент в споре о неприменимости их в решении каких-то задач. Иначе, так же можно рассуждать например и о бескомпромисных всефункциональных монстрах:
У нас стоял 10-ый Oracle, пришла третья сторона все снесла нафиг и поставила 7-ий Oracle на этот сервер.... и теперь не работает... ну бред же это... :)

Я понимаю, что когда речь идет о максимальной автономности работы пользователя с программой (т.е. без ваших выездов, для ее починки), такие вопросы являются важными.

Но в случае с FB, даже не с embeded-версией (там совсем таких проблем нет), все эти вопросы можно решить программно. Можно вынести часть в инсталлятор: определение установлен ли уже FB, какой он версии. Если установлен и нас устраивает, находим куда он установлен и прописываемся ему в aliases.conf. Все чисто, красиво и не трогает других приложений, работающих с этим же сервером. Если стоит IB или FB с более ранним ODS или еще по каким-то причинам нас не устраивающая, инсталлятор предложит ограничиться embeded, порекомендует установить сервер на другой компьютер в сети или отправит к руководству по разнесению серверов по разным портам. Да и руководство к ПО должно быть написано так, что если и возникает потребность в обслуживании/настройке/диагностике, то все моменты должны быть там описаны в понятной для целевой аудитории форме.

Ну и в код, тоже диагностику можно воткнуть, которая при запуске, в случае чего, человеческим языком бы все объяснила.

Все это реально... да и кода-то не особо много... и именно так должен выглядеть продукт, которым можно пользоваться автономно от разработчика.

> Ага. щас мы там административно порешаем все вопросы. и пофик, что я один, а этих ООО сотни и тысячи.

Тысячи ООО и я - один... и разработчик и сопровождение :)

Даже если и тысячи... реальная практика показывает, что нет особых проблем с сопровождением FB. То, что вы лично наткнулись на пару злобных теток или еще был примерно похожий инцидент у вас, вовсе не говорит о том, что это повсеместно так происходит.


 
turbouser ©   (2009-03-14 05:28) [108]


> ZeroDivide ©   (14.03.09 05:19) [107]

Блин! Я же то же самое втирать этим апологетам хаоса пытался...
Да еще и .... блин.. От Еть!


 
turbouser ©   (2009-03-14 05:33) [109]


> ZeroDivide ©

Respect!


 
atruhin ©   (2009-03-14 08:34) [110]

> [99] Медвежонок Пятачок ©   (14.03.09 03:11)
> Да, да, я знаю. В твоем приложении это должно делаться простым
> копированием файла.
> Но юзер взял и сделал бэкап\рестор.

А если юзер взял и БД акцесса hex редактором поправил? Действие то аналогичное.
Какого хрена разработчик должен отвечать за то, что юзер сделал с БД, с помощью
посторонних средств, не имеющих отношения к программе, и не входящих в пакет?

> Нужен новый триггер.
> Ты пока не знаешь, если ли он или его нет.
> Или может он есть, но инвалидный и требует удаления\создания
> или пересоздания.
> твои действия?

У БД есть версия. Есть скрипты обновления переводящие БД к следующей версии,
откуда взялся неучтенный тригер?
Да даже если у тебя в БД бардак, и ты не знаешь, что там есть, объясни чем отличается
определение наличия тригера в любой версии IB, FB, YA
? Только без демагогии, ответь на
конкретный вопрос.
PS/ А то действительно написал массу постов, и ни одного конкретного примера, ни одному
из оппонентов.


 
atruhin ©   (2009-03-14 08:44) [111]

> [45] Медвежонок Пятачок ©   (14.03.09 00:15)
> Когда у авторов фб от версии к версии регулярно руки чешуться
> поменять что-то в системных таблицах.

Приведи хоть одно изменение системных таблиц за все время существования FB?
Затем приведи изменение в сист. таблицах, нарушающее обратную совместимость!
Или это тоже высказывание из разряда "сначала напишу, а затем подумаю".


 
Админ   (2009-03-14 08:55) [112]

Медвежонок Пятачок ©   (12.03.09 12:06) [6]
Акцесс без вариантов


+1


 
Админ   (2009-03-14 09:21) [113]

Читаем ТЗ:

дед Маздай ©   (12.03.09 11:29)  
Какую бы взять СУБД для следующей задачи. Пяток таблиц, сотня записей в каждой каждый месяц (рост весь период эксплуатации), лог (отсюда пожелание, поддержка тригерров), поддержка вьюшек. Ну вот, вроде бы и все. А, вот еще, желательно, даже обязательно - файловая. Без установки в систему. Т.е. набор длл в каталоге программы, который (каталог) можно взять, скопировать и запустить на другой машине.


Берем Аццесс и флаг в руки.

Тригерры на 5 таблиц - смех и только, вьюшки на 5 таблиц это вообще пипец. Сотня записей в месяц - просто убили мозг! (сравните количество записей только на это обсуждение, а ведь мастаки на текстовых файла крутятся... ппц).

И все ваши обсуждения в корзину.


 
Медвежонок Пятачок ©   (2009-03-15 04:04) [114]

Ситуация понятна. Но виноват ли в ней FireBird?

А кто-то говорил, что виноват ФБ?
Я в самом начале ветки наприсал черным по белому:
"к самому фб как таковому претензий нет"

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


 
Медвежонок Пятачок ©   (2009-03-15 04:06) [115]

Приведи хоть одно изменение системных таблиц за все время существования FB?

Давай лучше ты приведи здесь sql код для выяснения существует ли триггер в базе.

Для иб, для фб 1.x , для фб2.x


 
Медвежонок Пятачок ©   (2009-03-15 04:12) [116]

У БД есть версия. Есть скрипты обновления переводящие БД к следующей версии,
откуда взялся неучтенный тригер?
Да даже если у тебя в БД бардак, и ты не знаешь, что там есть, объясни чем отличается
определение наличия тригера в любой версии IB, FB, YA
? Только без демагогии, ответь на
конкретный вопрос.
PS/ А то действительно написал массу постов, и ни одного конкретного примера, ни одному
из оппонентов.


Какой бардак, юноша?
ПО развивается и модифицируется.
В версии x появилась новая таблица.
В версии х+1 появился новый триггер
В версии Х+2 появился еще что-то.

Пользователей много.
Не все качают все обновления подряд.
Может быть случай, когда юзер обновляется с версии х сразу на версию х+10.

У тебя как я понял, за это ему будет пожизненный эцих с гвоздями.

У меня - ничего не будет. Он просто обновится с любой версии на любую более старшую и будет работать как ни в чем ни бывало.

Где здесь увиден бардак?


 
sniknik ©   (2009-03-15 10:23) [117]

> А если юзер взял и БД акцесса hex редактором поправил? Действие то аналогичное.
очень аналогичное... одно дело выполнить рекомендуемую везде процедуру восстановления/бэкапа базы (насколько помню везде советы, при малейших проблемах - сделать бэкап, ресторе), другое прямое вредительство...
если для тебя это одно и тоже, то тебе нужно найти настоящего программиста, и пройти у него курс "лечения", от алогичности, очно.

> с помощью посторонних средств, не имеющих отношения к программе, и не входящих в пакет?
а почему нет? если он пользуется стандартными утилитами, от основного "пакета" - собственно sql сервера.
вот для аксеса можно, хоть аксесом сжать (тоже рекомендованная процедура, правда рекомендуется делать ее пореже), хоть из odbc администратора, чужой программы, своей программы в общем в чем найдет тем пусть и делает (и даже hex редактором если сможет там правильно сжать...).


 
atruhin ©   (2009-03-15 11:51) [118]

> [117] sniknik ©   (15.03.09 10:23)

Ну и пусть делает бэкап/рестор используя клиентскую dll поставляемую с ПО, и все будет нормально работать.
А если он использует внешний сервер более старшей версии, то кто виноват, что БД не будет после этого
работать на более младшей?
Не знаю как у других серверов, но в FB b/r это способ перевода БД на более новую версию, и не вижу в этом
больших недостатков. Ресториш на более новой версии, ну так с ней и работай.
У того же Microsoft MS VS Runtime dll не совместимы даже между разными сервис паками одной версии, не говоря
о разных версиях, и никто не кричит, почему ПО не работает если поменять dll/


 
Anatoly Podgoretsky ©   (2009-03-15 13:05) [119]

> atruhin  (15.03.2009 11:51:58)  [118]

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


 
sniknik ©   (2009-03-15 13:40) [120]

> Ну и пусть делает бэкап/рестор используя клиентскую dll поставляемую с ПО, и все будет нормально работать.
пусть делает, не возражаю... но тогда утилиту для этого нужно тоже таскать с собой в пакете вместе с dll, а это уже не "просто dll-ку вместе с программой кинул и работает", это уже должен быть нормальный сетап со всем необходимым.

> и никто не кричит, почему ПО не работает если поменять dll/
ты опять не видишь разницы? плевать когда что то после обновления внутри себя не совместимо с частями от другой версии, это нормально, главное чтобы клиентское ПО, то что с этим работает не видело разницы в интерфейсах, взаимодействии с этими версиями.

вообще проблема FB, имхо, в том, что позволяют в системные таблицы лезть, и даже поощряют, т.к. судя по всему без этого часто не обойтись...
ввели бы "интерфейсную" часть, типа INFORMATION_SCHEMA в MSSQL которая не менялась бы от версии к версии независимо от того откуда берут исходную инфу, и доке бы прописали "системные таблицы не про вас, пользуйтесь этим" и все было бы нормально.
кстати, не знаю, может это у них уже есть, но тогда значит разработчики сами виноваты, что не соблюдают рекомендаций по использованию FB в своих приложениях.


 
Andy BitOff ©   (2009-03-15 17:44) [121]

> Медвежонок Пятачок ©   (14.03.09 03:00) [90]
> Изначально разговор идёт об однопользовательской СУБД.
>
> Ты это сам придумал, или это явно указано в вопросе автора?


> Тын-Дын ©   (14.03.09 03:04) [92]
> Сам придумал. А что?
> ПО крайней мере, у автора не вызвала отторжения эта мысль.



> дед Маздай ©   (12.03.09 13:03) [19]
>
> > 1. стопудово сингл-плеер будет
>
> Да.
>
> Забыл упомянуть.


 
Городской Шаман   (2009-03-16 03:25) [122]


> Медвежонок Пятачок ©   (12.03.09 12:34) [9]


Если использовать embeded вариант FB, то такой проблемы возникнуть просто не может, сервер виден только внутри того процесса, в котором стартовал.

Ну а серверную часть сейчас все делают через трехзвенку, на том же Remobject(можно любой другой), похоже на COM, но без граблей http://www.remobjects.com/products.aspx

БД открывать голой задницей для всех, чтобы каждый мог туда пихать свои sql запросы, я бы не стал.


 
atruhin ©   (2009-03-16 15:47) [123]

> [120] sniknik ©   (15.03.09 13:40)
> вообще проблема FB, имхо, в том, что позволяют в системные таблицы лезть, и даже поощряют, т.к. судя по всему без этого
> часто не обойтись...

Нет разработчики как раз не только не поощряют, но везде кричат "РУКИ ПРОЧЬ ОТ СИСТЕМНЫХ ТАБЛИЦ".
Просто некоторые нестандартные операции, например изменение типа поля, можно сделать только меняя сист таблицы.
Этим пользуются утилиты (например IBExpert), а глядя на них и другие разработчики.

> ввели бы "интерфейсную" часть, типа INFORMATION_SCHEMA в MSSQL которая не менялась бы от версии к версии независимо
> от того откуда берут исходную инфу, и доке бы прописали "системные таблицы не про вас, пользуйтесь этим" и все было
> бы нормально.

INFORMATION_SCHEMA стоит в планах, как видимо, руки не доходят. Но в принципе сист. таблицы и есть аналог схемы,
только в своем формате. Они полностью совместимы с низу вверх, и если их не менять, то нет ни каких проблемм.

> кстати, не знаю, может это у них уже есть, но тогда значит разработчики сами виноваты, что не соблюдают рекомендаций
> по использованию FB в своих приложениях

А вот про соблюдение рекомедаций - это точно. Почему то на Oracle, MS SQL DBA отдельная должность, и вряд ли у кого
возникает идея: взять базу от Oracle 7, бэкапить/ресторить/изменять структуру на Oracle 10, а потом кричать, что
после этого база не работает на Oracle 7 (типа [9] Медвежонок Пятачок ©   (12.03.09 12:34)).
И ни у кого не возникает вопроса почему MS SQL не открывает базы Oracle? И кто из них кривой!
Но возмущаться почему IB, YA, FB работают по разному > [64] Медвежонок Пятачок ©   (14.03.09 01:57) это нормально,
хотя это три разных сервера, и никто совместимости не обещал (кроме IB6 - FB1)


 
Медвежонок Пятачок ©   (2009-03-16 16:10) [124]

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


 
sniknik ©   (2009-03-16 16:15) [125]

> Нет разработчики как раз не только не поощряют, но везде кричат "РУКИ ПРОЧЬ ОТ СИСТЕМНЫХ ТАБЛИЦ".
в mssql я могу выполнить такой запрос
select @@identity
значение автоинкремента для записи в связанные по нему таблицы

покажи аналог из для генератора, на котором знаю построены автоинкременты в FB.
?
потому как единственное что видел это
select gen_id(a, 1) from rdb$database
или типа того, с вариациями. выделенное это не системная таблица? что по этому поводу говорят разработчики?


 
sniknik ©   (2009-03-16 16:24) [126]

p.s. mssql как видно я ни к какой таблице не обращаюсь... (для аксесс аналагично)

> Просто некоторые нестандартные операции, например изменение типа поля, можно сделать только меняя сист таблицы.
пропустил.
с чего это они нестандартные? у меня к примеру если версия базы (ставлю признак внутри) меньше чем версия программы, то мелкие изменения структуры подгоняются автоматом, срыто от юзера. в том числе и изменения типов полей.
очень просто делаются обновления, хотя и редкие, просто присылается и меняется файл программы (с предупреждением о предварительном бэкапе базы естественно, который никто не делает конечно, но если что - проблема не наша. впрочем их и не было).


 
Коммуноцентрист1   (2009-03-16 16:25) [127]


> sniknik ©   (16.03.09 16:15) [125]
> потому как единственное что видел это
> select gen_id(a, 1) from rdb$database
> или типа того, с вариациями.

тут фишка не в том,что таблица системная, а в том, что там ровно одна запись всегда. В Oracle для подобных целей есть "полусистемная" таблица dual с одной записью. В FB никто не мешает самому сделать табличку с одной записью и использовать ее.


 
sniknik ©   (2009-03-16 16:32) [128]

> а потом кричать, что после этого база не работает на Oracle 7
а у оракле есть версия Embedded? такая чтобы абгрейд сервера с 7 на 10 ее не затронул, и часть программ использовали ее при уже новых базах? а если поставить две версии, то разве там не будет 2-х комплектов утилит?  
в общем там, если программа написана нормально то смена версии сервера вместе с базой ни на что не повлияет.

> типа [9] Медвежонок Пятачок ©   (12.03.09 12:34)
вполне естественно. поддерживаю его.


 
Anatoly Podgoretsky ©   (2009-03-16 16:33) [129]

> atruhin  (16.03.2009 15:47:03)  [123]

> Просто некоторые нестандартные операции, например изменение типа поля, можно сделать только меняя сист таблицы.

Плохо


 
sniknik ©   (2009-03-16 16:36) [130]

> тут фишка не в том,что таблица системная, а в том, что там ровно одна запись всегда.
это я понимаю (также понимаю что завтра там может появиться вторая). не понимаю другого, почему это обязательно. обращение к системным таблицам, при том что
> Нет разработчики как раз не только не поощряют, но везде кричат "РУКИ ПРОЧЬ ОТ СИСТЕМНЫХ ТАБЛИЦ".
как оказывается.
свою сделать можно, но, кто будет присобачивать пятое колесо при уже имеющихся четырех? (т.е. если есть все что нужно)


 
sniknik ©   (2009-03-16 16:40) [131]

в общем неважно. просто вот это все, я и считаю поощрением... пусть и неявным.

вот нельзя что ли сделать возврат переменной в запросе вообще без обращения к таблицам как в mssql? так чтобы подобная конструкция стала попросту не нужна.


 
Коммуноцентрист1   (2009-03-16 16:42) [132]


> sniknik ©   (16.03.09 16:36) [130]
> это я понимаю (также понимаю что завтра там может появиться
> вторая)

вероятность тото,что в rdb$database появится вторая запись равна нулю, пока разработчики в здравом уме и трезвой памяти.

> не понимаю другого, почему это обязательно. обращение к
> системным таблицам, при том что

я в FB не силен, но в том, что где-то написано слово "обязательно",сильно сомневаюсь


 
Коммуноцентрист1   (2009-03-16 16:46) [133]


> sniknik ©   (16.03.09 16:40) [131]
> вот нельзя что ли сделать возврат переменной в запросе вообще
> без обращения к таблицам как в mssql?

краем уха слышал, что в FB2 оно делается через insert ... returning


 
atruhin ©   (2009-03-16 16:55) [134]

> [125] sniknik ©   (16.03.09 16:15)
> потому как единственное что видел это select gen_id(a, 1) from rdb$database
> или типа того, с вариациями. выделенное это не системная таблица?

Толи я не ясно выразился, то ли не поняли, системные таблицы нельзя менять,
читать хоть зачитайся, совместимость снизу вверх полная. Т.е. в FB сист. таблицы
заменяют INFORMATION_SCHEMA в MSSQL.

> [126] sniknik ©   (16.03.09 16:24)
> с чего это они нестандартные? у меня к примеру если версия базы (ставлю признак внутри) меньше чем версия программы,
> то мелкие изменения структуры подгоняются автоматом, срыто от юзера. в том числе и изменения типов полей.

Если стандартные - приведи ссылку на команду из стандарта SQL-92 (по секрету - нет там такого). И не нужно сравнивать с MS SQL
во первых разного уровня и цен продукты, а во вторых у MS SQL своих тараканов хватает.
Если сравнивать тогда соотношение цена/качество :))


 
Anatoly Podgoretsky ©   (2009-03-16 16:59) [135]

> Коммуноцентрист1  (16.03.2009 16:42:12)  [132]

А ты уверен, насчет гарантированой трезвости?


 
atruhin ©   (2009-03-16 17:01) [136]

> [131] sniknik ©   (16.03.09 16:40)
> вот нельзя что ли сделать возврат переменной в запросе вообще
> без обращения к таблицам как в mssql?

Можно причем для любого кол-ва полей
insert (A, B, C)
values (gen_id(GA, 1),gen_id(GB, 1), "gfdfgdfs")
returning A, B into :OUTA, :OUTB

Вообще механизм генераторов гораздо гибче, чем автоинкрементных полей.


 
atruhin ©   (2009-03-16 17:04) [137]

> [135] Anatoly Podgoretsky ©   (16.03.09 16:59)

Ну уж в трезвости, и отношения к стандартам Microsoft, только пьяный может быть уверен.
В FB плюс, что всегда можно внести предложения/критику ключевым разработчикам, и получить
вменяемый ответ/исправления


 
sniknik ©   (2009-03-16 17:04) [138]

> Толи я не ясно выразился, то ли не поняли, системные таблицы нельзя менять,
читать хоть зачитайся, совместимость снизу вверх полная.
да ну? а проверь ка, что будет если там действительно появится вторая запись... этакий подарочек от разработчиков.
сделай тестовую таблицу, не лезь в системную на запись. ;)

> приведи ссылку на команду из стандарта SQL-92 (по секрету - нет там такого).
а мы вообще разве про стандарты? мы же про аксесс. и все что я сказал тут упоминая mssql для аксесс аналогично. можно считать просто оговорился.
я вообще не верю в такую вещь как стандарты, если уж на то пошло. всегда говорил "приводите конкретно сервер"...

> Если сравнивать тогда соотношение цена/качество :))
бесплатно/хорошее vs бесплатно/удовлетворительное


 
sniknik ©   (2009-03-16 17:07) [139]

> insert (A, B, C)
> values (gen_id(GA, 1),gen_id(GB, 1), "gfdfgdfs")
> returning A, B into :OUTA, :OUTB
ну вот это уже другое дело. тогда за
select gen_id(a, 1) from rdb$database
уже можно руки отрывать.


 
atruhin ©   (2009-03-16 17:15) [140]

> [138] sniknik ©   (16.03.09 17:04)
> да ну? а проверь ка, что будет если там действительно появится
> вторая запись...

Ну а с какого перепуга она там появится, если ДОКУМЕНТИРОВАННО что там 1 запись.
Например в Delphi используют ParamStr[0] для получения имени файла, с таким же успехом
можно спросить: А вдруг там не окажется имени, или будет 2 имени.


 
stas ©   (2009-03-16 17:16) [141]

...Как обычно - перечислены все СУБД :)


 
atruhin ©   (2009-03-16 17:19) [142]

> [138] sniknik ©   (16.03.09 17:04)
> бесплатно/хорошее vs бесплатно/удовлетворительное

Если говорить про Access, то тут и сравнивать нечего, как будет работать Access
при 50-100 пользователях, на БД в 10-50 гб?? А для FB это обычная нагрузка.
А реализация бизнесс логики в БД?


 
atruhin ©   (2009-03-16 17:25) [143]

Кстати, вообще, если говорить по данному топику, то я в качестве варианта предложил рассмотреть SQLite,
а не FB Embedded. Тем более что автор просил тригера, которых насколько я понял нет в Access, но есть
в SQLite. Также SQLite поддерживает многопользавательский доступ в отличии от FB Embedded.
ЗЫ. Про FB начал писать в ответ на посты от людей которые не умеют использовать, но критики хоть отбавляй,
без единого конкретного факта.


 
Медвежонок Пятачок ©   (2009-03-16 17:27) [144]

без единого конкретного факта.

Что под фактами подразумевается?
Баги в ФБ?
Так я по-русски написал, что к серверу, как к таковому, претензий нет.


 
stas ©   (2009-03-16 17:28) [145]

MS SQL 2005 Express ему нужен.


 
sniknik ©   (2009-03-16 17:30) [146]

> если ДОКУМЕНТИРОВАННО что там 1 запись.
не волнуйся, документацию к следующей версии где будет 2 записи они тоже поменяют. и все будет правильно.

> как будет работать Access при 50-100 пользователях
а мы опять таки говорим не про такое количество... запросы в основном вопросе куда скромнее - 1 пользователь, и сотня записей в месяц.

> А для FB это обычная нагрузка.
а и плевать. для этой ветки это несущественно.


 
sniknik ©   (2009-03-16 17:32) [147]

> ЗЫ. Про FB начал писать в ответ на посты от людей которые не умеют использовать,
> но критики хоть отбавляй, без единого конкретного факта.
какое совпадение... мой первый пост был в защиту аксесс от "наездов".


 
Коммуноцентрист1   (2009-03-16 17:37) [148]


> sniknik ©   (16.03.09 17:30) [146]
> не волнуйся, документацию к следующей версии где будет 2
> записи они тоже поменяют. и все будет правильно.

с таким же успехом можно опасаться, что select в следующих версиях будет записи не выбирать, а удалять, и это будет описано в документации ;)
т.е., конечно, и так могут сделать, только нафига им здравому смыслу противоречить?


 
Коммуноцентрист1   (2009-03-16 17:40) [149]


> sniknik ©   (16.03.09 17:07) [139]
> > insert (A, B, C)
> > values (gen_id(GA, 1),gen_id(GB, 1), "gfdfgdfs")
> > returning A, B into :OUTA, :OUTB
> ну вот это уже другое дело. тогда за
> select gen_id(a, 1) from rdb$database
> уже можно руки отрывать.

согласен, нужно, но фича только во 2-й версии появилась, в более ранних  все-таки через одно место приходится.
в oracle до подобной конструкции аж только к 8-й версии допетрили


 
Anatoly Podgoretsky ©   (2009-03-16 20:50) [150]

> atruhin  (16.03.2009 17:15:20)  [140]

Аргумент пойдет, так вот результата на Линуксе и на Виндоус могут удивить.


 
Городской Шаман   (2009-03-20 20:17) [151]


> Медвежонок Пятачок ©   (16.03.09 16:10) [124]
>
> вот я и говорю, что в результате на персоналке клиента из
> пожелтевшей пластмассы внутри которой первый четвертый пенек
> еще с ошибкой, может оказаться два фб, один иб и еще и дятел
> впридачу.
> по той, причине, что разработчик решил деплоить свои приложения
> на фб.


При инсталляции выбор:
- локальная версия
- сетевая версия
+ сервер программы

И всё, хотя для установки программы уже будет нужен Одмин типа школьника 10-11 класса увлекающегося компьютерами. И проблем нет.


 
blackman ©   (2009-03-20 21:01) [152]

Одмин типа школьника 10-11 класса увлекающегося компьютерами. И проблем нет.
А если не школьник, то проблемы будут? :)
Для Access вообще не нужно админа. Инсталляции не требуется, если уже поставлен оффис. И простой юзер справляется неплохо. Показать пару кнопок и он справится сам. А можно и ничего не показывать. Программно все можно делать без юзера.


 
Городской Шаман   (2009-03-24 18:20) [153]


> blackman ©   (20.03.09 21:01) [152]
>
> Одмин типа школьника 10-11 класса увлекающегося компьютерами.
>  И проблем нет.
> А если не школьник, то проблемы будут? :)


Если шибка вумный бух, которому показали какой кнопкой включать сервер и который считает себя одмином, вот там проблемы будут.


 
Городской Шаман   (2009-03-24 18:22) [154]


> blackman ©   (20.03.09 21:01) [152]


Видели как Ацесс работает с 10 одновременными подключениями и еще блобами в базе? Нет повести печальнее на свете...



Страницы: 1 2 3 4 вся ветка

Форум: "Прочее";
Текущий архив: 2009.05.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.96 MB
Время: 0.01 c
2-1239017249
Ulugbek
2009-04-06 15:27
2009.05.24
как вставить CheckBox в Dbgrid ?


2-1239363580
dplz
2009-04-10 15:39
2009.05.24
Возможно ли в listbox зделать такое условие?


3-1221456538
checkmate-maker
2008-09-15 09:28
2009.05.24
ODAC. Параметризованные запросы.


10-1157902933
Mike Petrichenko
2006-09-10 19:42
2009.05.24
Определение run-time и Design-time


15-1237101209
MultIfleX
2009-03-15 10:13
2009.05.24
Delphi &amp; Win Mobile





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский