|
|
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
Озадачился вопросом работы SQLLite3 + FireDAC+LinkedServer(MSSQL). Оказалось в SQLLite аццкие проблемы с полем даты/времени. Перепробовал несколько утилит. Одна вообще не умела создавать поле даты (SQLiteManager). Другая вроде сумела создать поле типа timestamp (SQLiteStudio 3.2.1), но сама не смогла прочитать. Отобразила Флоат-число. :) Вроде удалось читать/писать это поле из FireDAC, но при этом невозможно прочитать из LinkedServer(MSSQL). Третья утилита (не помню название) вообще создала БД, кот. невозможно прочитать... Сами утилиты наверно писались душевнобольными... Других слов просто нет. :( У кого какой опыт по сабжу ? Какой менеджер взять, чтобы был функциональным и создавал совместимые базы ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2018, 14:44 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
L_argoСами утилиты наверно писались душевнобольными... Расскажи, что ты думаешь про систему типов SQLite и timestamp в частности ... L_argoSQLLite3 + FireDAC+LinkedServer(MSSQL) А как это все связано ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2018, 15:47 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
Dmitry ArefievL_argoСами утилиты наверно писались душевнобольными... Расскажи, что ты думаешь про систему типов SQLite и timestamp в частности ... L_argoSQLLite3 + FireDAC+LinkedServer(MSSQL) А как это все связано ??Ничего хорошего не думаю. :) 1. Специального типа нет. Есть какие-то юлианские дни, REAL(т.е. float) и дата_как_текст. Кароч много слабосовместимых вариантов, вреди которых вообще нет привычных делфийских. Наладив совместимость с одним стандартом, сразу же теряем совместимость с другим. 2. Хочется подружить все 3 пункта, чтобы можно было одинаково нормально видеть/редактировать поле из утилиты, своей делфийской программы и линкедСервера. Без дебильных преобразований. Пока получается только что-то одно. Крайне неудобно. Хочется реализовать в приложении к-л легковесную СУБД без ее инсталляции. Хотя SQLITE выглядит как хороший кандидат, но реализация дат категорически портит все "ЗА". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2018, 16:06 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
L_argo1. Специального типа нет. Есть какие-то юлианские дни, REAL(т.е. float) и дата_как_текст. Кароч много слабосовместимых вариантов, вреди которых вообще нет привычных делфийских. Наладив совместимость с одним стандартом, сразу же теряем совместимость с другим. 2. Хочется подружить все 3 пункта, чтобы можно было одинаково нормально видеть/редактировать поле из утилиты, своей делфийской программы и линкедСервера. Без дебильных преобразований. Пока получается только что-то одно. Крайне неудобно. Не зная какие проблемы у тебя конкретно с Real/float в плане DATETIME, но в Delphi, на сколько я помню, он задекларирован именно так. Даже ради тебя загуглил: Код: pascal 1. Ну и если в целом говорить о SQLite, тебе понадобится много разных способов "кодировать" данные, потому что в этом типе БД довольно небольшое количество типов данных (5 если не ошибаюсь) и это претензия совсем не к Delphi. Поэтому требовать какие-то специальные поля для утилит бессмысленно, они в SQLite не заложены в дизайн. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2018, 17:17 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
L_argoХочется реализовать в приложении к-л легковесную СУБД без ее инсталляции. И при этом использовать её как linked server из MS SQL? Да, Вы знаете толк в извращениях. Почему бы тогда не взять MS SQL Compact Edition?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2018, 17:42 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
DimonkaL_argo1. Специального типа нет. Есть какие-то юлианские дни, REAL(т.е. float) и дата_как_текст. Кароч много слабосовместимых вариантов, вреди которых вообще нет привычных делфийских. Наладив совместимость с одним стандартом, сразу же теряем совместимость с другим. 2. Хочется подружить все 3 пункта, чтобы можно было одинаково нормально видеть/редактировать поле из утилиты, своей делфийской программы и линкедСервера. Без дебильных преобразований. Пока получается только что-то одно. Крайне неудобно. Не зная какие проблемы у тебя конкретно с Real/float в плане DATETIME, но в Delphi, на сколько я помню, он задекларирован именно так. Даже ради тебя загуглил: Код: pascal 1. Ну и если в целом говорить о SQLite, тебе понадобится много разных способов "кодировать" данные, потому что в этом типе БД довольно небольшое количество типов данных (5 если не ошибаюсь) и это претензия совсем не к Delphi. Поэтому требовать какие-то специальные поля для утилит бессмысленно, они в SQLite не заложены в дизайн.1. Про Real/float в плане DATETIME я знаю уже примерно 20 лет. Речь о практической реализации полноценной работы. Дизайн SQLite оказался уж слишком куцым. :( 2. А разве я высказывал претензию в адрес Delphi ? Поскольку некот. версии SQLite отличаются, была надежда, что какое-то сочетание "версия" + "утилита" будет подходящим. зы: LinkedServer иногда удобен для миграции данных. Но даже применив в запросе функции преобразования проблема отображения даты не решилась. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2018, 18:03 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
L_argo1. Про Real/float в плане DATETIME я знаю уже примерно 20 лет. Речь о практической реализации полноценной работы. Дизайн SQLite оказался уж слишком куцым. :( Так что конкретно не хватает для "полноценной работы"? Единственное, что могу предположить - это лишь то, что там нет Time Zone, а в целом Float поле легко настраивается как TDateTime для биндинга/маппинга и визуального редактирования. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2018, 18:19 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
L_argoПоскольку некот. версии SQLite отличаются, была надежда, что какое-то сочетание "версия" + "утилита" будет подходящим. Я бы отталкивался от формата дат, который поддерживается SQLite ODBC / OLEDB драйвером. Потом бы искал утилиту и настраивал бы FireDAC под этот формат. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2018, 19:39 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
L_argo, Странный какой-то вопрос. Плохо искали. Все что надо есть, два года работал с проектами на SQLite. И как раз на Дельфи, и как раз основной функционал крутился вокруг даты и даты/время. Использую SQLiteExpertProfessional и ZeosLib. Небольшие шероховатости конечно есть, но вполне преодолимы. Главное правильно поставить задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2018, 21:33 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
Использую SQLiteExpertProfessionalО ! Спасибо !!! Эту еще не встречал. Она оказалась на порядок лучше всех других, которые пробовал. С ее помощью проапдейтил дату и ..... она нормально видна из ФайрДАКа и даже с ЛинкедСервера. Но... если дату проапдейтить с ФайрДАКа, то почему-то дата ломается. ФайрДАК ее по прежнему нормально видит, но SQLiteExpertProfessional видит нули, а ЛинкдСервер видит как NULL. Эксперименты с ФД пока не увенчались успехом. Пока не удается сделать так, чтобы работало везде. Нативный тип поля в ФД (как он сам его определяет)- TSQLTimeStampField. Другие варианты вообще не работают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 09:56 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
Sqlite нормально дату-время поддерживает. Из коробки. Со всеми полагающимися операциями над датами и индексами. Разработчика не должно волновать, что там дата в виде строки записывается внутри -- это особенности формата. Главное, что SQL работает как и должен и видит реальные даты. Так что автор что-то нахимичил у себя или в настройках датасетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 10:49 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
JaDiТак что автор что-то нахимичил у себя или в настройках датасетов.Вот как раз ничего не химичил, а все взял искаропки. Перепробовал все варианты DateTimeFormat (String/Binary/DateTime) в настройках TADConnection. Более менее работает только DateTime. Пробовал в утилите поставить тип поля DATETIME вместо TIMESTAMP. Те же проблемы: ФД видит нормально, но ломает при редактировании. При этом в самом ФД все ОК, а в утилите и ЛинкедСервере нули. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 11:15 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
JaDiSqlite нормально дату-время поддерживает. Из коробки. ну-ну. у SQLite вообще-то нет такого типа как Date, Time и DateTime от слова совсем ( https://www.sqlite.org/datatype3.html ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 11:21 |
|
||
|
SQLLite + FireDAC + LinkedServer(MSSQL)
|
|||
|---|---|---|---|
|
#18+
b0rkJaDiSqlite нормально дату-время поддерживает. Из коробки. ну-ну. у SQLite вообще-то нет такого типа как Date, Time и DateTime от слова совсем ( https://www.sqlite.org/datatype3.html ) https://www.sqlite.org/lang_datefunc.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2018, 11:42 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=58&tid=2040241]: |
0ms |
get settings: |
10ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
161ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 490ms |

| 0 / 0 |
