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

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

                     

        

  • 相关阅读:
    解决:Google代码achartengine曲线代码报错问题(转)
    操作SQLite数据库
    让服务器iis支持.apk文件下载的设置方法
    怎么在手机上查看sqlite db
    Android 3D滑动菜单完全解析,实现推拉门式的立体特效
    android自动更新程序,安装完以后就什么都没有了,没有出现安装成功的界面的问题
    那些年不错的Android开源项目
    PL/SQL Developer 连接新数据库
    Oracle 连接 Visual Studio 的工具
    利用SQLiteOpenHelper来管理SQLite数据库 (转)
  • 原文地址:https://www.cnblogs.com/l3985/p/6274119.html
Copyright © 2011-2022 走看看