Russian Qt Forum

Qt => Базы данных => Тема начата: Пантер от Сентябрь 16, 2007, 17:33



Название: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 16, 2007, 17:33
Добрый день.
    У меня есть проект, который я поддерживаю уже 3 года. Раньше информация хранилась в текстовых файлах, но после увеличения базы перешел на БД. Выбрал Sqlite как самое простое и доступное. БД обязательно должна быть локальной, т.е на серваке нельзя запускать серверную часть. Работа производится через подключение сетевого диска и обращение как к локальной БД. Всего 15 клиентов. Все бы было ничего но...
    БД содержит около 20 разных таблиц. Нужна возможность их редактирования, но через QTableView не хочется, т.е. не хочется, чтобы данные редактировались в QTableView. Нашел решение так: при нажатии кнопки редактирования выскакивает окошко, содержащее лейблы и эдиты. Но тут как раз и появилась проблема: Sqlite пофиг на данные. Т.е. я не могу проверить какое поле QDateTime, какое QStringList и т.д. В итоге я не могу поставить QDateTimeEdit когда он требуется. Разрабатывать окно для каждой тадлицы не решение.
   Посмотрев на это решил перейти на другую БД. Попробовал установить Firebird, но не смог. Искал по форуму помощь, нашел, но не помогло.
   Вот теперь вопросы:
1. Как можно обойти проблему?
2. Какую БД мне лучше использовать и как ее привязать к куте.
Заранее благодарю всех откликнувшихся.


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Tonal от Сентябрь 16, 2007, 18:13
Если работа через сетевой диск, то Embedded Firebird не подойдёт - он работает только с базой расположенной на локальном физическом диске (можно ещё на NFS, но это на винде не доступно)
Т.е. остаётся или SQLite, или через ODBC к *.mdb (базе MS Access)

Есть ещё Embedded MySql, но про него ничего не скажу - не знаю.


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 16, 2007, 18:37
Дык сетевой и локальный диск практически одно и то же. Вот только как у Firebird с доступом сразу нескольким пользователям?


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 16, 2007, 19:27
Дык сетевой и локальный диск практически одно и то же. Вот только как у Firebird с доступом сразу нескольким пользователям?
Сетевой != локальный ;( И они правы - слишком много граблей на этом пути .... А что мешает запустить птица как сервис и лазить через сеть ?  Просто как-то странно приложение сетевое - но сервер низя .... Какая разнича лезть через шару или собственный протокол сервера ?
За птицу скажу - забрался на нее 4 года назад (Еще на дятла) с тех пор и летаем ;) Грабли есть(где без них) , но разработчики наши и оччень внятные ;) Всегда раскажут почему сам дурак ;) Если что надо -спрашивай чем могу-помогу....


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 16, 2007, 19:48
Я не являюсь админом. Админ у нас козел - занимает место только благодаря соц. положению и связям, и не дает мне работать. Вот и приходится выпендриваться. На серве я максимум могу во множестве подпапок спрятать файл БД. :(
Можешь рассказать как прикрутить птицу к куте 4.3.1 с MinGW? Если не трудно, то подробно, думаю не я один буду благодарен. Я скачал с оффсайта Firebird-2.0.1.12855-1-Win32 - оно или нет? И еще - как с многопользовательским доступом если нет сервака?


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: AlekSi от Сентябрь 16, 2007, 23:36
Цитировать
Работа производится через подключение сетевого диска и обращение как к локальной БД.
Если я правильно понимаю, то БД жива только благодаря тому, что SQLite поддерживает конкурентные транзакции самым простым способом - эксклюзивной блокировкой файла. Далеко не уверен, что такой фокус пройдёт с другими СУБД.
Я бы вставил одмину...


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: ритт от Сентябрь 17, 2007, 00:09
> Можешь рассказать как прикрутить птицу к куте 4.3.1 с MinGW? Если не трудно, то подробно, думаю не я один буду благодарен.

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


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Tonal от Сентябрь 17, 2007, 05:54
Дык сетевой и локальный диск практически одно и то же. Вот только как у Firebird с доступом сразу нескольким пользователям?
Ещё раз и медленно
1) Птиц не работает с базами на сетевых дисках.
2) Встроенный птиц не позволяет работать с одним файлом базы разным программам одновременно (т.к. открывает файл в ексклюзивном режиме)

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

