My Octopress Blog

A blogging framework for hackers.

如何运行应用

在sql命令行中

创建2个新用户,east和etl密码是east和etl

create user east identified by east;
create user etl identified by etl;

赋予dba权限

grant dba to east;
grant dba to etl;
在命令行中

导入数据

imp east/east@localhost/xe fromuser=east touser=east log=no file=(dmp的路径)/east.dmp
imp etl/etl@localhost/xe fromuser=etl touser=etl  log=no file=(dmp的路径)/etl.dmp
报错:ora-12899

在插入数据库的时候报错

IMP-00019: 由于 ORACLE 错误 12899 而拒绝行
IMP-00003: 遇到 ORACLE 错误 12899
ORA-12899: 列 "JACKEYJ"."JK_REGISTER"."OPNAME" 的值太大 (实际值: 21, 最大值: 20)

原因是数据库的字库问题,更换字库后解决,参考http://blog.chinaunix.net/uid-10951-id-1762312.html ,在sql命令行中输入

SHUTDOWN IMMEDIATE 
STARTUP MOUNT
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
SHUTDOWN IMMEDIATE
STARTUP

重新插入即可

在fitetl程序中

修改com.fitech.model.etl. service.hsyh.FitechRpt.etl.sysLog.properties 修改db_url=east/east@xe 修改server_ip=localhost 修改server_port=1521

修改applicationContext.xml image image 共有2段,将192.168.0.89:1521:orcl修改为localhost:1521:xe

修改com.fitech.model.etl.service.hsyh.ExportData.java 此为主方法, 修改任务id,修改为vo.setTaskId(61); 修改日期,修改为vo.setTaskTerm(“2014-12-31”);

运行后无报文生成

原因是base_rpt_info表中有一行多余数据。打开east.base_rpt_info这张表,找到rpt_name为交易流水的行,有2行,把其中base_rpt_id为yjbz_00701的那行,也就是上面一行,删了。

运行结果

成功,大约19分钟。