|
|
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
Товарищ один у меня в раздумьях по поводу покупки компонентов. Сам толком ему не могу ничего посоветовать, поэтому решил спросить у знающего сообщества. Компненты какой компашки лучше всего взять? Я про универсальные компоненты пишу такие как FireDAC и UniDAC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2014, 13:03 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
UniDAC бери, там саппорт классный, и ошибки патчат мгновенно. FireDAC уже встроен в последние версии Delphi, как гвоорится, "искаропки", но саппорт гумно. И компоненты не развиваются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2014, 13:06 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
А что, что FireDAC входит в комплект Delphi и при её покупке ты уже за него заплатил, это не плюс?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2014, 13:11 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
Я за UniDAC ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2014, 13:11 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
X11Я за UniDAC Тогда я за ZEOS, он самый дешёвый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2014, 13:39 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
GlaysX11Я за UniDAC Тогда я за ZEOS, он самый дешёвый. Но не самый качественный )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2014, 13:44 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
а я - за то, чтобыMarcellusуниверсальные компонентывыкинуть и использовать специализированные DAC'и ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2014, 13:50 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
GlaysТогда я за ZEOS, он самый дешёвый. ODBC вообще халявный. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2014, 13:54 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
defecatorНо не самый качественный )) И медленный. Зато много лицензионной чистоты, код открытый для допилов, и обновления через SVN. Но тут уж выбирать нужно исходя из задачи, которую ТС постеснялся озвучивать. Dimitry SibiryakovGlaysТогда я за ZEOS, он самый дешёвый. ODBC вообще халявный. Собсно ZEOS тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2014, 14:03 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovFireDAC входит в комплект DelphiВ Professional Edition его нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2014, 14:58 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
defecatorUniDAC бери, там саппорт классный, и ошибки патчат мгновенно. FireDAC уже встроен в последние версии Delphi, как гвоорится, "искаропки", но саппорт гумно. И компоненты не развиваются. Поддерживаю, за UniDAC. Откликаются мгновенно. Ни разу не пожалел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 05:36 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
Спасибо всем за советы. Вчера протестил время отклика саппорта FireDAC и UniDAC. Люди в этой теме правду пишут, откликаются по UniDAC намного быстрее. В саппорт UniDAC написал 3 сообщения и на все получил ответ. От команды FireDAC гробовое молчание( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2014, 11:25 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
defecatorно саппорт гумно. Не вижу для себя ни малейшего смысла регулярно посещать ресурс с подобным хамством. Мне гораздо комфортнее отвечать людям на forums.embarcadero.com. defecatorИ компоненты не развиваются. Ты их вообще видел, что бы это заявлять ? :) Впрочем, бисер ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2014, 13:56 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
ИМХО, надо понимать для чего будут использоваться компоненты. UniDAС, во-первых, дешевле Как ни крути, юзеры Delphi Professional за FireDAC платят, и платят почти вдвое больше, чем за UniDAC. К тому же на UniDAC можно получить серьезные скидки. Во-вторых, поддержка Oracle и MySQL для мобильных приложений (для тех, кому это действительно надо). В-третьих, некоторые моменты сделаны аккуратнее и красивее (те же кодировки по умолчанию в SQLite). Как говорится, дьявол в мелочах... FireDAC бесплатен для пользователей старших версий Delphi. Как по мне, он более удобен при работе с DataSnap. Поддержка... Лично мне грех жаловаться и там и там. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 17:13 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
Dmitry Arefievdefecatorно саппорт гумно. Не вижу для себя ни малейшего смысла регулярно посещать ресурс с подобным хамством. Мне гораздо комфортнее отвечать людям на forums.embarcadero.com. Dmitry, ты не гоношись, не гоношись. Ты был прародителем компонентов, этого никто не отрицает. Но ты продал свой проект Embarcadero, за славу за совесть за бапки в итоге, и теперь уже кагбэ Embarcadero поддерживает их (ха-ха три раза), а ты можешь выступать только как очередной разработчик, посаженный за поддержку FireDAC. Причём, даже не тут, на sql.ru, а на официальных форумах Emb. А тут ты просто частное лицо. И на что ты обижаешься ? На то, что саппорт Embarcadero - полное гумно ? Оно и есть - полное гумно. На то, что чтобы получить мажорное обновление FireDAC, надо покупать очередную версию Delphi ? На то, что компоненты DevArt развиваются и обновляются гораздо динамичнее и их покупать просто выгоднее - и по уровню саппорта, и по надёжности вложений ? Динамика для FireDAC исчезла в тот миг, как она перестала быть твоим личным проектом. Dmitry ArefievdefecatorИ компоненты не развиваются. Ты их вообще видел, что бы это заявлять ? Многие тебе благодарны, что ты (пока) не даёшь скатиться FireDAC в откровенное УГ, как и всё остальное, что попало в руки Emb, но в любом случае всё к этому идёт. И - да, я видел и щупал их много-много раз, но душа не лежала, как раньше, так тем более - теперь. P.S. Всё сказанное - моё ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 20:25 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
На тему саппорта эмбаркадеро (на их же сайте) Вот тут Бровину задавали вопросы... в феврале. http://blogs.embarcadero.com/yaroslavbrovin/2014/01/28/tips-1/#comments И че? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 20:41 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
asviridenkovНа тему саппорта эмбаркадеро (на их же сайте) Вот тут Бровину задавали вопросы... в феврале. http://blogs.embarcadero.com/yaroslavbrovin/2014/01/28/tips-1/#comments И че? Ты понимаешь меня, как никогда ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 20:48 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
UniDAC для работы с большими таблицами > 300к записей не годится - потребляет очень много памяти. Их новая фича "SmartFetch" призвана это дело побороть, но вот уже сколько билдов подряд, начиная с версии 5.3 её не могут довести до ума. Постоянно AV-шки, assert'ы на равном месте (то при удалении\изменении записи, то на RAISERROR в триггере MS SQL UniDAC валится стопкой AV-шек). Эти баги правят, но на это зачастую уходят месяцы от релиза до релиза. В новом билде эти ошибки исправлены, но с ним приходит и стопка новых багов. Написать какой-то мало-мальски серьезный коммерческий продукт становится невозможным. Что касается FireDAC, так исправления багов вообще можно годами ждать и если они выйдут, то только на последние версии Delphi XE 5,6,7. Пруф: http://qc.embarcadero.com/wc/qcmain.aspx?d=124435 Из-за этого бага вообще остановилась миграция проекта с BDE на FireDAC. Так что такие, совсем не радужные, дела ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 12:39 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
zladeykaUniDAC для работы с большими таблицами > 300к записей не годится - потребляет очень много памяти. Их новая фича "SmartFetch" призвана это дело побороть, но вот уже сколько билдов подряд, начиная с версии 5.3 её не могут довести до ума. У меня версия UniDAC 5.5.12, SmartFetch используется активно, никаких ассертов и AV не видел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 12:47 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
defecator, В 5.5.12 на UniTable некоторые баги были исправлены. Но на этой версии невозможно работать со SmartFetch и представлениями, на которые повешены триггеры INSTEAD OF. В версии 6.0.1 это было исправлено, но в ней добавился собственный парсер SQL-запросов, полный багов. На сложных запросах, с UNION и алиасами ломается TUniQuery во время выполнения. Нового билда, после 6.0.1 с исправлениями до сих пор не видно (25.11.2014), а времени прошло уже почти месяц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2014, 13:01 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
Появились новые факты и эмоции на тему выбора компонентов доступа к СУБД Компания, в которой я работаю, использует Юнидак уже несколько лет для продакшн проектов, которые используют множество клиентов в Украине и не только. С первого же билда Юнидак, который был на тот момент, постоянно есть какие-то глюки, в основном Access Violation. Спустя столько времени и тонн баг-репортов мы уже привыкли к AV-шкам, научились их подпирать какими-то костылями, либо ограничивать какой-то функционал, где всплывает ошибка UniDAC, благо эти ошибки довольно просто находились. В одном релизе есть какой-то один набор AV-шек, выходит новый билд, эти баги попатчены, но находятся новые (в течении полудня), при каких-то новых событиях. Но на днях Юнидак нас удивил! Вышел билд 6.2.9 от 14.12.2015. Мы его тестили и нашли только ОДНУ AV во всем билде Юнидак, связанной с опцией обновления roBeforeEdit. В принципе, всего одна AV-хороший результат для UniDAC'a. И вот, мы на днях выпустили релиз и на следующий день были в шоке с новенького бага UniDAC: все числа, которые меньше 0.1, UniDAC молча, без зазрений совести, округлял до десятых. Соответственно 0.001 превращались в 0.1, 0.05 в 0.5 и т.д. И вот что большего всего бесит в UniDAC: этот баг уже запостили на их форуме 21.12.2015 - они типично ответили, на данный критичный баг, что воспроизвели и исследуют проблему. Но мля, никакого письма клиентам, мол будьте аккуратны - есть критический баг, который можно сразу и не заметить. Для них это мелочь и им все равно. Если приложение, используещее UniDAC, это ERP-система с товарооборотом и прочим, то за время своей работы оно может столько начудить с суммами и ценами, что наступит коллапс, исправлением которого будет только один способ - восстановлением БД из бэкапа. На сайте Devart в клиентах значатся такие компании как BMW, Boening, Samsung, Toyota и т.д. Как они могут использовать такие глючные продукты, где подвоха можно ожидать в самых невероятных местах? Дай Бог, чтобы не упал ни один самолет или не отказали тормоза в машине из-за AV или еще какого-то бага в компонентах Devart'a. Хорошо, что они со своим продуктом не добрались еще до АЭС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 17:27 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
Тестовый проект: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 18:28 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЖелание жрать всегда самую свежую версию кактуса вызывает недоумение вот когда исправят этот кактусище http://qc.embarcadero.com/wc/qcmain.aspx?d=124435 так сразу и соскочим с UniDAC'a ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 18:44 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovВот именно это желание жрать всегда самую свежую версию кактуса и вызывает недоумение. проблема в том что в свежих версиях, на первый взгляд а иногда и на второй, меньше колючек ... вот если бы они в хистори наравне с "fixed" писали "bug added" .... то конечно было бы проще ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 18:53 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
zladeykaА для чего вы вообще на новую версию переходили? Ну вот у вас есть "огромнейший проект", все в нем работает, известные проблемы обойдены теми или иными способами. Вы решили дернуть удачу за хвост? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 19:07 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
zladeyka, Вообще-то у юнидаковских датасетов есть вкладка "Data Type Mapping", где можно указать, какого именно типа поля возвращаются в запросе -- как раз на случай, если их анализатор сам справится не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 20:31 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
ZeroMQА для чего вы вообще на новую версию переходили? Ну вот у вас есть "огромнейший проект", все в нем работает, известные проблемы обойдены теми или иными способами. Вы решили дернуть удачу за хвост? Как я уже писал в своем предыдущем посте, иногда нам приходится урезать какую-то часть своего функционала, если UniDAC содержит такие ошибки, где собственными силами исправить их не представляется возможным. В это новой версии эти баги были исправлены и мы решили обновить версию, дабы обратно включить часть нашего функционала. Впоследствии, нам пришлось откатиться обратно на предыдущую версию UniDAC 6.2.8, т.к. лучше урезать часть своих функций, чем вообще испортить клиентские учетные БД неверными числами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 20:41 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
zladeykaZeroMQА для чего вы вообще на новую версию переходили? Ну вот у вас есть "огромнейший проект", все в нем работает, известные проблемы обойдены теми или иными способами. Вы решили дернуть удачу за хвост? Как я уже писал в своем предыдущем посте, иногда нам приходится урезать какую-то часть своего функционала, если UniDAC содержит такие ошибки, где собственными силами исправить их не представляется возможным. В это новой версии эти баги были исправлены и мы решили обновить версию, дабы обратно включить часть нашего функционала. Впоследствии, нам пришлось откатиться обратно на предыдущую версию UniDAC 6.2.8, т.к. лучше урезать часть своих функций, чем вообще испортить клиентские учетные БД неверными числами. Ну, любой опыт - он положительный. Мы вот уже много лет используем одну из последних версий FIB+ 6.9. Точно так же пару раз нарывались на грабли, когда "просто так" переходили на новые версии. И версию Delphi меняем очень нечасто, по той же причине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2015, 20:50 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
А я вот недавно (недели две назад) обновил VirtualTreeView с версии 5.0.0 на 6.2.1. Уже 7 или 8 правок пришлось внести. Где-то на 5й правке сильно задумался, может вернуть всё взад? Но сейчас вроде работает стабильно, местами чуть быстрее.. Конечно это не сравнить с проблемами доступа к данным, но для себя отметил, что действительно не стоит торопиться с обновлениями того, что и так работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.12.2015, 12:37 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
zladeyka UniDAC для работы с большими таблицами > 300к записей не годится - потребляет очень много памяти. Их новая фича "SmartFetch" призвана это дело побороть, но вот уже сколько билдов подряд, начиная с версии 5.3 её не могут довести до ума. Постоянно AV-шки, assert'ы на равном месте (то при удалении\изменении записи, то на RAISERROR в триггере MS SQL UniDAC валится стопкой AV-шек). Эти баги правят, но на это зачастую уходят месяцы от релиза до релиза. В новом билде эти ошибки исправлены, но с ним приходит и стопка новых багов. Написать какой-то мало-мальски серьезный коммерческий продукт становится невозможным. Сейчас у меня версия 8.0.1. И снова проблема. Есть запрос с макросом Код: sql 1. 2. 3. 4. 5. 6. 7. Включаем SmartFetch. В коде указываем текст макроса: Код: pascal 1. 2. 3. 4. Получаем Project raised exception class EIBCError with message 'Dynamic SQL Error SQL error code = -204 Ambiguous field name between table TYPES and table TABLE1 ID'. При этом UniQuery1.FinalSQL выдает рабочий код, который в IBExpert нормально отрабатывает: Код: sql 1. 2. 3. 4. 5. 6. 7. Если отключить SmartFetch, код работает нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.02.2020, 17:41 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
X11 Если отключить SmartFetch, код работает нормально. Значит, SmartFetch как-то меняет значение FinalSQL. Лови то, что на сервер уходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.02.2020, 18:02 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
Я вообще до конца не понимаю, что такое SmartFetch и с чем его едят? Соответственно, не понимаю, а нужно ли мне оно вообще? Например, если у меня 1000 или 10000 записей в таблице, откуда выполняется Select? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.02.2020, 18:47 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
X11, там строится свой запрос, исключающий загрузку больших полей, вроде фактически грузятся лишь ключевые поля. Ну и генератор запросов налажал. Например, у тебя в табличке есть поле FK c именем вроде ИМЯFKТАБЛИЧКИ_ID, а генератор создал алиас с таким же именем для поля PK ключа, ну вот тебе и "аmbiguous field name between", панимаш... Ну ты посмотри в отадчике, что на самом деле, в точке иксцепшна - интересно же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.02.2020, 19:28 |
|
||
|
Сравнение компонентов для доступа к данным
|
|||
|---|---|---|---|
|
#18+
X11, При открытии таблицы в режиме SmartFetch, считываются только значения ключевых полей и полей указанных в свойстве PrefetchedFields для всех записей, возвращаемых запросом. После открытия таблицы, происходит чтение полей для количества строк, указанных в свойстве FetchRows. Остальные поля будут прочтены непосредственно при обращении к ним. Эффективность работы SmartFetch при извлечении любых данных таблицы зависит от используемых в этой таблице типов полей. Наибольший прирост производительности наблюдается при использовании SmartFetch для типов данных с большими значениями, таких как long string, BLOB, и т.д. При использовании SmartFetch режима UniDAC, если свойство TUniQuery.SmartFetch.SQLGetKeyValues установлено в пустую строку, UniDAC пытается составить и выполнить запрос на чтение ключевых полей и полей указанных в свойстве PrefetchedFields. Когда SQL запрос является сложным, как в вашем случае, автоматически сгенерированный запрос может быть некорректным. В таком случае вам следует в свойстве TUniQuery.SmartFetch.SQLGetKeyValues.Text указать запрос на получения полей, которые будут уникально идентифицировать запись. Например: Код: pascal 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2020, 16:56 |
|
||
|
|

start [/forum/topic.php?all=1&fid=58&tid=2038532]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
1ms |
| others: | 225ms |
| total: | 381ms |

| 0 / 0 |
