Переключение на Главную Страницу Страницы: 1 ... 38 39 [40] 41 42 ... 79 ОтправитьПечать
Очень популярная тема (более 25 ответов) 1sqlite (число прочтений - 468680 )
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #585 - 03. Ноября 2010 :: 20:57
Печать  
CaBaT писал(а) 03. Ноября 2010 :: 09:22:
Который раз сталкиваюсь с такой проблемой: при получении реквизита типа "Дата" с типизацией "Дата" в случае, если он пустой, неправильно работает метод "ПустоеЗначение".

Посмотрю, проверю
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
1sqlite - Сложение строк
Ответ #586 - 07. Ноября 2010 :: 02:34
Печать  
Как реализовать в 1sqlite сложение строк?
Самый простой пример: для связи между объектами по ссылкам приходится использовать несколько условий сравнения через SUBSTR ... Если использовать OLEDBData - там идет в условиях простое сложение строк идентификаторов типа, вида и самого значения, что в 1sqlite не работает ... или же я не знаю спец.оператора для сего дела, т.к. простой знак "плюс" для этого явно не подходит...

P.S.: Хотелось бы еще ints-ки по 1sqlite Подмигивание
« Последняя редакция: 07. Ноября 2010 :: 05:23 - Dmitry The Wing »  
Наверх
 
IP записан
 
sava
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 56
Зарегистрирован: 18. Февраля 2010
Пол: Мужской
Re: 1sqlite
Ответ #587 - 07. Ноября 2010 :: 16:20
Печать  
a||b
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Быстродействие при доступе по сети
Ответ #588 - 09. Ноября 2010 :: 08:12
Печать  
Столкнулся с проблемой быстродействия..
Реализовал внешнюю базу в sqlite, размер пока смешной - 50кб
(база - типа небольшого планировщика встреч в поздразделениях)
При работе с ней с локального диска все летает, выложил на сетевой ресурс - тормоза дикие..
Даже не знаю, как бороться..
В основном идет выборка данных, много маленьких запросов..
Может кто подскажет - как бы порешать, может подкрутить где чего в настройках SQLite-а можно?
А то надо запускать, а работать нереально.. Печаль
  
Наверх
 
IP записан
 
Dmitry The Wing
God Member
*****
Отсутствует


1C++ rocks!

Сообщений: 839
Местоположение: Где-то в Сибири
Зарегистрирован: 18. Августа 2009
Пол: Мужской
Re: Быстродействие при доступе по сети
Ответ #589 - 09. Ноября 2010 :: 08:21
Печать  
Это задача не для SQLite. Используй полноценную серверную СУБД, благо бесплатных теперь много: MySQL, FirBird, PostgreSQL и куча всяких экспрессов.
Всякий механизм хорош на своем месте. SQLite хороша при локальной работе одного пользователя.
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: 1sqlite
Ответ #590 - 09. Ноября 2010 :: 08:56
Печать  
Да, уже задумался об этом..
Да там задача то смешная, файл БД больше 1Мб и не вырастет никогда..
Не ожидал наступить на такие грабли..
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: 1sqlite
Ответ #591 - 09. Ноября 2010 :: 09:00
Печать  
Прям хоть копируй локально во временный файл..
  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: 1sqlite
Ответ #592 - 09. Ноября 2010 :: 13:32
Печать  
В итоге решил проблему загрузкой всех таблиц из файла в базу в памяти, своеобразный кеш получился..
Скорость последующей выборки выросла на порядок..

Так как ожидаю, что файл базы будет не очень большой (вряд ли больше 1Мб), пока на этом остановлюсь..
  
Наверх
 
IP записан
 
ТочноеЯдро
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 21
Зарегистрирован: 28. Января 2010
Re: 1sqlite
Ответ #593 - 24. Ноября 2010 :: 12:24
Печать  
Стоит зада ча закинуть много строк в таблицу SQLite.
Заполняю ТЗ, укладываю во временную таблицу, Запросом Insert Select * вношу всю временную таблицу в основную.  Но есть проблема.
Создаю ТЗ:
ТЗ.НоваяКолонка("code","Число",15);
Заполняю строки:
ТЗ.code = 25639874165897
делаю загрузку во временную таблицу:
База.УложитьТЗ(ТЗ,"tempTZ");
делаю запрос
ТЗ2=запрос.ВыполнитьЗапрос("Select * From tempTZ")
и в колонке code вижу мусор типа 1345051224  Ужас
УложитьТЗ понимает числа больше 2^32 ?

