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



Пост N: 14
Зарегистрирован: 10.01.15
ссылка на сообщение  Отправлено: 08.05.16 20:17. Заголовок: LetoDB через интернет


Почему я не могу создать dbf файл на сервере 178.149.57.133:2812?
Я объявил этот сервер должен быть доступен всем через интернет для тестирования.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 20 [только новые]


постоянный участник


Пост N: 1215
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 08.05.16 21:22. Заголовок: Порт открыт, хост от..


Порт открыт, хост отвечает.


Рассказывайте подробнее. На этапе ip:port всё в порядке.

Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 15
Зарегистрирован: 10.01.15
ссылка на сообщение  Отправлено: 08.05.16 22:32. Заголовок: letodb_1.log 08.05...


letodb_1.log

08.05.2016 19:09:58: Error DBFCDX/1001 Open error: /home/digi/databases/fiskal/vlasnik.dbf


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3434
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 09.05.16 08:36. Заголовок: Я подключаюсь к серв..


Я подключаюсь к серверу с помощью dbedit:

dbedit.exe -f -letodb=//178.149.57.133:2812

и вижу 2 файла (по-видимому это папки) Fiskal и sok. Хотя почему-то атрибута "D" - directory нет
Если это *nix, то при создании файла надо учитывать регистр, т.е. создавать файл /Fiskal/vlasnik.dbf, а не /fiskal/vlasnik.dbf
может быть, проблема в этом.

Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4918
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.05.16 14:23. Заголовок: Pasha пишет: Если э..


Pasha пишет:

 цитата:
Если это *nix, то при создании файла надо учитывать регистр



Да, это точно. Я тоже налетал на такую же ошибку.

Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 16
Зарегистрирован: 10.01.15
ссылка на сообщение  Отправлено: 09.05.16 17:18. Заголовок: LetoDB сервер устано..


LetoDB сервер установлен на linux, и поэтому была проблема с маленькой или большой буквы.

Спасибо за помощь.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 17
Зарегистрирован: 10.01.15
ссылка на сообщение  Отправлено: 10.05.16 20:09. Заголовок: Как со стороны клиен..


Как со стороны клиента я могу узнать, является ли LetoDB сервер установлен на linux или на windows?

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3435
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 11.05.16 21:20. Заголовок: digikv пишет: Как ..


digikv пишет:

 цитата:

Как со стороны клиента я могу узнать, является ли LetoDB сервер установлен на linux или на windows?



Увы, средствами letodb сейчас никак

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




Пост N: 4920
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.05.16 15:34. Заголовок: digikv пишет: Как с..


digikv пишет:

 цитата:
Как со стороны клиента я могу узнать, является ли LetoDB сервер установлен на linux или на windows?



Сделай UDF-функцию, которая на сервере запускает команду: ver > ver.txt
А потом анализируй содержимое файла ver.txt на наличие слова "Windows" и узнаешь что на сервере установлено.

Если файл не создаётся, значит - "установлен на linux"

Попробуй тесты https://cloud.mail.ru/public/48Zj/ZDShR5PNj

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 300
Зарегистрирован: 03.12.08
ссылка на сообщение  Отправлено: 13.05.16 12:01. Заголовок: Функция нужная с точ..


Функция нужная с точки зрения получения какой-то информации . Не знаю , зачем Юзеру она может быть полезна ....
Ему до-фени где и как хранится база к которой он имеет доступ .

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


Пост N: 1194
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 13.05.16 17:08. Заголовок: Andrey пишет: Сдела..


Andrey пишет:

 цитата:
Сделай UDF-функцию, которая на сервере запускает команду: ver > ver.txt


Я бы выполнял функцию OS() и возвращал результат

Softlog86 пишет:

 цитата:
Не знаю , зачем Юзеру она может быть полезна ....



Продвинутый Юзер называется Админ, а админам иногда дают порулить серверами

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 18
Зарегистрирован: 10.01.15
ссылка на сообщение  Отправлено: 15.05.16 08:24. Заголовок: Softlog86 пишет: Не..


Softlog86 пишет:

 цитата:
Не знаю , зачем Юзеру она может быть полезна ....


Я хочу, чтобы создать новые индексы. Сначала нужно удалить старые (использую RUN del *.cdx для windows или RUN rm *.cdx для linux).
Есть еще примеры.

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




Пост N: 4924
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 15.05.16 10:00. Заголовок: digikv пишет: Я хоч..


digikv пишет:

 цитата:
Я хочу, чтобы создать новые индексы. Сначала нужно удалить старые (использую RUN del *.cdx для windows или RUN rm *.cdx для linux).


Для этого (удаления) есть команды: FileDelete(), FErase()
#include "Directry.ch"

PROCEDURE Main
LOCAL aCdxFiles := Directory( "*.CDX" )

AEval( aCdxFiles, { |aFile| FErase( aFile[ F_NAME ] ) } )
RETURN


Для Leto есть специальная команда:
LETO_FERASE( cFileName ) --> -1 при неудаче

Смотри документацию по Leto - Readme.txt

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 186
Зарегистрирован: 21.04.13
ссылка на сообщение  Отправлено: 15.05.16 10:59. Заголовок: Как удалять индексы..


