`
sunxuecheng
  • 浏览: 24961 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

sql上报数据2

阅读更多
/**
     * 初始化入库文件的数据库相关信息
     * @param fileName
     * @param dbInfo
     */
    public SqlLoad(String fileName, DBInfo dbInfo, String loadDirectory)
    {
        this.fileName = fileName;

        // 配置数据库相关信息
        dbType = dbInfo.getDbType();
        host = DasUtil.longToIP(dbInfo.getIp());
        db = dbInfo.getSchema();
        uName = dbInfo.getUserName();
        passwd = dbInfo.getPassword();

        // 生成的load文件目录
        sqlLoadDirectory = loadDirectory;
    }

    /**
     * 上报数据
     *
     * @return
     */
    public boolean sqlldr(AbstractSqlLoad oracleSqlload)
    {
        // 定义处理状态
        boolean result = false;

        // 如果dbType是RptConstants.DB_TYPE_MYSQL ,数据库类型是MySQL
        if (dbType == DasConstants.DB_TYPE_MYSQL)
        {
            MySQLSqlLoad sqlload = new MySQLSqlLoad();

            // 设置相关参数
            sqlload.setDataBase(db);
            sqlload.setHost(host);
            sqlload.setPassword(passwd);
            sqlload.setUser(uName);
            sqlload.setHome(DASProperties.getMysql_home());

            try
            {
                sqlload.setFilenameAndTable(getSqlLoadDirectory(), fileName,
                        fileName.substring(fileName.indexOf("_") + 1, fileName
                                .lastIndexOf(".")));
            }
            catch (IOException e)
            {
                logger.error(e.getMessage(), e);
            }

            // SQLLOAD 加载
            try
            {
                result = sqlload.preform();
            }
            catch (Throwable e)
            {
                logger.error("Mysql sqlload datafile failed.", e);

            }

            // 判断load子进程是否挂死或超时
            if (sqlload.isTimeOut())
            {
                throw new IllegalThreadStateException(
                        "The mysql sqlldr prcess is not determined!");
            }
        }
        // 如果dbType是RptConstants.DB_TYPE_ORACLE,数据库类型是ORACLE
        else if (dbType == DasConstants.DB_TYPE_ORACLE)
        {
            try
            {
                String tabName = fileName.substring(fileName.indexOf("_") + 1,
                        fileName.lastIndexOf(DasConstants.TXT_FIILE_SUFFIX));
                String path = new File(getSqlLoadDirectory(), fileName)
                        .getPath();

                // 在linux服务器下使用oracle oci实现的jni sqlldr。
                if (oracleSqlload.isLinux())
                {
                    result = ociSqlldr(path, oracleSqlload);
                }
                // 其它操作系统使用oracle sqlldr工具进行load数据。
                else
                {
                    result = oracleSqlldr(tabName, path, oracleSqlload);
                }
            }
            catch (Throwable e)
            {
                logger
                        .error("Sqlload datafile " + this.fileName + " failed",
                                e);
            }
        }
        /* 返回处理状态 */
        return result;
    }
分享到:
评论

相关推荐

    SQL Server数据库远程数据上报策略及应用研究.pdf

    SQL Server数据库远程数据上报策略及应用研究 本文主要介绍了SQL Server数据库远程数据上报策略及其应用研究,着重阐述了该技术的要点。该技术是基于《山西省养路费征收IC卡网络管理系统》的开发经验,旨在解决远程...

    SQL查询在高校就业签约数据上报中的应用.pdf

    "SQL查询在高校就业签约数据上报中的应用" 本文旨在探讨 SQL 查询技术在高校毕业生就业签约数据上报工作中的应用。文章首先介绍了 SQL 查询技术的特点,即高效、易修改、简单易用,能够灵活地从繁重的数据维护和...

    2_甘肃数据上报初始化.sql

    2_甘肃数据上报初始化.sql

    简单数据上报系统asp

    2. **数据上报**:数据上报通常是指从客户端(如网页表单)收集数据,并将其发送到服务器进行处理的过程。在这个系统中,可能通过HTML表单和JavaScript验证用户输入,然后利用ASP的Request对象获取这些数据。 3. **...

    采集设备数据到SQL数据库(PLC+触摸屏)

    IGT-SER系列智能网关模块,支持各种PLC、智能仪表、远程IO与数据库之间双向通讯,既可以读取设备的数据上报到SQL数据库,也可以从数据库查询数据后写入到设备;数据库软件支持MySQL、SQLServer、PostgreSQL。  IGT-...

    Siemens S7 1200 PLC连接SQLSERVER数据库

    为了实现数据的集中管理和分析,有时我们需要将这些控制器的数据与SQL Server数据库进行集成。本篇文章将深入探讨如何将Siemens S7 1200 PLC连接到SQL Server数据库,以便于数据的存储、查询和处理。 首先,理解...

    数据分析插件FineReport上报模板设计

    ### 数据分析插件FineReport上报模板设计 #### 模板设计概述 在现代企业运营过程中,数据成为支撑决策的关键因素之一。为了确保数据的有效性和准确性,FineReport提供了一种高效的数据上报机制,允许不同层级的...

    自动采集系统数据并上报数据中心.zip

    标题“自动采集系统数据并上报数据中心.zip”暗示了一个利用Go编程语言实现的自动化数据采集和上传系统。这个系统设计用于从各个系统或设备中收集数据,并将这些数据发送到一个集中式的数据中心进行分析和存储。Go...

    狂龙自定义数据上报接口V1.0

    自定义数据上报接口顾名思义就是个人可以根据数据上报接口要求书写Sql语句或创建视图植入软件内并自动生成所需的文件进行上报。作者根据多年医疗数据上报接口的开发经验创作了此款以Oracle数据库为主的简单实用的...

    PLC变量配置工具软件-SQL数据库上报与查询的信息化智能网关

    标题中的“PLC变量配置工具软件-SQL数据库上报与查询的信息化智能网关”指的是一个专为自动化控制领域的专业人士设计的软件,它允许用户配置PLC(可编程逻辑控制器)的变量,使其能够与SQL数据库进行高效的数据交换...

    Atlas Spark SQL血缘分析,Hive Hook

    Apache Atlas的Hive Hook是在Hive执行器中插入的一个组件,它能够在Hive操作执行前后捕获元数据变更信息,并将这些信息上报给Atlas。通过这种方式,当Spark SQL通过Hive接口查询或修改数据时,Hive Hook可以记录下...

    基于Node.js平台的Java语言汇总数据上报存储过程设计源码

    该项目是一款基于Node.js平台的Java语言汇总数据上报存储过程设计源码,总计包含268个文件,涵盖129个SQL脚本、66个Markdown文档、27个文本文件、18个JSON文件、8个Java源代码文件、7个XML文件、5个SQL文件、3个PNG...

    CmsEasy crossall_act.php SQL注入漏洞.md

    漏洞产生通常是由于程序员编写了不安全的代码,比如在SQL语句中直接拼接用户输入的数据,未能对输入数据进行严格的过滤和转义,或者未使用参数化查询等安全措施。 3. **漏洞影响范围** 根据文件中描述,CmsEasy V...

    PB 使用sql语句直接生成XML文本

    在标签中提到的“HIS”通常指的是医疗信息系统(Hospital Information System),这暗示了这种XML生成技术可能在医疗领域有实际应用,比如用于数据上报、电子病历交换等。 压缩包内的“sql生成xml”可能是包含具体...

    C#动物疾病上报预警及防控地理信息系统源码数据库 SQL2008源码类型 WebForm

    2、数据分析:包括统计分析、空间分析(区间分析、叠加分析、缓冲区分析), 其中缓冲区保存到数据库,具体看代码。 3、数据统计:包括免疫样品数 免疫样品合格数 免疫样品合格率等统计,可扩展自己的数据。 4...

    IBM的sql开发规范

    2. **编码要求**: - **表名和字段名大写**:这有助于提高代码的可读性,形成统一的代码风格。 - **避免在代码中使用DDL**:直接创建临时表可能导致资源浪费和不易维护,应尽量通过其他方式实现。 - **存储过程内...

    excel 报表上报及统计程序介绍

    (2)MS SQL Server 2000安装/MSDE2000/MS SQL Server 2005/MS SQL Server 2008 3.运行环境 [返回页首] 3.0 安装Excel报表上报&统计系统 要安装Excel报表上报&统计系统,请按照以下各节中的说明执行。 3.1 ...

    数据可视化报表系统源码.zip

    数据可视化报表系统源码,一款数据可视化报表系统,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完成...

    互联网大厂数据产品经理和商业分析面试题汇总.pdf

    数据产品经理需要了解数据上报的流程,包括数据如何从不同来源收集,如何通过ETL(抽取、转换、加载)处理,以及如何分析这些数据来发现用户行为模式和产品问题。 5. 数据报告的撰写 数据报告是将分析结果汇总并以...

    PHP-健康上报系统.zip

    7. **data.sql**:这是一个SQL数据文件,可能包含了初始的数据结构,如创建数据库表,或者预填充的测试数据。用户在安装系统时可能需要导入这个文件来设置数据库。 8. **jb51.net.txt**:这可能是一个记录开发过程...

Global site tag (gtag.js) - Google Analytics