Автор | Сообщение |
Dima
|
| |
Пост N: 2728
Зарегистрирован: 17.05.05
|
|
Отправлено: 12.03.13 11:27. Заголовок: Leto DB Server (продолжение 9)
Продолжаем тут
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|
PSP
|
| постоянный участник
|
Пост N: 859
Зарегистрирован: 27.01.07
|
|
Отправлено: 03.04.13 17:17. Заголовок: Думаю, Павел научит ..
Думаю, Павел научит Leto_File() учитывать SET PATH TO Надо подождать... :)
|
|
|
Dima
|
| |
Пост N: 2920
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.13 17:37. Заголовок: PSP пишет: Думаю, П..
PSP пишет: цитата: | Думаю, Павел научит Leto_File() учитывать SET PATH TO |
| ;) Еще и эти тоже LETO_FERASE , LETO_FRENAME
|
|
|
Pasha
|
| Администратор
|
Пост N: 2818
Зарегистрирован: 23.05.05
|
|
Отправлено: 03.04.13 18:09. Заголовок: PSP пишет: Думаю, П..
PSP пишет: цитата: | Думаю, Павел научит Leto_File() учитывать SET PATH TO Надо подождать... :) |
| Я специально избегаю в файловых функциях leto использование set path. Когда я в 2008-м только начинал использовать leto, эти настройки учитывал. Но заметил, что программа вдруг начинает работать необьяснимо медленно. Выяснилось, что обычные файловые функции вроде File(), тоже использующие set path, резко замедляют свою работу, так как по set path начинают искать в сети файл, а этого ресурса то нет. В set path же есть строка вроде //server:2812/path Пришлось убрать учет set path. Приходится разделять обычные файловые операции и запросы к letodb. Одна и таже настройка и для первого, и для второго конфликтует между собой. Если надо найти файл (один или несколько) на сервере letodb, который может быть в одной из нескольких папок, можно использовать функцию UDF_FilesExist из модуля letoudf.prg
|
|
|
Dima
|
| |
Пост N: 2921
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.13 18:19. Заголовок: Pasha пишет: исполь..
Pasha пишет: цитата: | использовать функцию UDF_FilesExist |
| Вот так ? leto_udf("UDF_FilesExist",pathleto+"\dbf\","test.dbf")
|
|
|
Pasha
|
| Администратор
|
Пост N: 2819
Зарегистрирован: 23.05.05
|
|
Отправлено: 03.04.13 18:32. Заголовок: Нет, 2-й параметр - ..
Нет, 2-й параметр - массив имен файлов, которые надо проверить И функция возвращает тоже массив, каждый элемент которого - или папка, в которой находится файл, или символ "-", если файл не найден. Одним вызовом можно проверить существование всех файлов БД, индексов, и что там еще надо проверить. т.е leto_udf("UDF_FilesExist",pathleto+"\dbf\"+pathleto+"\dbf2\"+...,{"test.dbf", "test2.dbf", ...})
|
|
|
PSP
|
| постоянный участник
|
Пост N: 860
Зарегистрирован: 27.01.07
|
|
Отправлено: 03.04.13 20:01. Заголовок: Pasha пишет: Но зам..
Pasha пишет: цитата: | Но заметил, что программа вдруг начинает работать необьяснимо медленно. Выяснилось, что обычные файловые функции вроде File(), тоже использующие set path, резко замедляют свою работу, так как по set path начинают искать в сети файл, а этого ресурса то нет. В set path же есть строка вроде //server:2812/path |
| Кажись, припоминаю... Вроде была об этом речь. Забылось, конечно, за давностью так сказать... :)
|
|
|
Dima
|
| |
Пост N: 2922
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.13 21:02. Заголовок: PSP пишет: Забылось..
PSP пишет: цитата: | Забылось, конечно, за давностью так сказать... |
| Давно Leto юзаешь ?
|
|
|
PSP
|
| постоянный участник
|
Пост N: 861
Зарегистрирован: 27.01.07
|
|
Отправлено: 03.04.13 21:52. Заголовок: Чуть больше двух лет..
Чуть больше двух лет.
|
|
|
Dima
|
| |
Пост N: 2923
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.13 22:30. Заголовок: PSP пишет: Чуть бол..
PSP пишет: Спишь спокойно ? ;) Я когда на ADS+Clipper перелез стал спать спокойно. Ночные звонки прекратились. С Leto так же ?
|
|
|
PSP
|
| постоянный участник
|
Пост N: 863
Зарегистрирован: 27.01.07
|
|
Отправлено: 03.04.13 22:34. Заголовок: Ни разу с сервером н..
Ни разу с сервером никаких проблем не было. Сервер на ВинХР Проф, шуршит сам по себе, доступ к нему ограничен. Все нормально. :)
|
|
|
Dima
|
| |
Пост N: 2924
Зарегистрирован: 17.05.05
|
|
Отправлено: 03.04.13 22:39. Заголовок: PSP :sm52: Понял ..
PSP Понял , переделываю дальше свою прогу. PS 3 дня убил на перевод с Clipper+ADS на Harbour-ADS (12 часов в сутки пахал) и 3 недели на оптимизацию отчетов и фильтров. Теперь новый этап -> LetoDB. Переделаю , отпишу.
|
|
|
|
PSP
|
| постоянный участник
|
Пост N: 864
Зарегистрирован: 27.01.07
|
|
Отправлено: 03.04.13 22:42. Заголовок: Удачи! :)..
Удачи! :)
|
|
|
Dima
|
| |
Пост N: 2925
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.04.13 10:32. Заголовок: Pasha Ты уверен что..
Pasha Ты уверен что переменные созданные юзером при выходе из программы + LETO_DISCONNECT() убиваются ? Кажется это не так.
|
|
|
Dima
|
| |
Пост N: 2927
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.04.13 12:17. Заголовок: Установка set autope..
Установка set autopen off вообще работает для Leto ? Похоже нет. Что делать ?
|
|
|
Pasha
|
| Администратор
|
Пост N: 2820
Зарегистрирован: 23.05.05
|
|
Отправлено: 04.04.13 13:43. Заголовок: Dima пишет: Ты увер..
Dima пишет: цитата: | Ты уверен что переменные созданные юзером при выходе из программы + LETO_DISCONNECT() убиваются ? Кажется это не так. |
| Надо создавать переменную с флагом LETO_VOWN, и все будет ок Запусти 2 раза тест: leto_connect(cPath) ? leto_varget('users', 'u3') ? leto_varset('users', 'u3', 1, LETO_VCREAT+LETO_VOWN) ? leto_varget('users', 'u3') wait при 2-м запуске переменной не будет.
|
|
|
Dima
|
| |
Пост N: 2928
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.04.13 13:53. Заголовок: Pasha пишет: LETO_V..
Pasha пишет: Упс не знал что можно так , попробую. Спасибо. Установка Set path на DBCREATE то же не распространяется ? Что бы бровс не тормозил делаю такую установку RddInfo( RDDI_REFRESHCOUNT,.f.,,LETO_GETCURRENTCONNECTION()) но он все равно подтормаживает если сравнивать с обычным DBFCDX без LETO. Что не так делаю ? А как работать с mem: базами ? Падает прога с ошибкой LETO 1004 Базу создаю так kad:="test" dbcreate("mem:"+kad,; {; {"data","d",8,0},; {"nakl","c",100,0},; {"prixs","n",17,2},; {"vozr","n",17,2},; {"p_dok","n",1,0},; {"oplata","n",17,2}},,.t.,"VREMS")
|
|
|
Pasha
|
| Администратор
|
Пост N: 2821
Зарегистрирован: 23.05.05
|
|
Отправлено: 04.04.13 14:36. Заголовок: Наколько я помню, дл..
Наколько я помню, для dbCreate используется set default А насчет бровса, dbfcdx локальный ? Локальный dbfcdx будет быстрее локального letodb, так как в letodb используется дополнительный слой. Но по сети letodb будет быстрее. Для оптимизации бровса в letodb надо еще задать размер skip-буфера по к-ву строк в бровсе. Да и можно проанализировать, насколько оптимизирован letodb: запустить сервер с параметром в letodb.ini Debug=10 и анализовать лог на сервере. В нем будут пакеты, которые идут с клиента.
|
|
|
Pasha
|
| Администратор
|
Пост N: 2822
Зарегистрирован: 23.05.05
|
|
Отправлено: 04.04.13 14:39. Заголовок: Dima пишет: А как р..
Dima пишет: цитата: | А как работать с mem: базами ? Падает прога с ошибкой LETO 1004 Базу создаю так |
| Файл в памяти на клиенте ? Тогда надо его создавать с DBFCDX, а не с letodb: dbcreate("mem:"+kad, aStru, "DBFCDX", .t., cAlias)
|
|
|
Dima
|
| |
Пост N: 2929
Зарегистрирован: 17.05.05
|
|
Отправлено: 04.04.13 14:55. Заголовок: Pasha пишет: Наколь..
Pasha пишет: цитата: | Наколько я помню, для dbCreate используется set default |
| Верно. Мой косяк Pasha пишет: цитата: | Файл в памяти на клиенте ? Тогда надо его создавать с DBFCDX, а не с letodb: |
| И это тоже ;) остался вопрос с Set Autopen off Pasha пишет: цитата: | Для оптимизации бровса в letodb надо еще задать размер skip-буфера по к-ву строк в бровсе |
| Об этой функции ты говоришь LETO_SETSKIPBUFFER ?
|
|
|
Pasha
|
| Администратор
|
Пост N: 2823
Зарегистрирован: 23.05.05
|
|
Отправлено: 04.04.13 15:11. Заголовок: Dima пишет: Об этой..
Dima пишет: цитата: | Об этой функции ты говоришь LETO_SETSKIPBUFFER ? |
| да
|
|
|
Ответов - 301
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
All
[только новые]
|
|