Выгрузка данных в dbf

Больше
01 окт 2012 13:49 #1 от shumamura
COM_KUNENA_MESSAGE_CREATED_NEW
Ситация такая:

После записи данных в dbf командой

{
dbfwrite.i
&Name=dbfname
&Record=wr_str
&Ok=Ok
&Status=stat
&Buffer=mes_buf
}

и при его закрытии через
{
dbfclose.i
&Name=dbfname1
&Ok=Ok1
&Status=Stat1
&Buffer=mes_buf1
}

выдается ошибка - "Ошибка в test.dbf : Файл имеет неверный размер (-103) " ,создается сам файл размером ~7 Mb .
но dbfclose.i не может его закрыть - при повторном запуске процедуры говорит - Ошибка : один dbf-файл уже открыт для записи( - 111)

почему так - не пойму... думать что прогресс не может работать с таблицами таких объемов - как-то даже не серьезно...
может кто подскажет в чем истина? и еще - как поменять кодировку выгружаемых данных?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • alex_sar
  • Посетитель
  • Посетитель
01 окт 2012 23:08 #2 от alex_sar
COM_KUNENA_MESSAGE_REPLIED_NEW
Добрый день.
Скажите пожалуйста, а почему у Вас разные запись и закрытие?
записываете в файл dbfname а закрываете dbfname1 и т.д.
Покажите часть кода если это возможно

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
02 окт 2012 09:58 #3 от shumamura
COM_KUNENA_MESSAGE_REPLIED_NEW

alex_sar пишет: Добрый день.
Скажите пожалуйста, а почему у Вас разные запись и закрытие?
записываете в файл dbfname а закрываете dbfname1 и т.д.
Покажите часть кода если это возможно


да, и вправду тут так. на самом деле я работал с двумя таблицами и видимо не заметил когда писал тут.
а в исходном коде все правильно.
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • alex_sar
  • Посетитель
  • Посетитель
02 окт 2012 14:04 #4 от alex_sar
COM_KUNENA_MESSAGE_REPLIED_NEW
Покажите пожалуйста часть кода.
Как открываете перед записью таблицу, как пишите в нее и как пытаетесь закрыть.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
27 нояб 2012 13:08 #5 от shumamura
COM_KUNENA_MESSAGE_REPLIED_NEW
Описание таблицы
DEF VAR dbfname AS CHAR INIT "trebov.DBF".
DEF VAR fieldlist as char INIT
"numdog:C12,DateLoan:C8,PersonFIO:C90,Address:C150,Datecur:C8,Debt:C13,Maindebt:C13,ProcDebt:C13,TermDebt:C13,DPrDbtSt:D,DPrDbEn:D,FMDebt:C10,FMPrDb:C10".
DEF VAR ok AS LOGICAL NO-UNDO.
DEF VAR stat AS INT64 NO-UNDO.
DEF VAR mes_buf AS CHAR NO-UNDO.
DEF VAR wr_str AS CHAR NO-UNDO.
DEF VAR bdate AS CHAR NO-UNDO.

создание таблицы

{
dbfcreat.i
&Name=dbfname
&Fields=fieldlist
&Ok=ok
&Status=stat
&Buffer=mes_buf
}



процесс записи и за ним процесс закрытия

for each temp.

wr_str = string(temp.nomdog,"x(12)") +
string(temp.datadog) +
string(temp.client,"x(90)") +
string(temp.adres,"x(150)") +
string(vdate) +
string(temp.allzadolzh,'>>>>>>>>>>.99') +
string(temp.ostprossud,'>>>>>>>>>>.99') +
string(temp.proczakred,'>>>>>>>>>>.99') +
string(temp.ostsud,'>>>>>>>>>>.99')
+ '0' + '0' + '0' + '0' .





{dbfwrite.i
&Name=dbfname
&Record=wr_str
&Ok=Ok
&Status=stat
&Buffer=mes_buf
}
end.


{dbfclose.i
&Name=dbfname
&Ok=Ok
&Status=stat
&Buffer=mes_buf
}
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • alex_sar
  • Посетитель
  • Посетитель
28 нояб 2012 22:22 #6 от alex_sar
COM_KUNENA_MESSAGE_REPLIED_NEW
Почему for each завершается точкой, а не двоеточием?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
29 нояб 2012 09:40 #7 от shumamura
COM_KUNENA_MESSAGE_REPLIED_NEW
замена . на : не меняет результат программы
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
30 нояб 2012 15:34 #8 от shumamura
COM_KUNENA_MESSAGE_REPLIED_NEW
проблема уже решена
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • alex_sar
  • Посетитель
  • Посетитель
30 нояб 2012 17:56 #9 от alex_sar
COM_KUNENA_MESSAGE_REPLIED_NEW
В чем оказалась проблема, не поделитесь?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
01 дек 2012 15:46 #10 от shumamura
COM_KUNENA_MESSAGE_REPLIED_NEW
да.проблема была в несоответствии в описании полей таблиц и передаваемых ей данных
Спасибо сказали: alex_sar

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.210 секунд