将数据导入 oracle 的方法应该很多 , 对于不同需求有不同的导入方式 , 最近使用oracle的sqlldr命令 导入数据库数据感觉是个挺不错的技术点 。  使用sqlldr命令 将文本文件导入 oracle中大致需要两步 :

第一步:编写ctl控制文件

Load data --装载数据(第二步中会具体讲一下数据文件的来源位置)

CHARACTERSET 'UFT8' --导入字符集格式
Append --这个属性意思是在数据库中原来数据基础上追加自己的数据,不改变原来的数据,有兴趣的还可以了解其他属性replace等
into table int_demo_student_b --插入数据库所对应得表
fields terminated by X'1B' --分隔符,用于分割数据文件中对应属性数据的分割符号 我用的是ESC键分割 ,还有 X'09' 等于逗号分割
TRAILING NULLCOLS --空列赋值,如果不加这个属性,当数据文件中有空值时,就会跳过空值,这样导入的数据就出现错位了,所以加了这个属性就可以避免空值错位
(
stu_id, --字段,字段的顺序和数据库的顺序一致
stu_name,
stu_class,
stu_age,
stu_sex,
stu_subject,
comment char(260), --截位操作,在做导入的时候,ctl导入属于文件流导入,当字段字符长度超过255位就会导入失败,如果这样就需要加这个属性来约束就不会导入失败了
import_flag constant "0", --默认赋值,如果原来数据文件中没有的字段,而自己需要在自己数据库表中增加某个字段,就需要添加默认值constant
err_msg constant " "
)

第二步:使用cmd命令窗口中输入命令sqlldr命令运行 最后按下回车键

->  sqlldr  userid = 用户名 / 密码 @ 数据库名  data=数据文件地址   control = ctl控制文件地址     bad = D:/ bad.bad 错误日志   log =D:/log.log 日志记录

还可以在命令中输入rows deirect silent errors等属性来限制导入的行数等其他条件,有兴趣的可以自己了解下

目前地址数据都是固定的,在实际应用一般都会通过定义变量来使用,这样可以重复使用。

oracle数据库sqlldr命令的使用的更多相关文章

  1. Oracle数据库——常用命令(用户管理、数据库导入导出)

    --==cmd控制台==-- --==日常用户管理SQL==-- --连接到SQLPLUS >sqlplus /nolog --以dba身份连接 sql>conn / as sysdba ...

  2. Linux下修改Oracle数据库字符集命令

    常见情形:从服务器备份Oracle数据库后再到本地机器上还原Oracle数据库的时候经常会碰见数据库字符编码不一致的情况,可以用以下命令来修改本地的Oracle数据库字符编码,然后顺利还原Oracle ...

  3. ORACLE数据库 常用命令和Sql常用语句

    ORACLE 账号相关 如何获取表及权限 1.COPY表空间backup scottexp登录管理员账号system2.创建用户 create user han identified(认证) by m ...

  4. Linux下改动Oracle数据库字符集命令

    常见情形:从server备份Oracle数据库后再到本地机器上还原Oracle数据库的时候常常会碰见数据库字符编码不一致的情况,能够用下面命令来改动本地的Oracle数据库字符编码,然后顺利还原Ora ...

  5. Oracle数据库常用命令整理

    转至:https://blog.csdn.net/creativemobile/article/details/8982164 1监听 (1)启动监听 lsnrctl start (2)停止监听  l ...

  6. Oracle数据库常用命令(持续更新)

    1. 查询当前用户所有的表 select * from user_tables; 2. 查询当前用户能访问的表 select * from all_tables; 3. 获取表字段 select * ...

  7. Oracle数据库sql命令整理

    转至:https://blog.csdn.net/weixin_43712330/article/details/88358604 以下为oracle数据库中sql语句的整理,将持续更新01. 如何登 ...

  8. Oracle 数据库恢复命令

    前提是oracle服务能正常启动,但是客户端怎么都连接不上. 首先打开命令行,输入:sqlplus / as sysdba; 回车 连上数据库后,屏幕会显示:已连接到空闲例程. 接下来在SQL> ...

  9. Oracle数据库sqlldr工具的使用

    sqlldr导入文本内容到数据库表时,需要指定一个ctl文件(控制文件),通过该文件来完成数据的导入. 1 首先创建一个表student create table student( stu_id nu ...

随机推荐

  1. nginx 1.12 配置解析php

    server { listen 80; server_name foo.com; root /path; index index.html index.htm index.php; location ...

  2. jQuery之事件和动画

    1.加载DOM $(document).ready(function(){ }) 简写形式: $(function(){ }) 事件绑定: 合成事件 事件冒泡 移除事件 JQuery中的动画 show ...

  3. krpano之缩略图文本添加

    效果: 在缩略图上添加文本,显示缩略图名称. 方法:将皮肤中的 skin_addthumbs 方法替换为一下代码. <action name="skin_addthumbs" ...

  4. leetcode819

    public class Solution { public string MostCommonWord(string paragraph, string[] banned) { //"a, ...

  5. Eclipse 常用插件地址大全

    安装方式: 使用Eclipse 的自动升级功能,菜单栏选[ Help ]→[ install new Software]  点击[Add]按钮,在“ Name ”中填入“ name (填写一个自己喜欢 ...

  6. overflow与underflow

    是新近的firefox浏览器中支持overflow, underflow这两个事件,当某一元素的大小超出父元素的显示范围就会触发overflow事件,如果从超出显示再变回不超出的状态则触发underf ...

  7. tomcat的配置文件server.conf中的元素的理解

    tomcat的配置文件server.conf中的元素的理解 tomcat作为一个servlet服务器本身的配置文件是tomcat_home/conf/server.conf,这个配置文件中有很多元素, ...

  8. 在Ajax请求中什么时候用GET方式什么时候用POST方式?

    当我们有大量数据要传送时最好的办法是一次发出多个只传递少量信息的Ajax调用时.如果你正用一个Ajax调用发送大量数据,那么最好是结束这种做法,因为这样做并不能节约时间. 因此,需要传送大量数据能成为 ...

  9. Level Of Detail

    [Level Of Detail] LOD0离摄像机最近,LODN离摄像机最远.LOD Group组件的用法是,将此组件挂在根节点上,然后每一个LOD挂同样多的Renderer(通常是子对象). At ...

  10. Apache Spark介绍及集群搭建

    简介 Spark是一个针对于大规模数据处理的统一分析引擎.其处理速度比MapReduce快很多.其特征有: 1.速度快 spark比mapreduce在内存中快100x,比mapreduce在磁盘中快 ...