Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / SQLLite + FireDAC + LinkedServer(MSSQL) / 15 сообщений из 15, страница 1 из 1
22.10.2018, 14:44
    #39720903
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
Озадачился вопросом работы SQLLite3 + FireDAC+LinkedServer(MSSQL).
Оказалось в SQLLite аццкие проблемы с полем даты/времени.

Перепробовал несколько утилит. Одна вообще не умела создавать поле даты (SQLiteManager).
Другая вроде сумела создать поле типа timestamp (SQLiteStudio 3.2.1), но сама не смогла прочитать. Отобразила Флоат-число. :)

Вроде удалось читать/писать это поле из FireDAC, но при этом невозможно прочитать из LinkedServer(MSSQL).

Третья утилита (не помню название) вообще создала БД, кот. невозможно прочитать...

Сами утилиты наверно писались душевнобольными... Других слов просто нет. :(


У кого какой опыт по сабжу ?
Какой менеджер взять, чтобы был функциональным и создавал совместимые базы ?
...
Рейтинг: 0 / 0
22.10.2018, 15:47
    #39720967
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
L_argoСами утилиты наверно писались душевнобольными...
Расскажи, что ты думаешь про систему типов SQLite и timestamp в частности ...
L_argoSQLLite3 + FireDAC+LinkedServer(MSSQL)
А как это все связано ??
...
Рейтинг: 0 / 0
22.10.2018, 16:06
    #39720986
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
Dmitry ArefievL_argoСами утилиты наверно писались душевнобольными...
Расскажи, что ты думаешь про систему типов SQLite и timestamp в частности ...
L_argoSQLLite3 + FireDAC+LinkedServer(MSSQL)
А как это все связано ??Ничего хорошего не думаю. :)
1. Специального типа нет. Есть какие-то юлианские дни, REAL(т.е. float) и дата_как_текст. Кароч много слабосовместимых вариантов, вреди которых вообще нет привычных делфийских. Наладив совместимость с одним стандартом, сразу же теряем совместимость с другим.
2. Хочется подружить все 3 пункта, чтобы можно было одинаково нормально видеть/редактировать поле из утилиты, своей делфийской программы и линкедСервера. Без дебильных преобразований. Пока получается только что-то одно.
Крайне неудобно.

Хочется реализовать в приложении к-л легковесную СУБД без ее инсталляции.
Хотя SQLITE выглядит как хороший кандидат, но реализация дат категорически портит все "ЗА".
...
Рейтинг: 0 / 0
22.10.2018, 17:17
    #39721036
Dimonka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
L_argo1. Специального типа нет. Есть какие-то юлианские дни, REAL(т.е. float) и дата_как_текст. Кароч много слабосовместимых вариантов, вреди которых вообще нет привычных делфийских. Наладив совместимость с одним стандартом, сразу же теряем совместимость с другим.
2. Хочется подружить все 3 пункта, чтобы можно было одинаково нормально видеть/редактировать поле из утилиты, своей делфийской программы и линкедСервера. Без дебильных преобразований. Пока получается только что-то одно.
Крайне неудобно. Не зная какие проблемы у тебя конкретно с Real/float в плане DATETIME, но в Delphi, на сколько я помню, он задекларирован именно так. Даже ради тебя загуглил:
Код: pascal
1.
TDateTime = type Double;


Ну и если в целом говорить о SQLite, тебе понадобится много разных способов "кодировать" данные, потому что в этом типе БД довольно небольшое количество типов данных (5 если не ошибаюсь) и это претензия совсем не к Delphi. Поэтому требовать какие-то специальные поля для утилит бессмысленно, они в SQLite не заложены в дизайн.
...
Рейтинг: 0 / 0
22.10.2018, 17:42
    #39721068
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
L_argoХочется реализовать в приложении к-л легковесную СУБД без ее инсталляции.

И при этом использовать её как linked server из MS SQL? Да, Вы знаете толк в извращениях.
Почему бы тогда не взять MS SQL Compact Edition?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
22.10.2018, 18:03
    #39721089
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
DimonkaL_argo1. Специального типа нет. Есть какие-то юлианские дни, REAL(т.е. float) и дата_как_текст. Кароч много слабосовместимых вариантов, вреди которых вообще нет привычных делфийских. Наладив совместимость с одним стандартом, сразу же теряем совместимость с другим.
2. Хочется подружить все 3 пункта, чтобы можно было одинаково нормально видеть/редактировать поле из утилиты, своей делфийской программы и линкедСервера. Без дебильных преобразований. Пока получается только что-то одно.
Крайне неудобно. Не зная какие проблемы у тебя конкретно с Real/float в плане DATETIME, но в Delphi, на сколько я помню, он задекларирован именно так. Даже ради тебя загуглил:
Код: pascal
1.
TDateTime = type Double;


