zoukankan      html  css  js  c++  java
  • excel中的数据导入oracle方法

    SQL_loader批量上传数据

    1.    注释

    在工作中,很多时候会遇到如下情况:需要将excel中的数据批量上传到ORACLE表中。如果是小数据量,如几十条至几百条,那么用plsql dev工具,在查询命令后加上for update 然后解锁,把数据复制粘贴进去就可以了。

    但如果遇到大数据量几万至几十万时,上述方法就不可行了。

    如下介绍如何使用oracle自带的sqlloader上传数据。

    2.    SQL_LOADER上传数据

    2.1   sql_loader说明

    sql*loader是oracle自带程序。需要上传数据的本机只要安装了oracle数据库或客户端就会自动集成该工具。但是不同的版本对控制文件的写法要求有所不同。具体可参见2.3节或者附件控制文件的内容。

    2.2   编辑数据文件

    要使用sql*loader,其数据文件必须是两种,一种是 *.txt 的文本文件,另一种是 *.csv的文件。例如,需要上传的数据是使用excel编辑的,那么只需要将excel另存为[制表符分割的 txt 文件]或者另存为[逗号分割的csv 文件]即可。如下图:

     

    注意:CSV格式的文件打开后跟excel的样式差不多,但实际存储方式不一样。在磁盘上CSV格式的文件中每个格子中的数据使用逗号分割开存储的。

    这样的存储方式很有用,方面后面写控制文件。控制文件在控制读取数据的时候直接以逗号为标记读取数据。其实,plsql dev在导出文件的时候就可选择存储为csv格式。

    按照以上方法,数据文件就准备好了。

    2.3   编写控制文件

    控制文件其实就是SQL_LOADER上传数据时需要运行的脚本,其后缀名为ctl。控制文件写明了数据文件的位置、加载数据的方式、加载到哪个表、如何读取数据等信息。

    下面是一段简单、完整的控制文件的截图及解释:

     

    load data
    infile 'D:新建文件夹存量zzjgdm.csv'
    append
    into table ZX_QYDJ_CL_ZZJGDM_2017
    (
    ZZJGDM terminated by ',',
    ZCH terminated by ',',
    QYMC terminated by ','
    )

     图注:编写控制文件时用文本文件编写好,修改后缀名为ctl即可。

    2.4   SQL_LOADER导入数据

    制作好了数据文件和控制文件,接下来就是把数据导入oracle表中。

    接下来执行导入命令,如果数据库在本机则可执行:

                       Sqlldr scott/leedb control=c:controlfile.ctl data=c:datafile.csv

    如果是远程数据库,则可执行:

                       Sqlldr scott/leedb@xwdb control=c:controlfile.ctl data=c:datafile.csv

                                                                      或

    Sqlldr scott/leedb@192.168.0.20:1521/xwdb control=c:controlfile.ctl data=c:datafile.csv

                                         (远程地址:端口/实例名称)

                     

        

  • 相关阅读:
    (.*?)懒惰正则
    re.S
    import和from import陷阱一
    import和from import陷阱二
    Linux中查看文件编码
    环境部署策略
    简便删除已经存在的oracle数据库用户UPAY3LINGXI_YS
    ssh连接linux服务器只显示-bash-4.1#不显示路径解决方法
    ubuntu安装出现"删除initramfs-tools时出错",subprocess installed post-installation script returned error exit status 1
    python下载链接内容
  • 原文地址:https://www.cnblogs.com/l3985/p/6274119.html
Copyright © 2011-2022 走看看