А прикрутить совсем просто - собираешь плагин и вперёд. ;-)


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 17, 2007, 07:39
Я не являюсь админом. Админ у нас козел - занимает место только благодаря соц. положению и связям, и не дает мне работать. Вот и приходится выпендриваться. На серве я максимум могу во множестве подпапок спрятать файл БД. :(
Можешь рассказать как прикрутить птицу к куте 4.3.1 с MinGW? Если не трудно, то подробно, думаю не я один буду благодарен. Я скачал с оффсайта Firebird-2.0.1.12855-1-Win32 - оно или нет? И еще - как с многопользовательским доступом если нет сервака?

Ставишь птица как сервис на любой машине и назначаешь _сам_ его как сервер бд ( для себя любимого)
Желательно не пихать его в каталог с пробелами i.e. "Program Files" так как configure можт не сожрать путь к либам и инклюдам .... После установки в принципе ессть два варианта 1) перетащить из птица include и lib куда-нибудь поближе к Qt или 2) скормить configure полный путь до птица ...
Далее как уже сказано собираешь плагин или драйвер (че больше нравиться)
PS еще очччень рекомендую в сторону ibExpert'а посмотреть - это тулза для работы с БД - просто наглядно и удобно ( для жителей xUSSR - халява)
ЗЗЫ ЕСли чего не получаеться - спрашивай ...


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Deiv от Сентябрь 17, 2007, 15:39
Можно и "скюлайтом" реализовать.

Создай таблицу что то типа:
create table sys_tablefields
(
   id INTEGER PRIMARY KEY, -- не знаю зачем, у мя во всех таблицах присутствует
                                      -- без такого поля любые таблицы кажутся неполнноценными  ;D
   tablename TEXT,            -- имя таблицы
   tablefield_id INTEGER,      -- номер поля в таблице
   tablefield_name TEXT,     -- имя поля в таблице
   tablefield_type INTEGER или TEXT -- здесь хранишь, что за тип у этого поля
);
Можно конечно полноценный репозиторий описания базы сваять, но тебе на... это не нужно (кажется)
(sys_tables, sys_types, sys_fields и т.п.)

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