PS. Пока выхожу из ситуации так
ТЗ.НоваяКолонка("code","Строка",15);
_____________________________________

упссс.... и тут грабли.
Теперь запрос типа Select Where code = 123 не выдаёт результат. Только так : Select Where code = '123                 '
Хотя колонка code объявлена как  bigint
« Последняя редакция: 24. Ноября 2010 :: 16:04 - ТочноеЯдро »  
Наверх
 
IP записан
 
ТочноеЯдро
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 21
Зарегистрирован: 28. Января 2010
Re: 1sqlite
Ответ #594 - 24. Ноября 2010 :: 16:57
Печать  
Продолжение.
Создал таблицу в SQLite с      code bigint not null
сделал запись из SQLite Developer со значением code=123
запрос Select '_' || code || '_' From MyTab
выдал _123_
Теперь делаю инсерт из временной таблицы как постом выше и этот же запрос выдаёт
_123_
_25639874165897 _
Теперь ТЗ формирую так: ТЗ.code = " "+25639874165897
и запрос теперь выдаёт
_123_
_25639874165897 _
_ 25639874165897_
В DDL по-прежнему написано [code] bigint NOT NULL
Получается типизация идёт известным маршрутом ?  Печаль
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #595 - 25. Ноября 2010 :: 06:26
Печать  
В sqlite вообще нет типизации.
Для совместимости при создании таблицы можно указывать тип полей, но на самом деле в любое поле можно ложить любые данные.
те можно объявить поле как int, но вставлять туда текст, пофигу. Вобщем, что на самом деле лежит в поле определяется самими данными при вставке.
Сам sqlite оперирует всего с 4мя типами данных - integer (int64), real (double), text (utf-16 или utf-8), blob (массив байтов).

По поводу укладки из ТЗ больших чисел посмотрю, сам sqlite работает с 64битными целыми, значит, что-то в моем коде.
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #596 - 25. Ноября 2010 :: 06:31
Печать  
Посмотрел, да, есть косяк. При установке sql-параметра, если значение параметра - целое число, то берется long значение. Ща подумаю, как исправить.
  
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #597 - 25. Ноября 2010 :: 06:41
Печать  
Вот вроде поправил. Проверь, как укладываются большие значения.
  

1sqlite_009.zip ( 425 KB | Загрузки )
Наверх
 
IP записан
 
orefkov
1c++ developer
1c++ moderator
Отсутствует


I Love YaBB 2!

Сообщений: 896
Зарегистрирован: 20. Мая 2006
Re: 1sqlite
Ответ #598 - 25. Ноября 2010 :: 07:09
Печать  
Вот еще добавил функционал для проверки.
В методе УложитьОбъекты если указана иерархия для разворота справочника по группам, и она начинается со знака '+', то в таблицу укладываются не только элементы, но и группы. Для счетов это правило не действует.
Пример:
Код
Выбрать все
УложитьОбъекты(сзИсключить, "тИсключить",, "+Номенклатура");
....
select
...
from [Справочник.Номенклатура] Товары
where Товары.id not in (select val from тИсключить)
 


  

1sqlite_010.zip ( 425 KB | Загрузки )
Наверх
 
IP записан
 
ТочноеЯдро
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 21
Зарегистрирован: 28. Января 2010
Re: 1sqlite
Ответ #599 - 25. Ноября 2010 :: 10:34
Печать  
ыыыыыы Печаль
первое же обращение к базе SQLite ложит её намертво.
При попытке подключиться к ней после этого через SQLite Dev выдаёт ошибку "ERROR: file is encrypted or is not a database"
Плачущий
Кстати чем реанимировать базу SQLite в случае чего-то подобного ?
Бэкап само собой, но если нжно поднять то что есть на сию минуту.  Улыбка
_________

PS рядом с файлами базы начали создаваться файлы типа
ИмяБазы.db3-shm и ИмяБазы.db3-wal
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 38 39 [40] 41 42 ... 79
ОтправитьПечать