将数据导入 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. 小酌Jmeter4.0新版本特性

    1.  首先下载打开jmeter4.0,说一个能感受到的视觉变化,如图, 黑色界面,不少朋友认为做技术黑色的东西看起来高上大一点,虽然这个观念有点肤浅,但似乎也有点道理,毕竟还是有不少朋友热衷于lin ...

  2. IOS Background 之 Background Fetch

    http://www.ithao123.cn/content-1363653.html 定期更新数据的app,比如及时通信类,微博等app. 定期后台获取,等打开后获取的快一些. 30分钟后打开手,获 ...

  3. Django 实现用户认证set_Cookie

    当用户通过认证时,set_Cookie(key, value) request.Cookie.get(key) 如果key不为空,就说明验证通过,否者重新跳转回login登录页面 对于URL urlp ...

  4. Framework​Element.​Find​Name 根据名字查找控件

    WPF Framework​Element.​Find​Name 根据名字查找控件 运行环境:Window7 64bit,NetFramework4.7,C# 7.0, 编者:乌龙哈里 2017-10 ...

  5. Window虚拟内存管理(转)

    内存管理是操作系统非常重要的部分,处理器每一次的升级都会给内存管理方式带来巨大的变化,向早期的8086cpu的分段式管理,到后来的80x86 系列的32位cpu推出的保护模式和段页式管理.在应用程序中 ...

  6. mysql 如何清除sql缓存

    对一条sql进行优化时,发现原本很慢的一条sql(将近1分钟) 在第二次运行时, 瞬间就完成了(.00sec) 这是因为mysql对同一条sql进行了缓存,服务器直接从上次的查询结果缓存中读取数据,而 ...

  7. linux/ubuntu 端口开放

    在ubuntu下面开放端口好像主要有两种方法,一种是ubuntu自带的防火墙,一种是iptables,这里我们主要使用iptables.本文的系统版本为ubuntu14.04和ubuntu16.04 ...

  8. Proxmox VE 设置备忘

    现在PROXMOX 虚拟机一共两个(使用的是N3700 cpu的一个小机器主要为了省电.) 一个是ROS,经过折腾,IK8速度还不错就是资源占用比较大特比下载数据大时对CPU占用很大:OpenWRT不 ...

  9. mysql varchar类型转换int类型

    select * from gyzd_yysinfo order by cast(yysid as SIGNED INTEGER) 或者 select * from gyzd_yysinfo orde ...

  10. 从零开始搭建k8s-20180301

    yum install -y yum-utils git etcd yum-config-manager --add-repo https://download.docker.com/linux/ce ...