Inserting file data into a database
The following script should be executed in the IBExpert Script Executive or with IBEScript.
set names win1251;
set sql dialect 3;
set clientlib 'C:\Program Files\Firebird\bin\fbclient.dll';
create database 'localhost/3060:D:\allscripts.fdb'
user 'SYSDBA' password 'masterkey'
page_size 8192 default character set WIN1251;
create generator gen_script_id;
create table scripts (
ID INTEGER NOT NULL PRIMARY KEY,
FILENAME VARCHAR(2000),
SCRIPT_TEXT BLOB SUB_TYPE TEXT);
create trigger script_bi for scripts
active before insert position 0
as
begin
if (new.id is null) then
new.id = gen_id(gen_script_id, 1);
end;
execute ibeblock
as
begin
ibec_progress('Searching for script files...');
files_count = ibec_getfiles(files_list, 'D:\', '*.sql',__gfRecursiveSearch + __gfFullName);
if (files_count > 0) then
begin
i = 0;
while (i <= ibec_high(files_list)) do
begin
file_name = files_list[i];
file_size = ibec_filesize(file_name) / 1024 / 1024; -- File size in megabytes
if (file_size < 10) then
begin
script_data = ibec_loadfromfile(file_name);
ibec_progress('Adding script file ' || :file_name);
insert into scripts (filename, script_text) values (:file_name, :script_data);
commit;
end
i = i + 1;
end
end
end;
See also:
ibec_GetFiles
Inserting files into a database
back to top of page
<< Inserting files into a database | IBEBlock | Importing data from a CSV file >>







