Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.10.19;
Скачать: CL | DM;

Вниз

Firebird Embedded vs SQLite   Найти похожие ветки 

 
pasha_golub ©   (2008-07-29 16:55) [40]


> tesseract ©   (29.07.08 16:10) [36]

Простите меня, любезнейший. Но котлеты от Sarcophagidae предпочитаю иметь отдельно. В программировании как в армии - все должно быть подстрижено и покрашено в белый цвет. А именно. Иметь тип.


 
pasha_golub ©   (2008-07-29 16:58) [41]


> tesseract ©   (29.07.08 16:10) [36]


> Да рабаотает там всё. field.ASЧегоВамТам отлично справляеться.

Кстати. Оно, конечно, справляется. Но для быстродействия врядли кто-то будет воротить чачу с наследниками TDataset. Обычно стучаться напрямую через ихнюю АПИ. А вот там таки StrToIntDef.

А даже если через наследника TDataset. Все поля будут TStringField. И зачем, простите?


 
tesseract ©   (2008-07-29 16:59) [42]


> что ты их решать замучаешься


Мне это прекрасно известно, в Cygwin она вроде-как реализована.


 
tesseract ©   (2008-07-29 17:04) [43]


> Все поля будут TStringField. И зачем, простите?


Они при обработке результата запроса превращаються в нормальные значения. Не поддерживаються из актуальных Numeuric и Currency.


 
pasha_golub ©   (2008-07-29 17:07) [44]


> tesseract ©   (29.07.08 17:04) [43]

Я не против. Но вот как же это? Я значить имею колонку Age, а там у меня "больно стара бабулька".

Это зачем же? А сервер (СУБД), я так думаю, должон это дело не пущать.


 
tesseract ©   (2008-07-29 17:14) [45]


> Я значить имею колонку Age, а там у меня "больно стара бабулька".
>  


Date, time, timestamp, DateTime - поддерживаються.


 
ketmar ©   (2008-07-29 19:30) [46]

>[29] tesseract © (2008-07-29 14:57:00)
>Читать и писать одновременно

про это я прямо сказал.

>[32] Anatoly Podgoretsky © (2008-07-29 15:00:00)
>По всем пунктам, ты похвалил так, как будто помоями облил, правда по делу.

дык , довольно плотно с этим работал. знаешь, вроде и ругать не за что (да и некого, знал, что выбирал) — но впечатление осталось. кто меня за руку дёрнул в той задаче SQLite использовать — сам не понимаю

>[35] pasha_golub © (2008-07-29 15:44:00)
>Но мне не улыбается страдать уличной магией типа StrToIntDef каждый раз когда я
>беру значение из набора данных.

магию там написали за тебя, не боись.

>[37] Пробежал... (2008-07-29 16:36:00)
>Не проще ли синхронизировать какой-нибудь поток в процессе?

не проще. проще форкнуться. это никсы, тут fork() несколько, мягко говоря, не то же самое, что и CreateProcess(). и накладные расходы совсем другие. и традиции.

>[38] tesseract © (2008-07-29 16:50:00)
>Хотелось бы такую в винду :-)

Неббет делал, после того, как она показал этот код, я перехотел.

>[42] tesseract © (2008-07-29 16:59:00)
>в Cygwin она вроде-как реализована.

очень через загадоное место, правда.

---
All Your Base Are Belong to Us


 
ketmar ©   (2008-07-29 19:31) [47]

>[46] ketmar © (2008-07-29 19:30:00)
зыж конечно, Гарри — он, а не она. %-)

---
Understanding is not required. Only obedience.


 
ketmar ©   (2008-07-29 19:31) [48]

>[47] ketmar © (2008-07-29 19:31:00)
и, кажется, он даже не Гарри. %-)

---
Do what thou wilt shall be the whole of the Law.


 
Пробежал...   (2008-07-30 13:14) [49]

Всем спасибо за ответы!

Еще возник вопрос - как поступает SQLite, если commit не сделан, а при этом база закрывается, то есть sqlite3_finalize


 
tesseract ©   (2008-07-30 13:50) [50]


> если commit не сделан, а при этом база закрывается, то есть
> sqlite3_finalize


Как и все другие базы.


> вроде и ругать не за что (да и некого, знал, что выбирал)