Для использования репозитория можно написать отдельную функцию, типа get_fieldtype_by_fieldname_and_tablename("имя таблицы", "имя поля");.
Усе. Правда использовать это просто на запросах типа "select * from table".
А вот для запросов  "select * from table, table_2 where table.id = table_2.table" все значительно усложняется. А на более сложных становиться вообще весело.
Потому пристрели одмина и работай с сервачком каким-нибудь  8).


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 17, 2007, 18:57
Я бы вставил одмину...
Эх, как давно этого желаю. Данная проблема не первая палка в колеса прогресса на моей работе. :(
Ещё раз и медленно
1) Птиц не работает с базами на сетевых дисках.
2) Встроенный птиц не позволяет работать с одним файлом базы разным программам одновременно (т.к. открывает файл в ексклюзивном режиме)
Соответственно для многопользовательской работы в сети тебе нужен запущенный сервер.
А прикрутить совсем просто - собираешь плагин и вперёд. ;-)
:( А я то надеялся. Может еще какая-либо БД умеет работать как sqlite? Прикрутить как раз таки не так легко. 2 дня пытался собрать плагин, да так и не собрал. Одна из проблем - либы в птице не подходят для mingw. К сожалению в птице необходимость отпала.
Ставишь птица как сервис на любой машине и назначаешь _сам_ его как сервер бд ( для себя любимого)
И что будет? Мне нужно чтобы база была одна на серве, а не 15 на каждом клиенте.
Цитировать
PS еще очччень рекомендую в сторону ibExpert'а посмотреть - это тулза для работы с БД - просто наглядно и удобно ( для жителей xUSSR - халява)
А можешь кратко описать что она из себя представляет, как подключается к куте. А данную проблему она решает?
Можно и "скюлайтом" реализовать.
.....
Потому пристрели одмина и работай с сервачком каким-нибудь  8).
Очень интересное решение. Если ничего не поможет, обращусь к нему.


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 17, 2007, 20:35
:( А я то надеялся. Может еще какая-либо БД умеет работать как sqlite? Прикрутить как раз таки не так легко. 2 дня пытался собрать плагин, да так и не собрал. Одна из проблем - либы в птице не подходят для mingw. К сожалению в птице необходимость отпала.
Ставишь птица как сервис на любой машине и назначаешь _сам_ его как сервер бд ( для себя любимого)
И что будет? Мне нужно чтобы база была одна на серве, а не 15 на каждом клиенте.
Таки она одна и будет
Цитировать
PS еще очччень рекомендую в сторону ibExpert'а посмотреть - это тулза для работы с БД - просто наглядно и удобно ( для жителей xUSSR - халява)
А можешь кратко описать что она из себя представляет, как подключается к куте. А данную проблему она решает?
Нормальное управление БД . К QT не имеет никакого отношения , но проектировать\администрить БД с помощью этого зверя - одно удовольствие...
Поповоду либ для mingw ты не прав - они делаються на раз ;) Вообще IMHO для приложений уровня организации лидера 2 FireBird(НЕ InterBase !!!) и postgress .Но птиц мобильнее... Из минусов - базовая поддержка в QT - (одна транзакция на базу,фиг малой кровью подцепишь insert ..... returning etc) Но для старта - пойдет ;)
Опять-таки IMHO c  базами на шарах связываться опастно - при некорректной работе сети можно поймать массу "приятных" моментов ....


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Tonal от Сентябрь 18, 2007, 05:44
Соответственно для многопользовательской работы в сети тебе нужен запущенный сервер.
А прикрутить совсем просто - собираешь плагин и вперёд. ;-)
Прикрутить как раз таки не так легко. 2 дня пытался собрать плагин, да так и не собрал. Одна из проблем - либы в птице не подходят для mingw.
Всё довольно просто:
1) Ставишь себе птица полнстью (лучше SuperServer 2.0.1)
2) В директории $(QT4)\src\plugins\sqldrivers\ibase\ заменяешь файл ibase.pro на вот это:
Код:
TARGET	 = qsqlibase

HEADERS = ../../../sql/drivers/ibase/qsql_ibase.h
SOURCES = main.cpp \
  ../../../sql/drivers/ibase/qsql_ibase.cpp

unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS    *= -lgds

win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {
INCLUDEPATH += C:\Lang\Firebird\Firebird_2_0\include
LIBS += -LC:/Lang/Firebird/Firebird_2_0/lib
!win32-borland:LIBS *= -lfbclient_ms
win32-borland:LIBS  += fbclient_bor.lib
}

include(../qsqldriverbase.pri)
3) Меняешь пути в строках с INCLUDEPATH и LIBS на свои
4) Собираешь плагин и радуешься. ;-)

По поводу сервера и базы - ты можешь поставить сервер firebird-а на любую машину в сети.
Главное выбери такую чтоб сама машина была поживче, а её загрузка - поменьше.
Остальные будут обращаться к ней за данными.
А когда твоя система станет большой и необходимой всей конторе, у тебя появятся реальные доводы в споре с админом. ;-)


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 18, 2007, 11:37
Млин, не очень удобно серваком делать левую машину - а если человек в отпуске??? Придется на отпуска переназначать серваки. :( Попробую по вашему способу собрать плагин, если не получится - вечером все выскажу. :)


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Tonal от Сентябрь 18, 2007, 13:58
Интересная либа. Жалко что её не поддерживают уже очень давно.
По моему, можно использовать только для однопользовательских приложений - т.к. блокировок не разумеет.
Ну и SQL тоже. ;-)

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


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 18, 2007, 16:53
Соответственно для многопользовательской работы в сети тебе нужен запущенный сервер.
А прикрутить совсем просто - собираешь плагин и вперёд. ;-)
Прикрутить как раз таки не так легко. 2 дня пытался собрать плагин, да так и не собрал. Одна из проблем - либы в птице не подходят для mingw.
Всё довольно просто:
1) Ставишь себе птица полнстью (лучше SuperServer 2.0.1)
2) В директории $(QT4)\src\plugins\sqldrivers\ibase\ заменяешь файл ibase.pro на вот это:
Код:
TARGET	 = qsqlibase

