导入数据到Oracle中的几种方法(转http://jkflyfox.bokee.com/2334307.html)

用java编程将txt文件数据导入oracle 工作中有很多数据以txt方式存储,需要导入oracle数据库处理(方便进行计算、统计),因文件较多,不便于手工处理,所以编写此程序以便进行数据导入。已经测试过,可以将数据导入oracle。 立即下载

前几天搞了下将excel表导入oracle数据库的问题,连查带问带自己摸索,将自己弄过的方法写出来和大家交流。这些方法也可以用于将其它格式的数据导入到oracle中,这里只是以excel为例。我的oracle是9i。
方法一,使用SQL*Loader
这个是用的较多的方法,前提必须oracle数据中目的表已经存在。
大体步骤如下:
1 将excle文件另存为一个新文件比如文件名为text.txt,文件类型选文本文件(制表符分隔),这里选择类型为csv(逗号分隔)也行,但是在写后面的control.ctl时要将字段终止符改为','(fields terminated by ','),假设保存到c盘根目录。
2 如果没有存在的表结构,则创建,假设表为test,有两列为dm,ms。
3 用记事本创建SQL*Loader控制文件,网上说的文件名后缀为ctl,其实我自己发现就用txt后缀也行。比如命名为control.ctl,内容如下:(--后面的为注释,实际不需要)

  load data            --控制文件标识
  infile 'c:/text.txt'     --要输入的数据文件名为test.txt
  append into table test    --向表test中追加记录
  fields terminated by X'09'  --字段终止于X'09',是一个制表符(TAB)
  (dm,ms)                    --定义列对应顺序
备注:数据导入的方式上例中用的append,有一下几种:insert,为缺省方式,在数据装载开始时要求表为空;append,在表中追加新记录;replace,删除旧记录,替换成新装载的记录
;truncate,同replace。
4 在命令行提示符下使用SQL*Loader命令实现数据的输入

sqlldr userid=system/manager control='c:/control.ctl'

更详细的介绍请查看http://www-rohan.sdsu.edu/doc/oracle/server803/A54652_01/ch04.htm#793

方法二 利用PLSQL Developer
使用PLSQL Developer工具,这个可是大名鼎鼎的Oracle DBA最常使用的工具。
在单个文件不大的情况下(少于100000行),并且目的表结构已经存在的情况下——对于excel而言肯定不会超过了,因为excel文件的最大行为65536—— 可以全选数据复制,然后用PLSQL Developer工具。
1 在PLSQL Developer的sql window里输入select * from test for update;
2 按F8执行
3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。
方法三 使用其它数据转移工具作中转站。
我使用的是Sql Server 2000。
先将excel表导入sqlserver数据库中,然后再从sql server导入到oracle中。这两部操作都简单,如果不会随便查个帮助就可以了,要不然问我也行:)
这里有两个自己的经验:一是注意excel文件的版本和格式要与导入到sql server时的数据源匹配。如果导入到sql server时的数据源选Microsoft Excel 97-2000的话,而excel文件的版本为Micaosoft Excel 5.0/95 工作簿,则有可能出问题。关于如何看Excle文件格式,你打开excel文件,选择另存为,即可看到像Micaosoft Excel 5.0/95 工作簿或者是Microsoft Office Excle 工作簿等等其它的保存类型。
二就是由sql server导入到oracle中时,记得将在oracle中的表名全部用大写。这条经验是花了好些时间才换来的。我刚开始导时,由于由excle导入sql server的表名为小写,然后倒到oracle中默认的也是小写,结果出现了一些很奇怪的情况,一个就是在Enterprise Manager Console中,在所有表的列表里面可以看到倒入的表,并且利用表数据编辑器还可以看到导入好的数据,但是在具体的表空间下确连表也看不到,实在是奇怪,我老是在想那表到底跑哪去了;二就是不管在具体表空间下看不看得到,表数据总是可以看到的,但是在Sql*Plus或者利用PLSQL Developer的Sql Window,写select语句查看数据,总是提示错误:Ora-00942:表或视图不存在。这个问题开始困扰了我好久,后来还是灵机一动,抱着试一试的心理在由sql server导入oracle时将表名改为全部大写(部分大写都不行),导入后不论Sql*Plus或者PLSQL Developer的Sql Window里写select语句(里面的表名用大写或者小写都行),都能正确的取出记录。很奇怪的问题

 

01.OPTIONS (skip=1,rows=128) -- sqlldr 命令显示的选项可以写到这里边来,skip=1 用来跳过数据中的第一行
02.LOAD DATA
03.INFILE "users_data.csv" --指定外部数据文件,可以写多个 INFILE "another_data_file.csv" 指定多个数据文件
04.--这里还可以使用 BADFILE、DISCARDFILE 来指定坏数据和丢弃数据的文件,
05.truncate --操作类型,用 truncate table 来清除表中原有记录
06.INTO TABLE users -- 要插入记录的表
07.Fields terminated by "," -- 数据中每行记录用 "," 分隔
08.Optionally enclosed by '"' -- 数据中每个字段用 '"' 框起,比如字段中有 "," 分隔符时
09.trailing nullcols --表的字段没有对应的值时允许为空
10.(
11.  virtual_column FILLER, --这是一个虚拟字段,用来跳过由 PL/SQL Developer 生成的第一列序号
12.  user_id number, --字段可以指定类型,否则认为是 CHARACTER 类型, log 文件中有显示
13.  user_name,
14.  login_times,
15.  last_login DATE "YYYY-MM-DD HH24:MI:SS" -- 指定接受日期的格式,相当用 to_date() 函数转换
16.)

 

说明:在操作类型 truncate 位置可用以下中的一值:
1) insert     --为缺省方式,在数据装载开始时要求表为空
2) append  --在表中追加新记录
3) replace  --删除旧记录(用 delete from table 语句),替换成新装载的记录
4) truncate --删除旧记录(用 truncate table 语句),替换成新装载的记录

【STM32-DSP库的使用】基于Keil5 + STM32CubeMX + CMSIS-DSP 手动添加、库添加方式 CMSIS-DSP库在工程中应用遇到的所有问题进行归纳终结 阅读详情

相关推荐

PSpice 导入 LTspice 仿真实验 --(如何解决PSpice模型无法使用的错误)

参考了网上第三方器件导入LTspice的博客和资料,不论是哪个公司下载的SPICE模型导入LTspice的方法都类似。如果遇到导入报错的情况可以先看一下报错提示,如果通过语法修改实现功能的则说明可以进行仿真,当然性能可能与官方给的模型存在一点出入,但做一个基本的功能验证本人认为还是可以的,总比做出板子用不了或者完全不匹配的要好一些。

伊丽莎白的学习之路 9005

往Oracle数据库导入数据的两种方法

在升级项目中,经常需要对数据进行迁移,我这次主要操作的是将数据从Access迁移到Oracle中.如何将数据导入Oracle数据库中,我总结了两种方法,供参考. 1.SQL loader 1.1 主要特征 SQL loader是Oracle数据库自带的,通过命令行操作的数据加载工具,主要有以下特征: 在同一加载会话中从多个数据文件加载数据。 在同一加载会话期间将数据放入多个表中。 指定数据的字符集。 有选择地加载数据。 在指定的列中生成唯一的顺序键值。 生成详细的错误报告,这大大有助于故障排除。 使用常规

weixin_45228526的博客 7421

[V-10]ARMv8/v9-CPU Virtualization-CPU虚拟化架构简介(vCPU/vPE)

本文简要介绍了CPU虚拟化架构的基础知识。

基层架构师的分享 1267

oracle怎么导入文本文件,把文本文件导入到Oracle中 -电脑资料