Только себя там ругать приходиться, очень уж простая база и хорошая документация. Работа с SQL одно удовольствие " как скажешь так и будет".


> Всем спасибо за ответы!


Можно начинать флудеть ?


 
Игорь Шевченко ©   (2008-07-30 14:27) [51]


> и, кажется, он даже не Гарри. %-)


И не Неббет вовсе :)
Гэри он, если что


 
Anatoly Podgoretsky ©   (2008-07-30 14:51) [52]

> Игорь Шевченко  (30.07.2008 14:27:51)  [51]

Человек и пароход.


 
Пробежал...   (2008-07-30 14:55) [53]


> Как и все другие базы.

то есть, делает откат?


 
Пробежал...   (2008-07-30 15:02) [54]

и еще интересно.

Есть функция sqlite3_errmsg, которая по ссылке на запрос возвращает сообщение ошибки.

Есть функция sqlite3_errcode, которая возвращает код ошибки.

А есть функция, которая по коду ошибки вернет текст? У меня в заголовочных файлов нету такой функции... Есть только самописная, в которой case по коду ошибки и самописный текст.


 
tesseract ©   (2008-07-30 15:17) [55]


> А есть функция, которая по коду ошибки вернет текст?


Вопрос а зачем ? Для локализации хватает и case + самописный текст.


 
Пробежал...   (2008-07-30 16:06) [56]

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

Функция очень логичная все-таки. Или нет?


 
tesseract ©   (2008-07-30 16:34) [57]


> затем, что DLL я использую последней версии,


Статически прилинкуй - так проще и надёжнее.


 
Пробежал...   (2008-07-30 16:50) [58]

вот ты отжог ;)


 
tesseract ©   (2008-07-30 18:00) [59]


> вот ты отжог ;)


Ну я же линкую :-)


 
Украинец   (2008-07-30 18:14) [60]


>
> Пробежал...   (29.07.08 11:48)
>
> Никто не видел сравнения этих двух БД? Плюсы, минусы - отличие?
>
>
> Нужна в принципе не очень сложная поддержка ansi sql.


FB EMB - не хочет работать с базами если она расположена на сетевом диске(можно отключить проверку и перекомпилировать исходники). В остальном FB EMB, особенно после версии 2.1 - это мини Оракл.

Ну а если платформа только Win32/64 то уж лучше Access вместо Sqllite.


 
tesseract ©   (2008-07-30 20:34) [61]


> Ну а если платформа только Win32/64 то уж лучше Access вместо
> Sqllite.


"обновите это", "у вас не совсем нужные драйверы", " где мой суженый .NET" ? нафига всё это ? В придачу кучу ODBC-шных приколов, например не выполнение больше одного SELECT / INSERT ?


 
Loginov Dmitry ©   (2008-07-30 21:54) [62]

> FB EMB - не хочет работать с базами если она расположена
> на сетевом диске


Да помоему никакой FB не хочет этого, а зачем?


 
tesseract ©   (2008-07-30 22:01) [63]


> Да помоему никакой FB не хочет этого, а зачем?


Работает FB проверял на сетевом. Только сетm нужна не коцаное виндовое SMB.


 
Пробежал...   (2008-07-31 10:07) [64]


> Ну я же линкую :-)

это ты молодец ;)

Можно подумать в моем заголовочном файле для библиотеки sqlite3.dll линкова не статическая ;))))
Только как это относится к сути вопроса о том, какие коды ошибок могут возвращать функции SQLite? ;)))


 
tesseract ©   (2008-07-31 10:34) [65]


> какие коды ошибок могут возвращать функции SQLite? ;)))


Это относиться к тому, что незачем обновлять sqlite.

"не трожь работающий сервер"- первая заповедь админа.


 
Пробежал...   (2008-07-31 14:19) [66]

еще раз - где гарантия, что в заголовках для delphi перечислены ВСЕ коды ошибок в SQLite?!
У меня конкретное подозрение, что ты не понимаешь о чем я говорю. причем здесь линковка вообще?!?!

Есть функция в SQLite, которая возвращает код ошибки!!! И как мне этот код перевести в строчку?! Я ж даже не знаю все возможных кодов.

Это блин как GetLastError, ты же понимаешь сколько всего кодов! Поэтому существует то, что делает SysErrorMessage...


 
tesseract ©   (2008-07-31 14:36) [67]