HEADERS = ../../../sql/drivers/ibase/qsql_ibase.h
SOURCES = main.cpp \
  ../../../sql/drivers/ibase/qsql_ibase.cpp

unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS    *= -lgds

win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {
INCLUDEPATH += C:\Lang\Firebird\Firebird_2_0\include
LIBS += -LC:/Lang/Firebird/Firebird_2_0/lib
!win32-borland:LIBS *= -lfbclient_ms
win32-borland:LIBS  += fbclient_bor.lib
}

include(../qsqldriverbase.pri)
3) Меняешь пути в строках с INCLUDEPATH и LIBS на свои
4) Собираешь плагин и радуешься. ;-)

По поводу сервера и базы - ты можешь поставить сервер firebird-а на любую машину в сети.
Главное выбери такую чтоб сама машина была поживче, а её загрузка - поменьше.
Остальные будут обращаться к ней за данными.
А когда твоя система станет большой и необходимой всей конторе, у тебя появятся реальные доводы в споре с админом. ;-)
Попробовал собрать, но не получилось. Мне нужен статический плагин, поэтому конфигурю кутю с -qt-sql-ibase. Изменил ibase.pro как описано, но при сборке выпало с ошибкой. Подправил файлик src/sql/drivers/drivers.pri, т.е. прописал
INCLUDEPATH += C:\Lang\Firebird\Firebird_2_0\include
LIBS += -LC:/Lang/Firebird/Firebird_2_0/lib
!win32-borland:LIBS *= -lfbclient_ms
win32-borland:LIBS  += fbclient_bor.lib
Все собралось без проблем, но!!! Софтины, которые используют QtSql4.dll перестали запускаться. Т.е. что-то пошло не так и либа сформировалась неверно. Что делать???
Qt 4.3.1
Mastdie XP Pro


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 18, 2007, 19:08
http://linux.techass.com/projects/xdb/
Эта , никогда не приходилось работать с (не sql) 1с на сетевом диске ? Sqlite и то лучше .... А если как сказано много клиентов - сделать сначала времмено сервер БД на клиентской машине, а потом аднину по рогам настучать чтоб на сервер перенес  и бэкап настроил ;)


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 18, 2007, 20:06
http://linux.techass.com/projects/xdb/
Эта , никогда не приходилось работать с (не sql) 1с на сетевом диске ? Sqlite и то лучше .... А если как сказано много клиентов - сделать сначала времмено сервер БД на клиентской машине, а потом аднину по рогам настучать чтоб на сервер перенес  и бэкап настроил ;)
Твои бы слова...


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Tonal от Сентябрь 18, 2007, 20:20
...Мне нужен статический плагин, поэтому конфигурю кутю с -qt-sql-ibase....
Все собралось без проблем, но!!! Софтины, которые используют QtSql4.dll перестали запускаться. Т.е. что-то пошло не так и либа сформировалась неверно. Что делать???
Для работы с Firebird нужна её клиентская dll-ка - fbclient.dll.
Если ты собрал статически, значит все проги использующие QtSql4.dll теперь требуют и fbclient.dll

