Автор | Сообщение |
|
| постоянный участник
|
Пост N: 4765
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.03.16 21:17. Заголовок: LetoDB - csv to dbf ?
Всем привет. На сервере с LetoDB есть файл android.csv куда записи пишутся(добавляются) постоянно с телефона в формате CSV. Как лучше сделать конвертацию в dbf-файл и кто должен эту операцию делать: сервер или локальные станции ? Новые записи появляющиеся в android.csv нужно показывать на локальных станциях. Кто что может посоветовать ?
|
|
|
Ответов - 13
[только новые]
|
|
|
| постоянный участник
|
Пост N: 1188
Зарегистрирован: 27.01.07
|
|
Отправлено: 11.03.16 21:59. Заголовок: Andrey пишет: На се..
Andrey пишет: цитата: | На сервере с LetoDB есть файл android.csv |
| Расшифруй это.
|
|
|
|
| |
Пост N: 5508
Зарегистрирован: 17.05.05
|
|
Отправлено: 11.03.16 22:20. Заголовок: PSP пишет: Расшифру..
|
|
|
|
| постоянный участник
|
Пост N: 4766
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.03.16 22:40. Заголовок: PSP пишет: Расшифру..
PSP пишет: Файл текстовый, формата CSV в который пишутся данные с телефонов на андроиде (ну не знаю как прикрутить LETO к андроиду, не получилось с ходу, позже этим займусь). Файл лежит в папке, куда есть доступ LetoDB. Хочу этот файл после каждого изменения конвертировать в DBF и новые записи показывать на локальных станциях (по таймеру на форме). Как лучше сделать конвертацию в dbf-файл, т.е. кто должен эту операцию делать: сервер или локальная станции ? По идее, можно на сервере сделать отдельную функцию, которая будет проводить эту конвертацию. Или каждая локальная станция будет блокировать файл через семафор и делать конвертацию. Базы пока маленькие, но если разрастутся, то что тогда будет ? Вот и спрашиваю, какой метод лучше. Причем это будет не одна база, а несколько, ну пока с 15 баз.
|
|
|
|
| постоянный участник
|
Пост N: 4767
Зарегистрирован: 12.09.06
|
|
Отправлено: 11.03.16 23:28. Заголовок: А можно в Tsbrowse о..
А можно в Tsbrowse открыть файл формата CSV через LetoDB ? В терминалке - обычным бровсом можно было такое делать. Помню примеры были ещё на Клипере.
|
|
|
|
| |
Пост N: 5509
Зарегистрирован: 17.05.05
|
|
Отправлено: 11.03.16 23:48. Заголовок: Andrey пишет: А мож..
Andrey пишет: цитата: | А можно в Tsbrowse открыть файл формата CSV через LetoDB ? |
| А если в массив загнать ?
|
|
|
|
| постоянный участник
|
Пост N: 4768
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.03.16 00:20. Заголовок: Dima пишет: А если ..
Dima пишет: цитата: | А если в массив загнать ? |
| Идея интересная. Снимается множество проблем... Для просмотра пойдёт. Только вот если юзера чуток править будут (допустим логическое поле - Просмотрел: T/F) то как тогда на сервер LetoDb возвращать изменённый массив и делать перезапись измененных данных ? И каков максимальный размер массива который можно передать с сервера ?
|
|
|
|
| постоянный участник
|
Пост N: 1189
Зарегистрирован: 27.01.07
|
|
Отправлено: 12.03.16 08:54. Заголовок: Мне кажется, логичне..
Мне кажется, логичнее не конвертировать весь файл после каждого изменения, а следить за добавлением строк в csv и переносить в dbf строками после добавления. Этим же снимается вопрос о "Только вот если юзера чуток править будут"
|
|
|
|
| постоянный участник
|
Пост N: 4769
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.03.16 14:31. Заголовок: PSP пишет: логичнее..
PSP пишет: цитата: | логичнее не конвертировать весь файл после каждого изменения |
| Спасибо !
|
|
|
|
| постоянный участник
|
Пост N: 4772
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.03.16 18:15. Заголовок: Нашёл в доке функцию..
Нашёл в доке функцию Leto_FileSize( cFileName ). А есть функции которые бы возвращали дату и время последнего изменения файла ? Хотя на крайний случай сойдёт и Leto_Directory().
|
|
|
|
| постоянный участник
|
Пост N: 1190
Зарегистрирован: 27.01.07
|
|
Отправлено: 12.03.16 20:34. Заголовок: Andrey пишет: А ест..
Andrey пишет: цитата: | А есть функции которые бы возвращали дату и время последнего изменения файла ? |
| Это ничего не даст. Нужно помимо даты/времени модификации знать позицию в текстовом файле, с которой начинать чтение.
|
|
|
|
| постоянный участник
|
Пост N: 4774
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.03.16 20:38. Заголовок: PSP пишет: Нужно по..
PSP пишет: цитата: | Нужно помимо даты/времени модификации знать позицию в текстовом файле, с которой начинать чтение. |
| Элементарно. Кол-во записей в базе минус кол-во элементов (длина массива) в csv-файле.
|
|
|
|
|
| постоянный участник
|
Пост N: 1191
Зарегистрирован: 27.01.07
|
|
Отправлено: 12.03.16 20:42. Заголовок: Andrey пишет: кол-в..
Andrey пишет: цитата: | кол-во элементов (длина массива) в csv-файле |
| Это придется каждый раз перезаполнять массив, читая весь файл сначала. Если он небольшой, - нет проблем.
|
|
|
|
| постоянный участник
|
Пост N: 4775
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.03.16 21:36. Заголовок: PSP пишет: Если он..
PSP пишет: цитата: | Если он небольшой, - нет проблем. |
| Пока небольшой... Потом посмотрим... Пробовал на 4 тыс.записей - размер файла 300 Кбайт. Я в Лето пробовал, до 1.5 Мб - нормально считывает. А какой предел размера считывания - я не знаю...
|
|
|
|