> Это блин как GetLastError, ты же понимаешь сколько всего
> кодов!


FormatMessage :-)


> И как мне этот код перевести в строчку?! Я ж даже не знаю
> все возможных кодов.


http://www.sqlite.org/c3ref/c_abort.html

или sqlite3_errmsg  используй  - но там только для английского языка.


 
Пробежал...   (2008-07-31 16:07) [68]


> FormatMessage :-)

не понимаю, что тебя так веселит. Я говорю, что вот в винде так сделано, есть GetLastError, а есть функция в которой из кода можно сделать текст ошибки, и я хочу такое в SQLite. А ты мне пишешь FormatMessage - спасибо, что сказал!


> http://www.sqlite.org/c3ref/c_abort.html

ну да. И тут же ссылочка на "Extended Result Codes"... С таким же успехом в case можно перечислять все ошибки GetLastError, подход сам по себе неверный. DLL должна уметь по коду ошибки возвращать текст.


> или sqlite3_errmsg  используй  - но там только для английского
> языка.

там нельзя получить текст ошибки по коду.


 
tesseract ©   (2008-07-31 16:09) [69]


> там нельзя получить текст ошибки по коду.


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


 
Пробегал2....   (2008-07-31 21:59) [70]

tesseract ©   (31.07.08 16:09) [69]
Нужен текст сообщения - вызови функцию


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


 
tesseract ©   (2008-07-31 22:39) [71]


> И логично, чтобы в любое время по коду ошибки я мог получить
> текст. Так логичнее ;)


Возможно, но там ошибок-то 15 штук. В общем ерундой маетесь.


 
Asteroid ©   (2008-07-31 23:22) [72]

Из неприятных особенностей SQLite могу заметить только то, что файл БД не умеет расти большими блоками, так что он склонен к фрагментации и существенному снижению быстродействия. Может быть что-то в 3.х изменилось, но в доках не видел.
Впрочем, не знаю, как дела с этим у FBE :)


 
tesseract ©   (2008-07-31 23:27) [73]


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


Размер странички там не выставишь, sqlite для такого просто не предназначена. Кошмар с блоками начинаеться, если записи удалёються беспорядочно, или неправильно рассчитаны по размеру  - ну это беда всех баз, PostgresQl - там это проблема вообще решению слабо поддаёться. Vacuum - он нереален на работающей базе.


 
Anatoly Podgoretsky ©   (2008-08-01 09:52) [74]

> Пробегал2....  (31.07.2008 21:59:10)  [70]

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

Вот права и соблюдены.


 
Пробежал...   (2008-08-01 10:18) [75]


> Vacuum - он нереален на работающей базе.

почему? Там даже опция у БД можно выставить - autovacuum.


 
Asteroid ©   (2008-08-01 21:28) [76]

[73]

> Размер странички там не выставишь, sqlite для такого просто
> не предназначена.


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


 
tesseract ©   (2008-08-01 23:08) [77]

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


 
Loginov Dmitry ©   (2008-08-02 13:04) [78]

> Впрочем, не знаю, как дела с этим у FBE


В FB нужно при создании базы указывать размер страницы. Максимальное и рекомендуемое значение - 16Кбайт. FB или FBE - без разницы. Размер страницы - характеристика базы, а не сервера.


 
Asteroid ©   (2008-08-03 01:09) [79]

> tesseract ©   (01.08.08 23:08) [77]
> Vacuum и есть дефрагментация.

Сдается, мы немного о разных [де]фрагментациях говорим :)


 
Johnmen ©   (2008-08-03 01:20) [80]

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



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

Текущий архив: 2008.10.19;
Скачать: CL | DM;

Наверх




Память: 0.64 MB
Время: 0.021 c
15-1220028990
DevilDevil
2008-08-29 20:56
2008.10.19
Соотношение сторон монитора. Потестируйте, пожалуйста.


1-1200679747
ilkz
2008-01-18 21:09
2008.10.19
Приложение и DLL


1-1200878862
IGray
2008-01-21 04:27
2008.10.19
Как создать в цикле Array Of Const?


2-1221471665
vegarulez
2008-09-15 13:41
2008.10.19
Вопрос про Grid, Table, Query (ZeosDBO)


15-1220026817
Nic
2008-08-29 20:20
2008.10.19
Ветка проектирования