Собирай драйвера баз плагинами - меньше головников. ;-)


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 18, 2007, 22:22
http://linux.techass.com/projects/xdb/
Эта , никогда не приходилось работать с (не sql) 1с на сетевом диске ? Sqlite и то лучше .... А если как сказано много клиентов - сделать сначала времмено сервер БД на клиентской машине, а потом аднину по рогам настучать чтоб на сервер перенес  и бэкап настроил ;)
Твои бы слова...
После сдачи проекта в конце сентября могу помочь(настучать) благо настроение _уже_ соответствующее  :'( :'(...  Я просто намучился с базами данных на шарах, и _настоятельно_ не советую заниматься мазохизмом. Они(шары) оправданы(да и то с оговорками) для пары-тройки клиентов.. В общем IMHO я сказал - ставь птица и цепляйся через сеть к нему ....

ЗЫ Учти что он(птиц) версионник....
ЗЗЫ  И не связывайся с со смесью протоколов ....


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 19, 2007, 11:38
У нас на работе основная СУБД написана на фоксе и работает через шару. :) Глючит страшно, но ничего не поделаешь.
Что значит версионник?
Tonal, спасибо, походу дело в этом. Завтра проверю.


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 19, 2007, 15:07
Что значит версионник?
Грубо говоря - при изменении записи update создаеться новая версия записи, а старая помечаеться как мусор ;) В смысле (опять-таки грубо) не блокируеться чтение из таблицы другими клиентами ...


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 19, 2007, 15:21
А зачем такой перерасход??? И как часто в таком случае ее паковать нужно???


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 19, 2007, 20:12
Для скорости однако ;) А пакуеться оно - во время бекапа..... И собственно перерасхода нет - оно повторно используеться ;)


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Deiv от Сентябрь 19, 2007, 21:48
Что значит версионник?
Грубо говоря - при изменении записи update создаеться новая версия записи, а старая помечаеться как мусор ;) В смысле (опять-таки грубо) не блокируеться чтение из таблицы другими клиентами ...

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


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 20, 2007, 09:42
Что значит версионник?
Грубо говоря - при изменении записи update создаеться новая версия записи, а старая помечаеться как мусор ;) В смысле (опять-таки грубо) не блокируеться чтение из таблицы другими клиентами ...

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

Отож ;) ТОлько на уровне транзакций ;) Опять-таки в кратце при тупых установках параметров транзакций получиться следующее - кто влез первый обновит \ удалит объект , а второй получит по ушам от сервера - дабы нефиг ;)


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Tonal от Сентябрь 20, 2007, 11:05
Грубо версионник устроен так:
Каждая запись это список версий.
Версия привязана к транзакции её создавшей.
Когда транзакция читает данные - она берёт самую старшую видимую версию.
Когда меняет - создаёт новую версию.
Если на момент изменения есть другая версия от незавершённой транзакции случается облом.

Т.е. блокировки есть, но они не на всё время транзакции - очень короткие, только на время работы со списком версий.

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

В реальности всё несколько сложнее.
см http://www.ibase.ru/devinfo/mga.htm


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 20, 2007, 11:33
Ура!!! Заработало!!!
Придумал как кинуть базу на сервак - есть возможность запуска птицы как службы, а админ не настолько умный чтобы увидеть лишнюю службу.  ;D Только нужно установить ее куда поглубже.
А теперь, уважаемые господа, помогите разобраться во всем этом. :)
В общем поставил я на своей машине суперсервер и в течении 2 часов поковырял енту БД.
1. Соединяется только если указываешь логин и пароль.:( Если вшить в софтину login=SYSDBA и password=masterkey это не отразится на многопользовательской работе? Или нужно создать аккаунты?
2. Как сделать автоувеличение поля? У меня 20 таблиц с полем id INTEGER и мне нужно, чтобы они автоматом увеличивались.
3. Как сказать базе, что она работает в utf8 и нужно ли это?
4. Как указывать правильно хост? Сейчас стоит localhost, а как связаться с машиной \\server\ с айпихой 192.168.0.3?
5. Как работать с базой (т.е. как указывать имя) если она лежит на серваке на диске e:\arm\base.fdb?
6. Есть ли булевы значения?
7. Чем отличается CHAR от VARCHAR?


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 20, 2007, 11:42
Для начала http://www.ibase.ru/develop.htm (http://www.ibase.ru/develop.htm) Там много вкусного дают ;)
Ура!!! Заработало!!!
Придумал как кинуть базу на сервак - есть возможность запуска птицы как службы, а админ не настолько умный чтобы увидеть лишнюю службу.  ;D Только нужно установить ее куда поглубже.
А теперь, уважаемые господа, помогите разобраться во всем этом. :)
В общем поставил я на своей машине суперсервер и в течении 2 часов поковырял енту БД.
1. Соединяется только если указываешь логин и пароль.:( Если вшить в софтину login=SYSDBA и password=masterkey это не отразится на многопользовательской работе? Или нужно создать аккаунты?
Да надо - по умолчанию sysdba может все - нафига юзверям давать возможности адина ?
2. Как сделать автоувеличение поля? У меня 20 таблиц с полем id INTEGER и мне нужно, чтобы они автоматом увеличивались.
заюзать ганераторы ;) НЕ делать id= select max(id) +1 !!!!!
3. Как сказать базе, что она работает в utf8 и нужно ли это?
По желанию .. при создании базы выбираеться кодировка и размер страницы бд
4. Как указывать правильно хост? Сейчас стоит localhost, а как связаться с машиной \\server\ с айпихой 192.168.0.3?
таки так и сказать ;)  db.setHostName("192.168.0.3");
5. Как работать с базой (т.е. как указывать имя) если она лежит на серваке на диске e:\arm\base.fdb?
посмотреть в сторону алиасов - нефиг полные имена светить (aliases.conf )
6. Есть ли булевы значения?
7. Чем отличается CHAR от VARCHAR?
6 - нет - легко заменяються на smallint
7- char всегда дополняються пробелами до своей длинны
 char(10) = 'aa        '  varchar(10) ='aa'
