Oracle命令行导入TXT文件教程

准备工作

  1. 数据文件示例(data.txt)
    格式:逗号分隔(支持自定义分隔符)

    101,John,IT
    102,Lisa,Sales
    103,David,HR
  2. 数据库目标表结构
    需提前创建与TXT列对应的表:

    CREATE TABLE employees (
       emp_id NUMBER,
       emp_name VARCHAR2(50),
       dept_name VARCHAR2(50)
    );

创建控制文件(关键步骤)

新建 load_data.ctl 文件,内容如下:

LOAD DATA
INFILE 'data.txt'        -- TXT文件路径
INTO TABLE employees     -- 目标表名
FIELDS TERMINATED BY ',' -- 列分隔符(可改为|、TAB等)
OPTIONALLY ENCLOSED BY '"' -- 文本引号(可选)
TRAILING NULLCOLS        -- 允许空列
(
  emp_id,                -- 列顺序与TXT文件一致
  emp_name,
  dept_name
)

*执行SQLLoader命令**

在命令行中运行(根据系统调整路径):

sqlldr userid=username/password@database_service_name 
       control=load_data.ctl 
       log=load_results.log
  • 参数说明
    • username/password:数据库账号/密码
    • @database_service_name:数据库服务名(如ORCL)
    • control:控制文件路径
    • log:导入日志文件(必查)

验证结果

  1. 检查日志文件(load_results.log)
    查看关键条目:

    Table EMPLOYEES:
      3 Rows successfully loaded.
      Commit point reached - logical record count 3
  2. 查询数据库确认

    SELECT * FROM employees;

常见问题解决

问题现象 解决方案
ORA-01722: 无效数字 控制文件中指定列数据类型转换
文件路径错误 使用绝对路径(如:/home/user/data.txt)
权限不足 授予用户INSERT表权限
中文乱码 在控制文件首行加 CHARACTERSET UTF8

高级技巧

  1. 跳过文件首行行)
    在控制文件中添加:

    LOAD DATA
    INFILE 'data.txt'
    SKIP 1  -- 跳过第1行
    ...
  2. 日期格式转换
    若TXT含日期列,在控制文件指定格式:

    (hire_date DATE "YYYY-MM-DD")

引用说明

  • 本文方法基于Oracle 12c至19c版本验证,核心工具为官方提供的SQL*Loader。
  • 参考文档:
    Oracle Database Utilities Guide – SQLLoader*章节
    Oracle官方支持文档ID 245263.1

操作时请确保:

  1. 数据库服务名正确
  2. TXT文件与控制文件列定义严格匹配
  3. 日志文件无ORA-错误提示

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5674.html

(0)
酷番叔酷番叔
上一篇 2025年6月27日 02:55
下一篇 2025年6月27日 03:21

相关推荐

  • 关系型数据库消息中间件价格多少,消息队列中间件选型及费用详解

    关系型数据库与消息中间件无直接统一定价,前者按实例规格与存储计费(如阿里云RDS约0.1-2元/小时),后者按吞吐量与实例规格计费(如RocketMQ约0.05-1.5元/小时),具体成本取决于并发量、数据保留周期及高可用架构选型,在2026年的企业级架构中,将关系型数据库(RDBMS)与消息中间件(MQ)进行……

    2026年5月29日
    6300
  • Android短信发送拦截,为何会出现,如何解决?,Android短信发送拦截怎么解决

    Android短信发送拦截在2026年已从被动防御转向主动智能管控,主流方案结合系统级权限限制与AI行为分析,有效阻断恶意短信发送,保护用户资费安全,为什么短信发送拦截成为刚性需求恶意应用在后台发送扣费短信是安卓生态长期存在的威胁,2026年《全球移动威胁报告》指出,Android平台恶意短信发送事件同比增长3……

    2026年7月19日
    2100
  • asp网吧

    在当今数字化时代,互联网服务已成为人们日常生活中不可或缺的一部分,而网吧作为提供公共上网服务的场所,其运营模式和管理方式也在不断进化,ASP(Active Server Pages)作为一种经典的动态网页开发技术,曾在网吧管理系统中扮演过重要角色,为网吧的自动化运营、用户管理和资源调配提供了高效的技术支持,本文……

    2025年12月21日
    13700
  • 国际会员业务中台5折,国际会员业务中台5折怎么买

    2026年国际会员业务中台5折促销是降低跨境SaaS部署成本、加速全球化业务落地的最佳窗口期,建议企业抓住此政策红利完成核心系统架构升级,国际会员业务中台5折背后的战略价值解析在2026年数字经济深化阶段,企业出海已从“流量驱动”转向“精细化运营驱动”,国际会员业务中台作为连接用户数据、支付网关与本地化服务的核……

    2026年5月13日
    5700
  • 如何在Windows PC查看红警3版本?

    想知道你电脑或主机上运行的《红色警戒3:命令与征服》具体是哪个版本吗?无论是为了确认是否安装了最新补丁、解决特定版本才有的问题,还是联机时确保兼容性,查看游戏版本都是个基础且重要的操作,别担心,方法很简单,下面提供详细的步骤指南:这是最常用的平台,有几种可靠的方法:通过游戏主菜单查看(最直观):启动《红色警戒3……

    2025年7月19日
    25000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信