Sql import json

Материал из Eludia
Перейти к: навигация, поиск

Описание

Импортирует в БД данные, подготовленные sql_export_json. Если очередная строка входного потока не является JSON-массивом, исполняет её как SQL.

Строки, описывающие структуру таблиц, обрабатываются процедурой sql_import_json так же, как описание схемы данныхобработчиком запросов.

Строки, описывающие данные, накапливаются в буфере по 100 штук, после чего синхронизируются с содержимым таблицы (по полю id) при помощи wish table_data.

Синопсис (Perl5)

	### см. пример для sql_export_json
		
	lrt_start ();
	
	lrt_print ('Чтение файла...');
	
	my $file = upload_file ({
		name     => 'file',
		dir		 => 'images'
	});

	lrt_println ('Распаковка файла...');
	
	require Compress::Zlib;

	my $gz = Compress::Zlib::gzopen ($file -> {real_path}, "rb");
	
	my $fn = $file -> {real_path} . 'ungz';

	open (F, ">$fn");
	
	my $n = 0;
	
	while ($gz -> gzreadline ($_) > 0) {print F; ++ $n};

	close F;

	my $nn = 0;

	lrt_println ('Импорт данных...');

	open (F, $fn);

	sql_import_json (F, sub {++ $nn % 100 or lrt_println (" $nn строк из $n...")});
	
	close F;

	lrt_finish ('Процесс завершён', "...");
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Разработчику
Администратору
Инструменты