но varchar требует еще два байта под счетчик...


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 20, 2007, 11:50
Нужно создавать отдельный генератор для каждого поля?


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 20, 2007, 12:05
Нужно создавать отдельный генератор для каждого поля?
А это как тебе больше нравиться ....
ЗЫ я тебе про этого зверя говорил http://www.ibexpert.com/ (http://www.ibexpert.com/)


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 20, 2007, 14:17
А можешь ещё подсоветовать софтину для открытия и редактирования БД птицы?


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 20, 2007, 14:58
А можешь ещё подсоветовать софтину для открытия и редактирования БД птицы?
;) ;D :D ;D :D ;D :D
http://www.ibexpert.com/ (http://www.ibexpert.com/)


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 20, 2007, 15:05
Ничего не нашел. :(
Ну и ладно, скачаю плагин к ODBC и буду пользоваться плагином к Тоталу.


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 20, 2007, 18:07
http://www.ibexpert.com/download/setup_trial.exe (http://www.ibexpert.com/download/setup_trial.exe) Мя ?


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 20, 2007, 18:11
Огого!!! Не мой размерчик. :) Да еще и триал. :( Может в следующем месяце скачаю и поюзаю.


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 20, 2007, 18:25
Огого!!! Не мой размерчик. :) Да еще и триал. :( Может в следующем месяце скачаю и поюзаю.

Цитировать
IB Expert - The Most Expert for InterBase, Firebird and Yaffil
Copyright (C) 2000-2007 HK-Software
All rights reserved.

Раз Вы читаете этот текст, значит на Вашем компьютере установлена
кодовая страница WIN1251. А это в свою очередь означает, что Вы вправе
использовать этот продукт совершенно бесплатно.

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

Успехов Вам в работе!
http://www.ibexpert.com/rus/ibe_sfx.exe (http://www.ibexpert.com/rus/ibe_sfx.exe) Это типа апгрейд этого зверя,но работает и сам посебе ;) ~5mb


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Пантер от Сентябрь 20, 2007, 18:45
Завтра поюзаю, под вайном не захотел работать.


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 20, 2007, 20:29
Завтра поюзаю, под вайном не захотел работать.
Ну Вы блин даете ;) (c) Не уверен , что это вообще возможно по идеологическим причинам .... Но всякое бывает ;)


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Tonal от Сентябрь 21, 2007, 06:52
Под вайном - работает. Сам не пускал, но несколько раз натыкался на обсуждения с разработчиком и инструкцию.


Название: Re: Написание СУБД или какую БД выбрать
Отправлено: Вячеслав от Сентябрь 21, 2007, 09:30
Хм. "Сколько не учись- все-равно дураком помрешь"... пошнл искать - может пригодиться ....