oracle 表头导入,可自由配置excel表头导入: 第一可以根据数据库表字段自由灵活在web页面配置需要导入对应的字段,自动对应数据将excel文件数据导入数据库,可根据excel文件表头创建数据...

可自由配置excel表头导入

介绍

可以根据数据库表字段自由灵活在web页面配置需要导入对应的字段,自动对应数据将excel文件数据导入数据库,可根据excel文件表头创建数据库表,前端使用bootstrap、及bootstrap-table

效果图:

24015735ebbb1ed9f5ee23a573b4e15e.png

sql基本任务调度功能脚本如下:

本导入功能首次使用需要在数据库创建存储表信息,在表中添加需要导入的数据库表,sql如下

-- Create table

create table USER_TABLE_INFO

(

id VARCHAR2(200) not null,

table_name VARCHAR2(200),

table_type VARCHAR2(200),

comments VARCHAR2(2000)

)

tablespace ZJFX

pctfree 10

initrans 1

maxtrans 255

storage

(

initial 64K

next 1M

minextents 1

maxextents unlimited

);

-- Add comments to the table

comment on table USER_TABLE_INFO

is '用户表信息';

-- Add comments to the columns

comment on column USER_TABLE_INFO.id

is 'ID';

comment on column USER_TABLE_INFO.table_name

is '表名';

comment on column USER_TABLE_INFO.table_type

is '类型 需要导入的表类型配置为1';

comment on column USER_TABLE_INFO.comments

is '中文名(注释)';

-- Create/Recreate primary, unique and foreign key constraints

alter table USER_TABLE_INFO

add constraint ID primary key (ID)

using index

tablespace ZJFX

pctfree 10

initrans 2

maxtrans 255

storage

(

initial 64K

next 1M

minextents 1

maxextents unlimited

);

注意事项:0.配置表信息必须配置table_type字段值为'1'。

1.如果表建有主键,则自动识别主键,并插入id。

2.如果表中需要增加 录入人账号、录入人名称、本地入库时间、数据来源、有效性、导入批次 字段时,字段名可以任取,字段注释必须要且与前面列出的中文名一致。

3.导入列表显示名称基于表字段注释,当没有注释时显示为字段名。

4.页面配置表头时,首先下拉框选择要查询的表,加载出数据库表字段中文名(基于字段注释),然后选择需要导入的excel文件,确认读取文件后此时读取到excel表头中文名,

配置需要导入到相应数据库表字段时,首先单击数据库字段中文名选中(再次单击取消)然后再单击excel表头对应字段(再次单击取消),然后确认导入即可。

5.导入数据后支持全字段模糊匹配查询表数据,将匹配的数据全部列出。

----------------------------创建web建表配置表sql-----------------------------------

drop table FIELD_PROPERTY_INFO_TB cascade constraints;

/==============================================================/

/* Table: FIELD_PROPERTY_INFO_TB /

/==============================================================*/

-- Create table

create table FIELD_PROPERTY_INFO_TB

(

table_name VARCHAR2(200),

table_china_name VARCHAR2(200),

own_tablespace VARCHAR2(200),

field_name VARCHAR2(200),

field_china_name VARCHAR2(200),

field_type VARCHAR2(200),

field_lenth VARCHAR2(200),

isnull VARCHAR2(200),

is_pk VARCHAR2(200),

is_index VARCHAR2(200),

id VARCHAR2(200) not null,

field_order VARCHAR2(200),

field_kind VARCHAR2(200),

state VARCHAR2(200),

create_time DATE

)

tablespace ZJFX

pctfree 10

initrans 1

maxtrans 255

storage

(

initial 64K

next 1M

minextents 1

maxextents unlimited

);

-- Add comments to the table

comment on table FIELD_PROPERTY_INFO_TB

is '字段与属性信息表';

-- Add comments to the columns

comment on column FIELD_PROPERTY_INFO_TB.table_name

is '表名';

