powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Экспорт данных из cache в dbf файл
18 сообщений из 18, страница 1 из 1
Экспорт данных из cache в dbf файл
    #39718346
druzhok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, пожалуйста, (первый раз работаю с cache) есть данные, хранящиеся в cache мне необходимо создать файл dbf, прочитать данные из cache и записать их в созданный dbf файл. Поиском наткнулся на пост http://www.sql.ru/forum/835244/eksport-dannyh-iz-cache-v-dbf , там есть пример
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
TMPCRT                                 ; * Пример создания файла dbf *
 N
 S dbname=$NA(^F($J,"^dbf","Name"))
 S dbdata=$NA(^F($J,"^dbf","Data"))
 s file="\\ksa\box\tmp.dbf"
 K @dbname
 D TMPNEW
 S dbdev=$$DbOpen(file)
 K @dbdata
 D REPLACE("KFOSB","tmp")
 D REPLACE("SUM",100)
 D DBAPPEND()
 K @dbdata
 D REPLACE("KFOSB","tm1")
 D REPLACE("SUM",200)
 D DBAPPEND()
 C dbdev
 W !!,"Все."
 Q



Вижу разные команды с параметрами, в начале каждой строки одиночные буквы латиницы, как я понимаю тип данных. Подскажите сайт или литературу, где можно почитать как писать программы в cache и где именно нужно писать, и может есть какой-нибудь справочник по командам. Заранее спасибо.
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39718354
drakut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
druzhok,
авторВижу разные команды с параметрами, в начале каждой строки одиночные буквы латиницы, как я понимаю тип данных
Нет, это сокращенный вариант записи команд, например D эквивалентно Do, S эквивалентно Set, K эквивалентно Kill и т.д. по первой букве, но не всех команд. Это стандартная возможность.

Где почитать : начните с основ, https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCOS
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39718360
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39718361
druzhok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
drakut,

спасибо, буду разбираться
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39718411
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все-таки, если у вас 32 битная Каше, я бы вам рекомендовал заполнять этот файл через ODBC.

Либо, как вариант, вообще данные в Каше представить в виде таблицы (очень вероятно, что они уже так преставлены), а программой, понимающей dbf файлы прочитать данные из Каше через ODBC
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39718555
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
druzhok , это мой пример.
Вроде старался максимально показать, дабы и незнающий Каше мог понять и сделать программку по аналогии...
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39718723
druzhok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa druzhok , это мой пример.
Вроде старался максимально показать, дабы и незнающий Каше мог понять и сделать программку по аналогии...

Спасибо. Как я понял из вашего примера, мне для начала нужно создать dbf со своей структурой, потом сделать запрос, чтобы получить resultset (или в cahe это что то другое), а потом уже считывать данные. А какая команда используется чтобы, узнать конец ли данных? Или может есть какая-нибудь команда, которая сразу заносит все данные из выборки в dbf (при условии что dbf создан согласно структуре, которая получилась при запросе)?
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39718795
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
druzhokКак я понял из вашего примера, мне для начала нужно создать dbf со своей структурой, потом сделать запрос, чтобы получить resultset (или в cahe это что то другое), а потом уже считывать данные.
Ты не правильно понял мой пример...
Ты процитировал пример записи 2-х строк в dbf файл. Там есть и его создание, это процедура
Код: javascript
1.
D TMPNEW


Т.о. нет никакого "запроса"... Это пример создания и записи.

druzhokА какая команда используется чтобы, узнать конец ли данных?
Вот пример чтения данных
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
	/// Пример чтения записей
TMPLOAD
	n
	S dbname=$NA(^F($J,"^DFDBF","Name"))
	s file="\\ksa\box\tmp.dbf"
	s file=$$DbOpen(file)
	i file="" w !!,"Проблемы с открытием файла..." q
	f  s val=$$NextRec(file,"drec") q:val=""  d TMPREC
	d DbClose(file)
	q
TMPREC ; показать запись
	w !
	zwrite drec
	h 1
	q


Достижение конца записей определяет процедура
Код: javascript
1.
$$NextRec()


Но у меня не учитывается факт удалена запись или нет... Т.к. мы либо качаем все данные, либо создаем новые с нуля.

druzhokИли может есть какая-нибудь команда, которая сразу заносит все данные из выборки в dbf (при условии что dbf создан согласно структуре, которая получилась при запросе)?
У нас нет такой стандартной процедурки... Но ее всегда можно реализовать, имея тот дефолтный пример, что я выкладывал ранее.

Могу за бабосы выполнить за вас экспорт/импорт данных.
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39718810
druzhok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,
подскажите пожалуйста, может есть команда в cache, чтобы из одного файла скопировать в другой файл? Или может есть команда cache, чтобы запустить командную строку?
Заранее спасибо.
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39718867
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
druzhokчтобы из одного файла скопировать в другой файл?
Есть класс специальный...
https://docs.intersystems.com/cache20152/csp/documatic/%CSP.Documatic.cls
Там есть метод копирования...

druzhokИли может есть команда cache, чтобы запустить командную строку?
И это есть...
https://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?KEY=RCOS_fzf-1
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39718872
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то ссылка на класс не указывает на сам класс.
Код: javascript
1.
%Library.FileBinaryStream
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39718881
druzhok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa, Спасибо большое, буду разбираться
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39718935
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39719682
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefint , еще бы рассказал в чем разница.
Там ведь еще и %Library.File есть...
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39720047
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa, слышал ( запамятовал где ) рекомендацию в последних версиях пользовать пакет %Stream вместо %Library.File*
Отличается, например, этим
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39720055
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс, судя по документации, уже не отличается. Название класса короче? :)
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39720066
doublefint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefint слышал ( запамятовал где ) рекомендацию в последних версиях пользовать пакет %Stream В документации и слышал
Stream class that stores binary data in external files. This class is deprecated in favor of %Stream.FileBinary.
...
Рейтинг: 0 / 0
Экспорт данных из cache в dbf файл
    #39720708
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
doublefint , вот и я теми же "слухами" живу...
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Экспорт данных из cache в dbf файл
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]