百会提供了强大的报表上传工具,提供了在win和linux下面批量上传数据,支持定时传输,以下是实践说明
需求:每天从特定数据库提取数据到百会报表,并在报表中分析数据
环境:LAMP,并且特定数据库数据敏感,不可以直接对接百会报表
分析:根据需求,每天等于批量生成当天数据,等于是按天的增量备份数据
方案:
1,建立一个数据库连接,读取该备份数据库数据
2,通过php文件机制,把读取的数据生成CSV文件
3,生成的文件通过uploadtool上传百会报表
4,在linux建立定时任务,执行生成文件,上传文件任务
以下详细说明
1,在php编写脚本,一个读建立据库连接,一个取数数据并形成array
$host = "localhost"; //数据库服务器
$user = "test"; //数据库用户名
$password = " test "; //数据库密码
$db = "user"; //数据库名称
2,连接成功后,读取数据
while($value = mysql_fetch_array($query,MYSQL_ASSOC)){
$result[] = $value;
}
然后生成文件
$fp = fopen('file.csv', 'w');
$head_title=array('id','name');
fputcsv($fp,$head_title);//生成报表头,
foreach ($param as $line) {
fputcsv($fp, $line);
}
fclose($fp);
3,配置和部署百会报表上传工具,具体说明参考
http://reports.wiki.baihui.com/Upload-Tool.html
这个配置好以后,基本在本机测试环境(windows+wamp+uploadtool)很快就成功了
但是注意,在linux环境下,涉及到代码执行权限,lib目录下面mysql-connector-java-3.0.17-ga-bin版本,以及参数设置,都要细心按照要求填写,确保正确,因为我是增量备份,使用了APPEND方式进行追加数据模式
配置好以后却不能运行,多次报错,提示javasourse找不到,后来把对应的jre目录权限改为可读,依然没有反应,经过仔细分析,是bin下面CSVUploadConsole.sh文件执行时候,必须在后面追加参数,类似
系统会提示文件上载成功,至此,成功曙光出现一半
4,写shell脚本定时执行,第一个是执行php生成文件脚本
但是笔者采用了另外的方式
1)Linux下必须编译安装PHP解释器,在安装完成后,要将安装目录下${PHP}/bin/php 文件复制到
/usr/bin/下,并使用chmod +x ./php 为其添加可执行权限,ok了,
然后在linux命令行下输入:php -q *.php
执行一个php程序,以验证是否解释器工作正常
2)发布php文件:将编写好的php程序发布到apache的发布目录:如:/var/www/html下
加权限:chmod +x /var/www/html/*.php
3)创建定时任务:
(-1)启动linux定时服务:service crond start
(-2)查看当前定时任务: crontab -l
(-3)添加新定时任务:crontab -e
在打开的文件中编辑:
*/2 * * * * /usr/bin/php -f  /var/www/html/*.php
表示每2分钟执行一次/var/www/html/*.php文件
(注: -f 很重要,不能修改成 -q )
经过测试,php解析器能良好解析我的读库生成文件脚本,并实际生成该文件
最后就是设定上传路径和参数,参考说明3
至此,一个在php中读取的第三方库,经过程序和报表的结合,实现了客户预期
需要示例代码请联系qing.xia@pcstars.com夏生

通过本地上传工具把CSV文件导入到百会报表相关推荐

  1. java如何处理csv文件上传_java处理csv文件上传示例

    前言:示例只是做了一个最最基础的上传csv的示例,如果要引用到代码中去,还需要根据自己的业务自行添加一些逻辑处理. ReadCsvUtil工具类 package com.hanfengyeqiao.g ...

  2. java上传csv文件上传_java处理csv文件上传示例详解

    前言:示例只是做了一个最最基础的上传csv的示例,如果要引用到代码中去,还需要根据自己的业务自行添加一些逻辑处理. readcsvutil工具类 package com.hanfengyeqiao.g ...

  3. 使用Vue+go实现前后端文件的上传下载,csv文件上传下载可直接照搬

    直接上代码,就是固定用法,只需改动接口等一些信息就可以.这里顺带也把token带过去了, vue前端 //页面代码,使用的是vue ant,每个框架都可以实现,详情请看自己使用框架的wiki<a ...

  4. 阿里云文件上传工具类

    文件实体类 @Data public class UploadFile {private String fileName;private String fileType;private long fi ...

  5. js文件 本地 上传服务器地址,js 本地文件同步服务器地址

    js 本地文件同步服务器地址 内容精选 换一换 用户可以将本地NAS存储中的数据,通过云专线迁移至云上SFS Turbo文件系统中,进行云上业务拓展.此方案通过在云上创建一台Linux操作系统的云服务 ...

  6. 基于腾讯COS对象存储SDK使用Python编写的文件上传工具第二版

    更多技术文章请访问我的个人博客http://www.rain1024.com NR-TCloud 1.1,更新于2017-02-08 更新说明: 第一版上传时需要将upload.pyc复制到要上传对象 ...

  7. Linux文件上传工具下载工具及详细使用说明

    对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令.今天,我们 ...

  8. 十个非常好用的文件上传工具(插件)

    概述:下面列举了十个非常好用的文件上传工具,它们有些是针对jQuery的插件,有些是Ajax文件上传插件,还有支持多文件和大文件的批量上传工具. 根据维基百科的定义,文件上传是将本地的数据传送到远程系 ...

  9. es+ftp服务器传文件怎么那么慢,es本地上传文件ftp服务器

    es本地上传文件ftp服务器 内容精选 换一换 上传的文件和上传的文件夹中包含的文件支持的格式请参见支持的文件格式.文件上传:从本地上传:在Projects Explorer视图中选中一个文件夹,依次 ...

  10. 若依-vue图片上传本地改OSS前台以及后台-附带oss图片上传工具类

    阿丹: 在二次开发若依的过程中发现若依的图片上传的默认的是在本地,在spring-vue版本中,如果要将平台上线那么就需要考虑这个问题,要使用fastdfs或者oss来完成代替本地的图片上传. 本篇文 ...

最新文章

  1. 微软新作,ImageBERT虽好,千万级数据集才是亮点
  2. 刷脸支付弊端举例_刷脸支付的优势和弊端,你都知道?
  3. 初识莫队——小Z的袜子
  4. 在多种浏览器中嵌入Applet
  5. [JavaWeb-HTML]HTML标签_链接标签
  6. TPLink 备份文件bin文件解析
  7. Java中BufferedReader和InputStreamReader
  8. 分布式事务的特征、原理、以及常见3种解决方案
  9. Python安装扩展库与打包成exe可执行文件的方法
  10. Use mingw on windows
  11. 使用 JNA 模拟C语言结构体的完整源代码
  12. 746. Min Cost Climbing Stairs
  13. linux拷贝文件后几百行,我 的 一 些 练 习 题
  14. C/C++中深浅拷贝(map、vector)与内存释放
  15. python linux 上 RS485通信 Modbus协议
  16. 输入一个整数n,按要求生成一个n*n的蛇形矩阵
  17. Python学的好,工作不愁找
  18. Shell脚本交互:自动输入密码
  19. Jmeter使用及压测
  20. JetBrains PyCharm 设置显示行号

热门文章

  1. Hoverfly - 微服务虚拟化示例
  2. 【Navicat】Navicat:Navicat 导出数据库表为 EXCEL 格式、设计优化数据字典 EXCEL 模板
  3. Schlumberger.SPAN.Rock.v9.1.5 1CD跨度岩石强调岩石射孔分析软件
  4. maven项目关于ojdbc14依赖配置
  5. 大数据量JSONObject.fromObject性能问题(大数据传给前台)
  6. SQL 2000质疑修复
  7. VSDX Annotator for mac(Visio 绘图工具)
  8. javascript(JS)混淆工具
  9. java jsonp网络爬虫_JSOUP 爬虫
  10. 2021靠谱的IT培训机构排名重磅来袭!