comment on column FIELD_PROPERTY_INFO_TB.table_china_name

is '表中文名';

comment on column FIELD_PROPERTY_INFO_TB.own_tablespace

is '所属表空间';

comment on column FIELD_PROPERTY_INFO_TB.field_name

is '字段名';

comment on column FIELD_PROPERTY_INFO_TB.field_china_name

is '字段中文名';

comment on column FIELD_PROPERTY_INFO_TB.field_type

is '字段类型';

comment on column FIELD_PROPERTY_INFO_TB.field_lenth

is '字段长度';

comment on column FIELD_PROPERTY_INFO_TB.isnull

is '是否为空';

comment on column FIELD_PROPERTY_INFO_TB.is_pk

is '是否为主键';

comment on column FIELD_PROPERTY_INFO_TB.is_index

is '是否为索引';

comment on column FIELD_PROPERTY_INFO_TB.id

is '主键';

comment on column FIELD_PROPERTY_INFO_TB.field_order

is '字段顺序';

comment on column FIELD_PROPERTY_INFO_TB.field_kind

is '字段种类';

comment on column FIELD_PROPERTY_INFO_TB.state

is '状态';

comment on column FIELD_PROPERTY_INFO_TB.create_time

is '创建时间';

-- Create/Recreate indexes

create unique index FIELD_PROPERTY_INFO_TB_PK_ID on FIELD_PROPERTY_INFO_TB (ID)

tablespace ZJFX

pctfree 10

initrans 2

maxtrans 255

storage

(

initial 64K

next 1M

minextents 1

maxextents unlimited

);

create index SUOYIN on FIELD_PROPERTY_INFO_TB (FIELD_NAME)

tablespace ZJFX

pctfree 10

initrans 2

maxtrans 255

storage

(

initial 64K

next 1M

minextents 1

maxextents unlimited

);

-- Create/Recreate primary, unique and foreign key constraints

alter table FIELD_PROPERTY_INFO_TB

add constraint FIELD_PROPERTY_INFO_TB_ID primary key (ID);

drop table SQL_SCRIPT_INFO_TAB cascade constraints;

-- Create table

create table SQL_SCRIPT_INFO_TAB

(

sql_statement VARCHAR2(4000),

task_batch VARCHAR2(200),

statement_order VARCHAR2(200),

is_open_task VARCHAR2(200),

task_schedule VARCHAR2(200),

success_num VARCHAR2(20),

fail_cause VARCHAR2(2000),

task_interval VARCHAR2(20),

task_execution_time DATE,

create_time DATE,

task_type VARCHAR2(200),

task_name VARCHAR2(200),

task_type_name VARCHAR2(200),

statement_rype VARCHAR2(200),

table_name VARCHAR2(200),

table_china_name VARCHAR2(200),

state VARCHAR2(200),

id VARCHAR2(200) not null

)

tablespace ZJFX

pctfree 10

initrans 1

maxtrans 255

storage

(

initial 64K

next 1M

minextents 1

maxextents unlimited

);

-- Add comments to the table

comment on table SQL_SCRIPT_INFO_TAB

is 'SQL脚本信息表';

-- Add comments to the columns

comment on column SQL_SCRIPT_INFO_TAB.sql_statement

is 'SQL语句';

comment on column SQL_SCRIPT_INFO_TAB.task_batch

is '任务批次';

comment on column SQL_SCRIPT_INFO_TAB.statement_order

is '语句排序';

comment on column SQL_SCRIPT_INFO_TAB.is_open_task

is '是否开启任务';

comment on column SQL_SCRIPT_INFO_TAB.task_schedule

is '任务进度';

comment on column SQL_SCRIPT_INFO_TAB.success_num

is '成功次数';

comment on column SQL_SCRIPT_INFO_TAB.fail_cause

is '失败原因';

comment on column SQL_SCRIPT_INFO_TAB.task_interval

is '任务间隔时间(分钟)';