Przemek рекомендует использовать hb_dbDrop(..) вместо файловых функций
click here
тут
= = =
Using generic file io functions to delete index files is not
good idea for portable programs. If you know table name then
use:
hb_dbDrop( cTablePathName, cIndexPathName )
If you do not know table name then use:
hb_dbDrop( , cIndexPathName )
...




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


Пост N: 1195
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 15.05.16 12:59. Заголовок: petr707 пишет: Prze..


petr707 пишет:

 цитата:
Przemek рекомендует



И еще м.б. полезной рекомендация


 цитата:
The indexes are slightly smaller and faster, i.e. add to your code:
hb_rddInfo( RDDI_INDEXPAGESIZE, 1024, "DBFCDX" )
Old indexes will work without any problems but after reindex new
ones are created which are not backward compatible so if you would
want to make program downgrade to version compiled by old Harbour
you will have to create new indexes.



Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3441
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 16.05.16 19:05. Заголовок: Добавил функцию OS()..


Добавил функцию OS() на сервере.
Получить платформу версию сервера можно вызовом leto_UDF("OS")

Спасибо: 1 
ПрофильЦитата Ответить



Пост N: 19
Зарегистрирован: 10.01.15
ссылка на сообщение  Отправлено: 16.05.16 22:14. Заголовок: leto_groupby


leto_groupby не очень хорошо работает с параметром scopetop и scopebottom
Пример:
 
Procedure Main()
REQUEST LETO
RDDSETDEFAULT( "LETO" )
SET DATE FORMAT "DD.MM.YYYY"
set deleted on

_cPath := "//digikv.dynu.com:2812/sokdoo/"
IF leto_Connect(_cPath)==-1
Alert("NIJE USPOSTAVLJENA VEZA SA SERVEROM LetoDB")
QUIT
ENDIF
USE (_cPath+"robno.dbf") INDEX (_cPath+"robno.cdx") NEW ALIAS robno
Robno->( ordSetFocus('PoMagacinima') )
aArr := Robno->( leto_GroupBy( "sifra", "ulaz, izlaz", , STR( 1, 3 ), STR( 1, 3 )+DTOS(CTOD("31.01.2015")) ) )
ASort( aArr,,, {| x, y | x[ 1 ] < y[ 1 ] } )
? hb_valtoexp( aArr )
RETURN

Члены матрицы с первым элементом 239 и 533 не должны быть в этой матрице

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 20
Зарегистрирован: 10.01.15
ссылка на сообщение  Отправлено: 16.05.16 22:25. Заголовок: Я сделал свою функци..


Я сделал свою функцию, которая работает для rddcdx и тогда все ОК
 
FUNCTION RDD_GROUPBY( cGroup, cFields, cFilter, xScopeTop, xScopeBottom )
LOCAL aResult := {}
LOCAL aFields := hb_RegexSplit( ",", cFields )
LOCAL bFilter := IIF( hb_isstring(cFilter), hb_macroblock( cFilter ), NIL )
LOCAL aBlocks := ARRAY( LEN( aFields ) )
LOCAL bBlock := FieldBlock(cGroup)
LOCAL aTemp := ARRAY( LEN( aFields ) + 1 )
aFILL( aTemp, 0 )
aEVAL( aFields, { |cValue, nIndex| aBlocks[nIndex] := IIF(cValue=="#", {|| 1}, FieldBlock( cValue )) } )
IF !hb_isnil( xScopeTop ); ordScope( 0, xScopeTop ); ENDIF
IF !hb_isnil( xScopeBottom ); ordScope( 1, xScopeBottom ); ENDIF
dbEval( { || ( ;
nPos := aSCAN(aResult, {|aVal| aVal[1] == EVAL(bBlock)}), ;
IIF( nPos==0, ( aADD( aResult, aCLONE(aTemp) ), nPos := LEN( aResult ), aResult[nPos,1] := EVAL(bBlock) ), NIL ), ;
aEVAL( aBlocks, { |bValue, nIndex| aResult[nPos,nIndex+1] += EVAL( bValue ) } ) ) }, bFilter )
IF !hb_isnil( xScopeTop ); ordScope( 0, NIL ); ENDIF
IF !hb_isnil( xScopeBottom ); ordScope( 1, NIL ); ENDIF
RETURN aResult


Спасибо: 0 
ПрофильЦитата Ответить
администратор




Пост N: 5660
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 16.05.16 23:02. Заголовок: digikv Завернул оба..


digikv
Завернул оба примера в тэг PRE2 , иначе они плохо читаемы.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 3444
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 17.05.16 14:43. Заголовок: Проблема не с leto_g..


Проблема не с leto_groupBy, а с длинным именем индекса.

Если вместо

Robno->( ordSetFocus('PoMagacinima') )

использовать

Robno->( ordSetFocus( 6 ) )

то все работает нормально.
ordSetFocus('PoMagacinima') не находит нужный индекс, поэтому и scope не работает

Спасибо: 1 
ПрофильЦитата Ответить
администратор




Пост N: 5662
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 17.05.16 17:00. Заголовок: digikv пишет: Robno..


digikv пишет:

 цитата:
Robno->( ordSetFocus('PoMagacinima') )


Максимальная длина имени тэга 10 символов (для CDX) , если что.

Спасибо: 1 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 458
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет