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

相关推荐

  • 为什么高手都用CMD隐藏功能?

    命令提示符是 Windows 内置的文本命令行工具,允许用户通过输入特定指令直接执行系统命令、运行批处理脚本,进行系统管理、故障排除和高效操作,是自动化任务和底层系统交互的重要接口。

    2025年6月25日
    1400
  • CAD命令键如何操作?

    CAD命令键是键盘快捷键,用于快速调用软件功能(如画线、保存),通过键盘输入替代菜单点击,能显著提升绘图效率和操作速度。

    20小时前
    300
  • ADB是什么?安卓调试必备工具

    ADB(Android Debug Bridge)是安卓开发调试工具,通过命令行实现电脑与安卓设备通信,用于调试应用、安装卸载软件、传输文件及执行系统管理任务。

    2025年6月17日
    1100
  • 任务管理器如何运行命令行?

    打开任务管理器,点击“文件”菜单,选择“运行新任务”,输入“cmd”或“powershell”,勾选“以系统管理权限创建此任务”,点击“确定”即可运行命令行。

    2025年7月9日
    1100
  • 命令行换行能避免错误吗?

    命令行换行(如使用反斜杠\)主要为了提升长命令的可读性和可维护性,它将单行过长的命令拆分成多行显示,避免横向滚动,减少输入错误,并方便后续修改。

    2025年6月24日
    1300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信