Ну и если в целом говорить о SQLite, тебе понадобится много разных способов "кодировать" данные, потому что в этом типе БД довольно небольшое количество типов данных (5 если не ошибаюсь) и это претензия совсем не к Delphi. Поэтому требовать какие-то специальные поля для утилит бессмысленно, они в SQLite не заложены в дизайн.1. Про Real/float в плане DATETIME я знаю уже примерно 20 лет. Речь о практической реализации полноценной работы.
Дизайн SQLite оказался уж слишком куцым. :(

2. А разве я высказывал претензию в адрес Delphi ?

Поскольку некот. версии SQLite отличаются, была надежда, что какое-то сочетание "версия" + "утилита" будет подходящим.

зы: LinkedServer иногда удобен для миграции данных. Но даже применив в запросе функции преобразования проблема отображения даты не решилась.
...
Рейтинг: 0 / 0
22.10.2018, 18:19
    #39721103
Dimonka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
L_argo1. Про Real/float в плане DATETIME я знаю уже примерно 20 лет. Речь о практической реализации полноценной работы.
Дизайн SQLite оказался уж слишком куцым. :(
Так что конкретно не хватает для "полноценной работы"? Единственное, что могу предположить - это лишь то, что там нет Time Zone, а в целом Float поле легко настраивается как TDateTime для биндинга/маппинга и визуального редактирования.
...
Рейтинг: 0 / 0
22.10.2018, 19:39
    #39721128
Dmitry Arefiev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
L_argoПоскольку некот. версии SQLite отличаются, была надежда, что какое-то сочетание "версия" + "утилита" будет подходящим.
Я бы отталкивался от формата дат, который поддерживается SQLite ODBC / OLEDB драйвером. Потом бы искал утилиту и настраивал бы FireDAC под этот формат.
...
Рейтинг: 0 / 0
22.10.2018, 21:33
    #39721148
AlBor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
L_argo,
Странный какой-то вопрос. Плохо искали.
Все что надо есть, два года работал с проектами на SQLite.
И как раз на Дельфи, и как раз основной функционал крутился вокруг даты и даты/время.
Использую SQLiteExpertProfessional и ZeosLib.
Небольшие шероховатости конечно есть, но вполне преодолимы.
Главное правильно поставить задачу.
...
Рейтинг: 0 / 0
23.10.2018, 09:56
    #39721263
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
Использую SQLiteExpertProfessionalО ! Спасибо !!! Эту еще не встречал. Она оказалась на порядок лучше всех других, которые пробовал.
С ее помощью проапдейтил дату и ..... она нормально видна из ФайрДАКа и даже с ЛинкедСервера.
Но... если дату проапдейтить с ФайрДАКа, то почему-то дата ломается. ФайрДАК ее по прежнему нормально видит, но SQLiteExpertProfessional видит нули, а ЛинкдСервер видит как NULL.

Эксперименты с ФД пока не увенчались успехом. Пока не удается сделать так, чтобы работало везде.
Нативный тип поля в ФД (как он сам его определяет)- TSQLTimeStampField. Другие варианты вообще не работают.
...
Рейтинг: 0 / 0
23.10.2018, 10:49
    #39721296
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
Sqlite нормально дату-время поддерживает. Из коробки. Со всеми полагающимися операциями над датами и индексами. Разработчика не должно волновать, что там дата в виде строки записывается внутри -- это особенности формата. Главное, что SQL работает как и должен и видит реальные даты. Так что автор что-то нахимичил у себя или в настройках датасетов.
...
Рейтинг: 0 / 0
23.10.2018, 11:15
    #39721319
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
JaDiТак что автор что-то нахимичил у себя или в настройках датасетов.Вот как раз ничего не химичил, а все взял искаропки.
Перепробовал все варианты DateTimeFormat (String/Binary/DateTime) в настройках TADConnection. Более менее работает только DateTime.
Пробовал в утилите поставить тип поля DATETIME вместо TIMESTAMP.
Те же проблемы: ФД видит нормально, но ломает при редактировании.
При этом в самом ФД все ОК, а в утилите и ЛинкедСервере нули.
...
Рейтинг: 0 / 0
23.10.2018, 11:21
    #39721326
b0rk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
JaDiSqlite нормально дату-время поддерживает. Из коробки.
ну-ну. у SQLite вообще-то нет такого типа как Date, Time и DateTime от слова совсем ( https://www.sqlite.org/datatype3.html )
...
Рейтинг: 0 / 0
23.10.2018, 11:42
    #39721341
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
b0rkJaDiSqlite нормально дату-время поддерживает. Из коробки.
ну-ну. у SQLite вообще-то нет такого типа как Date, Time и DateTime от слова совсем ( https://www.sqlite.org/datatype3.html )
https://www.sqlite.org/lang_datefunc.html
...
Рейтинг: 0 / 0
23.10.2018, 11:57
    #39721346
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLLite + FireDAC + LinkedServer(MSSQL)
b0rk,
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / SQLLite + FireDAC + LinkedServer(MSSQL) / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]