comment on column SQL_SCRIPT_INFO_TAB.task_execution_time

is '任务执行时间';

comment on column SQL_SCRIPT_INFO_TAB.create_time

is '创建时间';

comment on column SQL_SCRIPT_INFO_TAB.task_type

is '任务种类';

comment on column SQL_SCRIPT_INFO_TAB.task_name

is '任务名称';

comment on column SQL_SCRIPT_INFO_TAB.task_type_name

is '任务种类名称';

comment on column SQL_SCRIPT_INFO_TAB.statement_rype

is '语句类型';

comment on column SQL_SCRIPT_INFO_TAB.table_name

is '表名';

comment on column SQL_SCRIPT_INFO_TAB.table_china_name

is '表中文名';

comment on column SQL_SCRIPT_INFO_TAB.state

is '状态';

comment on column SQL_SCRIPT_INFO_TAB.id

is '主键';

-- Create/Recreate primary, unique and foreign key constraints

alter table SQL_SCRIPT_INFO_TAB

add constraint PK_SQL_SCRIPT_INFO_TAB primary key (ID)

using index

tablespace ZJFX

pctfree 10

initrans 2

maxtrans 255

storage

(

initial 64K

next 1M

minextents 1

maxextents unlimited

);

drop table FIELD_PROPERTY_DIC_TAB cascade constraints;

-- Create table

create table FIELD_PROPERTY_DIC_TAB

(

id VARCHAR2(200),

dic_type VARCHAR2(200),

dic_name VARCHAR2(200),

dic_value VARCHAR2(1000),

state CHAR(10),

create_time DATE

)

tablespace ZJFX

pctfree 10

initrans 1

maxtrans 255

storage

(

initial 64K

next 1M

minextents 1

maxextents unlimited

);

-- Add comments to the table

comment on table FIELD_PROPERTY_DIC_TAB

is '字段属性字典表';

-- Add comments to the columns

comment on column FIELD_PROPERTY_DIC_TAB.id

is '主键';

comment on column FIELD_PROPERTY_DIC_TAB.dic_type

is '字典类型';

comment on column FIELD_PROPERTY_DIC_TAB.dic_name

is '字典名称';

comment on column FIELD_PROPERTY_DIC_TAB.dic_value

is '字典值';

comment on column FIELD_PROPERTY_DIC_TAB.state

is '状态';

comment on column FIELD_PROPERTY_DIC_TAB.create_time

is '创建时间';

---------------字典表数据---------------------

insert into field_property_dic_tab (ID, DIC_TYPE, DIC_NAME, DIC_VALUE, STATE, CREATE_TIME)

values ('414e19b8be9a4bb89c777dc2393ae5ae', '1', 'NUMBER', 'NUMBER', '1', to_date('28-05-2020 18:19:31', 'dd-mm-yyyy hh24:mi:ss'));

insert into field_property_dic_tab (ID, DIC_TYPE, DIC_NAME, DIC_VALUE, STATE, CREATE_TIME)

values ('6aca63a7e869428099615f902f38c8ae', '1', 'NCHAR', 'NCHAR', '1', null);

insert into field_property_dic_tab (ID, DIC_TYPE, DIC_NAME, DIC_VALUE, STATE, CREATE_TIME)

values ('0d089ea0ca7349fba789c9ba2ff29004', '1', 'CHAR', 'CHAR', '1', null);

insert into field_property_dic_tab (ID, DIC_TYPE, DIC_NAME, DIC_VALUE, STATE, CREATE_TIME)

values ('441e6040e6c64e6baf1711a9d2c51b20', '1', 'VARCHAR2', 'VARCHAR2', '1', null);

insert into field_property_dic_tab (ID, DIC_TYPE, DIC_NAME, DIC_VALUE, STATE, CREATE_TIME)

values ('2635cee5b79e499aa16e2150ae547420', '1', 'NVARCHAR2', 'NVARCHAR2', '1', null);

