Текущий архив: 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.61 MB
Время: 0.008 c