把文本文件导入到Oracle中1、在ORACLE中新建你要导入的表字段格式2、将要导入的表保存成UTF-8格式编码,注意将空格改成英文逗号3、分别在C盘下建立文件 1.ctl文件、2.log文件、表记事本格式1.ctl文件如下:LOAD DATAINFILE 'c:\tb_Layer.txt'TRUNCATE INTO table tb_LayerFIELDS TERMINATED BY ","(...

weixin_35698091的博客 2143

STM32F407+LAN8720网口不通?别慌,手把手教你用CubeMX和HAL库搞定RMII配置与调试

本文详细介绍了STM32F407与LAN8720网口不通的全面排查与解决方法,涵盖硬件检查、CubeMX配置、PHY芯片初始化和LWIP协议栈优化。通过RMII接口配置、时钟树设置和PHY芯片调试,帮助开发者快速定位并解决网络连接问题,提升嵌入式网络开发效率。

weixin_30457551的博客 506

直流电动机的建模仿真(1)他励,串励和并励电动机建模仿真

本文根据不同励磁方式的直流电动机的接线原理图,建立了相应的数学模型,然后根据与数学模型对应的等效电路以及模拟机械运动方程的等效电路,用Matlab/simulink中的SpecializedPower system库中的电路元件,建立了他励,并励和串励直流电动机的全等效电路仿真模型,经过与Matlab自带的直流电动机仿真模型比较以及仿真实例验证,所建立的仿真模型时完全正确的。

weixin_45670943的博客 7521

html导入oracle数据库数据,通过PL/SQL导入数据到oracle数据库

需要注意一下几个问题:1、设置监听需启动后台OracleOraDb11g_home1TNSlistener服务。2、需设置环境变量ORACLE_HOME为数据库的安装路径,如:E:\app\Administrator\product\11.2.0\dbhome_1二、通过plsql导入dmp文件1、用system登录数据库,链接为SYSDBA,创建表空间jmis和用户jmis。创建表空间jmis语...

weixin_42120405的博客 543

告别PlatformIO!用Arduino IDE搞定ESP32上的micro-ROS 2.0.5(Humble版)

本文详细介绍了如何从PlatformIO迁移到Arduino IDE以支持ESP32上的micro-ROS 2.0.5(Humble版)。内容涵盖环境配置、项目转换、常见问题解决及高级优化技巧,帮助开发者顺利过渡并充分利用Arduino IDE的官方支持优势。

weixin_33709590的博客 378

oracle导入数据库方式,Oracle数据库的导入和导出的两种方式

首先,我们导入导出数据,肯定是要通过oracle自带的可运行程序来完成数据的导入导出工作,imp.exe 和exp.exe这两个可运行文件都放在oracle安装目录下的BIN目录下。1.以cmd命令操作符导入导出先以cmd命令操作符来演示,比如我的BIN目录是在:D:\app\Administrator\product\11.1.0\db_1\BIN 这里面。可以将该目录添加到系统的环境变量中,这...

weixin_29740921的博客 2390

2025华为杯第二十二届中国研究生数学建模竞赛D题:低空湍流监测及最优航路规划 - 完整解题分析+完整MATLAB源码!(上篇)

🎓 本文收录于 《滚雪球学数学建模》专栏,本专栏专注于从零基础出发,带你循序渐进掌握数学建模的核心方法与思维路径。通过“滚雪球式”学习法,从最简单的生活化案例到经典建模工具,再到省赛、国赛真题实战演练,逐步积累知识与技能,帮助你搭建完整的建模体系。无论你是刚接触建模的新生,还是希望提升科研与竞赛能力的学者与工程师,本专栏都将为你提供一条清晰、高效、可实操的建模成长路线,助力你快速进阶,突破难点,迈向数学建模竞赛与实际应用的更高峰 🚀!

**My Coding Family** 2589

一次请求穿过的六道关卡:微服务基础组件的通信与IO、事件驱动、负载均衡、服务路由、API网关与配置协调

微服务的稳定性往往取决于看不见的基础组件。本文跟随一次下单请求,依次穿过API网关、服务路由、负载均衡与服务通信,再沿事件分支扇出,并从控制面审视配置中心。通信层剖析握手成本、连接复用、epoll与主从Reactor、心跳判活、退避抖动、截止时间与重试预算;事件层讲解编舞与编排、事务发件箱和幂等消费;均衡与路由对比静态与动态算法、路由链、全链路灰度与同区保底;网关讨论过滤器链与限流算法;配置部分给出四类配置、长轮询与共识协调,最后归纳五道防线。文中关键数据均来自可在Java8运行的演示程序。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+

如何把外部数据文件导入到oracle数据库中

今天写程序,需要把一个Excel文件中的数据导入到oracle数据库中。这在sql server 中操作是很简单的,但是由于是第一次接触oracle,而且连接的是远程服务器上的数据库,本地只安装了一个客户端工具,想解决这个问题,着实花了我不少功夫,在网上找了一些资料,但怎么试怎么不成功。 无奈之下只好请教公司的DBA,原来oracle中导入数据也是挺简单的事情。这为大姐教我了两种方法,要用就用

人在旅途 4168

利用SIMULINK搭建一个16QAM调制解调收发系统

1发送模块设计 根据前面介绍的理论知识,我们可以知道16QAM的基本结构,首先我来设计QAM发送段的SIMULINK仿真模块。 图1 16QAM的发送端模块 他的基本工作流程为:将信号通过两路升余弦滤波器,得到滤波以后的信号,滤波器的作用就是为了防止码间干扰。然后将滤波以后的信号和SIN,COS相乘得到调制信号,将调制 下面一一介绍每个模块的具体参数设置以及各个部分信号的波形图。 图2 产生随机数据的信号源 第一部分信号是产生一组随机的数字,作为信源,第二个模块将信号...

FPGA/MATLAB学习教程/源码/项目合作开发 4776

教你怎么样把Excel 文件中的数据导入到Oracle 数据库中

教你怎么样把Excel 文件中的数据导入到Oracle 数据库中   第一种:最简单的方法。   在EXCEL中全选数据,然后COPY。接着打开PL/SQL DEVELOPER,打开SQL窗口,输入select * from mytable for update; 然后执行,就可以看到查出目的表mytable数据,如果是空表,当然是没数据了。然后点击下面列表上方的锁(编辑数据),不管有没有数据,

tanguang_honesty的专栏 1385

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

SQL Server 2022 保姆级环境搭建 + 数据库/表/数据类型全解(从零到建库建表)

学 C#、学 WPF、学上位机,绕不开一件事:数据往哪儿存?变量一关程序就没了,文件一多就乱,最后都得落到数据库。这篇从"为什么学数据库"讲起,把 SQL Server 2022 Express + SSMS 的安装、两种登录方式、数据类型、建库建表一次讲透,全程按课堂实操步骤走,装不上的坑也一并标出来。

2501_94699871的博客 145

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

MySQL系统篇,库的操作(三):建库、字符集校验规则与备份恢复

本文系统讲解MySQL数据库创建与管理,聚焦字符集(CHARACTER SET)与校验规则(COLLATE)的核心作用:前者决定字符存储范围,后者影响比较与排序逻辑。通过对比utf8_general_ci(不区分大小写)与utf8_bin(二进制比较)的实测差异,揭示其对查询结果和排序顺序的显著影响。文章还详解CREATE DATABASE语法、IF NOT EXISTS防错机制、命名规范及跨版本兼容性问题,并强调新项目应优先使用utf8mb4以支持完整Unicode。最后提供SHOW CREATE DAT

dasdasfv的博客 309

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Spring 事务详解:@Transactional 如何生效、何时回滚、传播行为怎么选

从订单与库存写入出发,拆解 @Transactional 的代理调用链、默认回滚规则与自调用问题;通过 Spring Boot + H2 的五个验证用例比较 REQUIRED、REQUIRES_NEW、NESTED,并说明数据库事务与 Redis、消息和远程接口的边界。

qq_74421990的博客 319

Oracle多租户集群PDB异机恢复至单机部署数据库

本文详细演示了将Oracle RAC集群中的PDB(RMAN_PDB)通过RMAN备份恢复至单机CDB的全过程。首先在源库创建测试PDB并插入数据,随后配置RMAN备份路径,备份该PDB及其元数据文件。接着将备份文件传输至单机环境,启动实例并恢复控制文件与数据文件,最后利用DBMS_PDB.EXPOSE_PDB_FROM_RMAN生成PDB描述文件,将其插入新单机CDB中,实现PDB的独立使用。整个流程涵盖数据准备、备份、恢复及插入,完整验证了跨环境PDB迁移的可行性。

qq_57492774的博客 195

Mysql数据库基础篇(三):全面掌握数据库与数据表操作:深度剖析底层文件差异与核心管理机制

如果你想彻底改掉某个字段的名字,应该使用 change。实例:将 employee表中的 name列修改为xingming注意:使用 change时,即便不改变数据类型,在指定了新列名后依然需要完整地写一遍它的数据类型与约束定义。

2501_93641778的博客 249

10 月更新|NineData 新增 Vastbase、SelectDB、DB2 等异构链路,优化 Oracle 增量解析性能

10月,NineData持续强化数据库DevOps、AIAgent与数据复制能力。新增18条数据复制与对比链路,支持多引擎异构迁移,如TiDB→DB2、OpenGauss→PolarDB等。DevOps扩展Databricks支持,优化SQL规范校验、WebSocket缓冲与OnlineDML功能。权限流程升级,支持API获取数据源,修复工作流状态一致性。AIAgent优化模型配置与ChatDBA交互体验。数据复制增强增量写入、容灾与Oracle性能,支持TiCDC集群源与字段长度超限处理。SQL窗口修复多

云原生智能数据管理平台 375

【寻币打靶笔记】Web密码学攻击练习:AES-ECB分组拼接、CBC比特翻转、Padding Oracle与哈希长度扩展

寻币xuncoin靶场Web密码学攻击(web-crypto-attacks)房间打靶记录,整理前端HMAC密钥泄露、AES-ECB分组剪切拼接与Byte-at-a-time逐字节还原预言机、AES-CBC首块IV比特翻转篡改tier=1、PKCS#7 Padding Oracle填充预言机解密、hash_extender哈希长度扩展攻击以及时间戳PRNG种子预测。

QAQerji的博客 334

缓存穿透与击穿防御:一个 3 秒的空值标记和一把按 key 分的锁(四)

缓存穿透与击穿现象相似却机制迥异:前者因查询不存在数据导致数据库压力骤增,命中率却难反映;后者因热点 key 过期引发周期性回源尖刺。二者均在 get(key, loader) 路径生效,解法需分治——穿透通过“空值标记+短 TTL”(如3秒)防止无效请求反复冲击;击穿则依赖“按 key 加锁”实现单实例内并发收敛。关键在于区分“未缓存”与“已缓存为空”,并控制锁生命周期,避免内存泄漏。两策略协同,方能真正抵御缓存打穿。

tantan的小记录 478

oracle:多字符串包含匹配

若需区分大小写,添加参数 `'i'`;若关键词包含正则特殊字符(如 `.`, `+`, `*`),需使用 `\` 转义。`REGEXP_LIKE` 配合管道符 `|` 实现多字符串包含匹配(OR逻辑),这是处理多个关键词最简洁且。-- 示例:查询 column_name 字段中包含 'str1' 或 'str2' 或 'str3' 的记录。-- 同时包含 'str1' 和 'str2'性能优于多重 `LIKE OR`-- 不区分大小写匹配。

chinalog的专栏 423

Oracle 19c RAC ASM 在线扩容实战

最近有一套 Oracle 19c RAC 数据库,DATA 磁盘组空间使用率已经接近 90%,需要扩容。环境是两节点 RAC,底层使用 Dell EMC SAN 存储,通过 Multipath 管理共享磁盘,存储侧已经分配好一块 2TB 的新 LUN,只需要在操作系统上识别,然后加入 ASM 磁盘组。整个过程不需要停库,本文记录一下实际操作步骤。这次 Oracle 19c RAC ASM 扩容整体比较顺利。

LuciferLiu_DBA 307

Oracle 数据库迁移到 GaussDB 集中式

本文介绍Oracle到GaussDB集中式数据库的完整迁移方案,涵盖迁移评估、对象结构(UGO工具)与数据同步(DRS工具)两大阶段。流程包括环境准备、对象迁移、全量/增量同步、数据对比验证及业务割接。重点强调权限配置、归档日志开启、GUC参数设置,并推荐使用DRS实现近实时增量同步,结合行数与内容对比确保数据一致性。最终建议采用“工具同步+低峰期切换”的并轨策略,保障RPO接近零,实现平滑迁移。

Gauss松鼠会 805
上一篇: List,Set,数组的转换
下一篇: sqlLog enterprise快捷键
RedTrack
博客等级 码龄17年 1粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值