| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Sqlldr导Excel文件导Oracle数据库 -> 正文阅读 |
|
[大数据]Sqlldr导Excel文件导Oracle数据库 |
使用sqlldr把Excel导入Oracle数据库我总结为三个步骤: ????????1.在Oracle数据库创建对应要导入数据的表,以及涉及到的列。 ????????2.在控制文件中,写入相关内容。 ????????3.Win+R打开命令行窗口,执行sqlldr命令。 当导入的数据不是很大时,如下所示:1.(已存为csv文件),如下: 2.控制文件: load data 3.Win+R打开命令行窗口,执行命令。 查看Oracle数据库的内容: csv实际数据7条,但实际插入数据6条,原因分析: 查看报错日志: 这里报错是因为在Oracle数据库建表时,各列的数据类型都不一样,而在控制文件里面把各列都默认为char类型的,当使用sqlldr导入数据时,会自动把控制文件的类型转换为与Oracle对应的数据类型,而在导入的scv文件的第一行,在控制文件重为char类型,在Oracle对应的可能为date类型,因不能成转换,所以报错。 解决办法:1.在Oracle数据库把所有的列东定义为varchar2类型。 ? ? ? ? ? ? ? ? ? ?2.把csv文件的第一行删了。? 当导入的数据,某一列对应的内容太大该列超过了默认的255,则可以在其列后定义类型及大小,如下:(csv文件加入一行,Oracle对应增加一列) Oracle:alter table test_order add introduction varchar2(600); ?控制文件: load data 报错如下: 记录 4: 被拒绝 - 表 TEST_ORDER 的列 INTRODUCTION 出现错误。 更改控制文件: load data 运行结果: 查看表: ?对控制文件中的append,insert,replace的说明: append:在表里追加内容,表可以不为空。 insert:在表里插入数据,表要为空,否则报错。 replace:把表里的覆盖,类似overwrite,表不为空,也不会报错。 即:控制文件 load data 三种情况分别截图如下: append:在表里追加内容,表可以不为空。 ?insert:在表里插入数据,表要为空,否则报错。 replace:把表里的覆盖,类似overwrite,表不为空,也不会报错。 ?想要获取关于更多sqlldr的知识,敬请期待。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 20:33:13- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |