项目目标
熟练使用shell,数据库,简单的帆软报表制作
项目要求
通过对数据库的中某个业务,不断进行数据治理,获得最终结果,并从帆软报表展示为柱状图
配置管理
svn服务器
http://192.168.10.14:8089/svn/bd2024/trunk/finereport
finereport:
- sql
- shell
- README
oracle服务器地址
测试环境
123456@192.168.10.7"">bd2024test/123456@192.168.10.7/xe
开发环境
123456@192.168.10.7"">bd2024dev/123456@192.168.10.7/xe
生产环境
123456@192.168.10.7"">bd2024prod/123456@192.168.10.7/xe
创建用户
create user bd2024test identified by 123456;
grant connect,resource to bd2024test;
create user bd2024dev identified by 123456;
grant connect,resource to bd2024dev;
create user bd2024prod identified by 123456;
grant connect,resource to bd2024prod;
数据库结构
和dalian01的订单表一样
帆软报表
做成柱状图,显示订单数为前10的客户,
分类: 客户
系列: 运货商
分值: 订单量
数据更新速度
系统每5分钟支插入100条订单数据。
SQL: 使用Insert into, random 函数进行插入
crontab:
开发环境
测试环境 魏启明
- 配置好账户,oracle账户
- linux 的服务器为192.168.10.71
生产环境 zeen
严老师: 生产bd2024source 5分钟生成100个新订单。
shell代码
# 文件名称 gen_order.sh
export NLS_LANG=American_America.AL32UTF8
sqlplus -S system/oracle@192.168.10.7:1521/xe <<EOF
INSERT INTO BD2024SOURCE.ORDERS o2
SELECT * FROM (
SELECT
(
CAST(
DBMS_RANDOM.value (
(SELECT max(订单ID) FROM BD2024SOURCE.ORDERS o ),
(SELECT max(订单ID) FROM BD2024SOURCE.ORDERS o )+1000
)
AS number(10)
)
) 订单ID ,
(
SELECT 客户ID
FROM (
SELECT 客户ID
FROM dalian01.客户
ORDER BY DBMS_RANDOM.RANDOM()
) t
WHERE ROWNUM = 1 AND DBMS_RANDOM.RANDOM()>0
) 客户ID ,
(
SELECT 雇员ID
FROM (
SELECT 雇员ID
FROM dalian01.雇员
ORDER BY DBMS_RANDOM.RANDOM()
) t
WHERE ROWNUM = 1
) 雇ID,
(
sysdate - DBMS_RANDOM.VALUE(1000,4000)
) 订购日期 ,
(
sysdate - DBMS_RANDOM.VALUE(1000,4000)
) 到货日期 ,
(
sysdate - DBMS_RANDOM.VALUE(1000,4000)
) 发货日期 ,
(
CAST ( DBMS_RANDOM.VALUE(1,4) AS number(3) ) - 1
) 运货商ID ,
'9' 运货费 ,
'' 货主名称,
'' 货主地址,
'' 货主城市,
'' 货主地区,
'' 货主邮政编码,
'中国' 货主国家,
'' 是否已付,
'' 货主省份,
'0' 应付金额,
'0' 是否达标,
'1' 不达标
FROM dual
)t
CONNECT BY LEVEL < 100 ;
EOF
cron
*/5 * * * * /root/bin/gen_order.sh
魏启明: 把我生成数据导入的db2024test用户下
insert into bd2024test.orders s
select * from bd2024soucce bs
where bs.订单ID not in ( select 订单ID from bd2024test )
3-57/5
zeen: 把魏启明生成数据导入的bd2024dev用户下
7-53/5
部署帆软报表
Linux安装帆软服务器
省略将做好的cpt 复制的帆软服务器下
webroot/WEB_INF/reportlets/
并且在帆软服务器上增加数据源,名称和cpt中相同,部署成功
作者:严锋 创建时间:2024-05-05 11:08
最后编辑:严锋 更新时间:2025-05-09 15:48
最后编辑:严锋 更新时间:2025-05-09 15:48