insert into field_property_dic_tab (ID, DIC_TYPE, DIC_NAME, DIC_VALUE, STATE, CREATE_TIME)

values ('4c6753da83e643efae53a661b92725bc', '1', 'DATE', 'DATE', '1', null);

insert into field_property_dic_tab (ID, DIC_TYPE, DIC_NAME, DIC_VALUE, STATE, CREATE_TIME)

values ('e26d427f452a47b9aeaeeef6f4b0cd56', '1', 'TIMESTAMP', 'TIMESTAMP', '1', null);

insert into field_property_dic_tab (ID, DIC_TYPE, DIC_NAME, DIC_VALUE, STATE, CREATE_TIME)

values ('384ff71b5fe149669968d8538e8ada0e', '2', '不能为空', 'not null', '1', to_date('26-05-2020 09:01:28', 'dd-mm-yyyy hh24:mi:ss'));

insert into field_property_dic_tab (ID, DIC_TYPE, DIC_NAME, DIC_VALUE, STATE, CREATE_TIME)

values ('c025885b3056492c8ab1186b2a69bc39', '3', 'ZJFX', 'ZJFX', '1', to_date('28-05-2020 10:07:55', 'dd-mm-yyyy hh24:mi:ss'));

--------用户表信息配置-----------------------------------

insert into user_table_info (ID, TABLE_NAME, TABLE_TYPE, COMMENTS)

values ('45ad4be1c28e5800yb752637e3efae43', 'USER_TABLES', '6', '当前用户表名信息');

insert into user_table_info (ID, TABLE_NAME, TABLE_TYPE, COMMENTS)

values ('5', 'FIELD_PROPERTY_INFO_TB', '3', '字段与属性信息表');

insert into user_table_info (ID, TABLE_NAME, TABLE_TYPE, COMMENTS)

values ('7', 'user_tab_comments', '6', '当前用户表信息字典');

insert into user_table_info (ID, TABLE_NAME, TABLE_TYPE, COMMENTS)

values ('10', 'SQL_SCRIPT_INFO_TAB', '4', 'SQL脚本信息表');

insert into user_table_info (ID, TABLE_NAME, TABLE_TYPE, COMMENTS)

values ('11', 'FIELD_PROPERTY_DIC_TAB', '1', '字段属性字典表');

insert into user_table_info (ID, TABLE_NAME, TABLE_TYPE, COMMENTS)

values ('3', 'USER_TABLE_INFO', '5', '存储信息');

----创建表注意事项:

1.根据excel读取表头创建表时,确认读取后列表将展示出所有表头字段的简称、中文字段名、表名简称、中文表名等信息,然后

在保存数据之前,选择所要的表空间,及根据需求修改表字段名后保存数据,再到表选择下拉框选中所保存的表名,然后点击生成表

按钮即可在oracle数据库中创建表。

2.创建表和根据excel创建表时 表名、表中文名、表空间只填写第一行的就可以了,保存后会填充全字段。

------定时执行sql脚本任务的使用

定时任务使用线程池执行任务,任务批次为不同的任务,按批次顺序执行,每个批次包含多个sql任务,按照sql语句排序执行,

有多少个批次的任务则开辟多少条线程,每个线程执行一种任务直至这个任务线上所有脚本任务按顺序执行结束后则关闭线程池,当

某个任务执行超过30分分钟后则立即关闭该线程,然后重新开始任务,执行任务间隔时间可手动设置分钟数,在填写任务列表时表格批次和

每个批次下的语句顺序按照正常顺序填写,是否开启任务中0为不开启1为开启,任务进度中0代表任务还未进行,1代表任务已经开始执行,

2代表任务执行成功,3代表任务执行失败。任务执行失败后可以查看线管失败原因,修改sql脚本再重新保存数据,然后修改任务进度为0,

会自动根据任务间隔时间继续执行任务,区分任务时可以填写任务种类名称和任务批次一致。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值