On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
Dima
администратор




Пост N: 2728
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.03.13 11:27. Заголовок: Leto DB Server (продолжение 9)


Продолжаем тут

Спасибо: 0 
Профиль
Ответов - 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
Надо подождать... :)

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 2920
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.04.13 17:37. Заголовок: PSP пишет: Думаю, П..


PSP пишет:

 цитата:
Думаю, Павел научит Leto_File() учитывать SET PATH TO


;)
Еще и эти тоже LETO_FERASE , LETO_FRENAME

Спасибо: 0 
Профиль
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

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 2921
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.04.13 18:19. Заголовок: Pasha пишет: исполь..


Pasha пишет:

 цитата:
использовать функцию
UDF_FilesExist


Вот так ?
leto_udf("UDF_FilesExist",pathleto+"\dbf\","test.dbf")


Спасибо: 0 
Профиль
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", ...})

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 860
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 03.04.13 20:01. Заголовок: Pasha пишет: Но зам..


Pasha пишет:

 цитата:
Но заметил, что программа вдруг начинает работать необьяснимо медленно. Выяснилось, что обычные файловые функции вроде File(), тоже использующие set path, резко замедляют свою работу, так как по set path начинают искать в сети файл, а этого ресурса то нет. В set path же есть строка вроде //server:2812/path


Кажись, припоминаю... Вроде была об этом речь. Забылось, конечно, за давностью так сказать... :)

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 2922
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.04.13 21:02. Заголовок: PSP пишет: Забылось..


PSP пишет:

 цитата:
Забылось, конечно, за давностью так сказать...


Давно Leto юзаешь ?

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 861
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 03.04.13 21:52. Заголовок: Чуть больше двух лет..


Чуть больше двух лет.

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 2923
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.04.13 22:30. Заголовок: PSP пишет: Чуть бол..


PSP пишет:

 цитата:
Чуть больше двух лет.


Спишь спокойно ? ;)
Я когда на ADS+Clipper перелез стал спать спокойно. Ночные звонки прекратились.
С Leto так же ?

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 863
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 03.04.13 22:34. Заголовок: Ни разу с сервером н..


Ни разу с сервером никаких проблем не было. Сервер на ВинХР Проф, шуршит сам по себе, доступ к нему ограничен. Все нормально. :)

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 2924
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 03.04.13 22:39. Заголовок: PSP :sm52: Понял ..


PSP

Понял , переделываю дальше свою прогу.

PS
3 дня убил на перевод с Clipper+ADS на Harbour-ADS (12 часов в сутки пахал) и 3 недели на оптимизацию отчетов и фильтров.
Теперь новый этап -> LetoDB. Переделаю , отпишу.

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 864
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 03.04.13 22:42. Заголовок: Удачи! :)..


Удачи! :)

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 2925
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.13 10:32. Заголовок: Pasha Ты уверен что..


Pasha
Ты уверен что переменные созданные юзером при выходе из программы + LETO_DISCONNECT() убиваются ?
Кажется это не так.

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 2927
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.13 12:17. Заголовок: Установка set autope..


Установка set autopen off вообще работает для Leto ? Похоже нет.
Что делать ?

Спасибо: 0 
Профиль
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-м запуске переменной не будет.


Спасибо: 0 
Профиль
Dima
администратор




Пост N: 2928
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 04.04.13 13:53. Заголовок: Pasha пишет: LETO_V..


Pasha пишет:

 цитата:
LETO_VCREAT+LETO_VOWN


Упс не знал что можно так , попробую. Спасибо.

Установка 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")



Спасибо: 0 
Профиль
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

и анализовать лог на сервере. В нем будут пакеты, которые идут с клиента.

Спасибо: 0 
Профиль
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)

Спасибо: 0 
Профиль
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 ?

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 2823
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 04.04.13 15:11. Заголовок: Dima пишет: Об этой..


Dima пишет:

 цитата:
Об этой функции ты говоришь LETO_SETSKIPBUFFER ?



да

Спасибо: 0 
Профиль
Ответов - 301 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 264
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет