使用sqlldr,解决SQL*Loader-704,ORA-12154

按转载文章执行sqlldr,

另附原创:使用sqlldr时报错:

SQL*Loader-704: Internal error: ulconnect: OCIServerAttach [0]
ORA-12154: TNS:could not resolve the connect identifier specified

 

一.  作用
SQL*LOADER是ORACLE的数据加载工具,用来将文件导入到ORACL数据库,可以导入一个表或者多个表,甚至可以在导入时修改数据。

二. ORACLE下载地址
sqlloader需要电脑上有sqlldr文件才可实现传输功能,如果没有无法使用sqlloader,由于网上有很多ORACLE是精简版本的,精简版安装完成后oracle包中没有sqlldr.exe这个文件,这里我提供了一个下载地址,这个版本中有sqlldr,sqlplus,本人亲测过,将链接分享给大家。

链接:https://pan.baidu.com/s/1IihYzlxqq1cwz9LO9Yf9xw        密码:w0i6

三.  如何确定电脑中有没有sqlldr文件
两种方式:   ①  在oracle目录中的bin下看有没有sqlldr.exe文件,本人安装目录为

                         D:\app\Administrator\product\11.2.0\dbhome_1\BIN

                     ②  直接在dos(win+R)中输入“sqlldr”,如果出现“sqlldr不是内部或外部命令,也不是可运行程序”字样,说明电脑中没有sqlldr.exe这个文件。如果出现如下所示,说明sqlldr安装成功。 

四.  实现txt文件导入到数据库(较简单)
1.  创建表结构

目的:将表建立出来,让外面的数据插入到表格中

创建student1表

     create table student1(
          sname      varchar(20),
          sage         integer,
          semall      varchar(20),
          sphone     varchar(20),
          saddress  varchar(20)
      )

2.  创建input.txt文件(数据文件)

目的:txt文件中是外部插入的数据,前提是txt中数据的格式和上面student1的格式相同,因为只有格式相同了数据才可以插入。

3.  创建input.ctl文件(控制文件)

目的:让input.txt中的数据加载到sdudent1中,该文件中可以指定输入的文件名、输入到哪个表中、各个字段是用什么符号间隔的等,都可以在里面进行设置。

4.  执行命令

注意:将input.txt数据文件和input.ctl控制文件放在一个f盘text文件夹中,注意了这里需要在test文件夹中执行命令,比如我将数据文件和控制文件放在F:/test文件夹下,那么在dos中需要切换到test下运行这个命令,命令格式为

sqlldr    userid = 用户名/ 密码@数据库名     control=控制文件名

我执行的命令如下 

如果成功了,得到如下的结果

运行成功后在test文件夹中会出现input.log文件,显示如下

 5.  查看数据

操作:打开plsql  developer,输入select  *  from  student1,就会出现下图的结果,说明外部txt文件已成功导入到数据库。


--------------------- 
版权声明:本文为CSDN博主「IT界一股清流」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jerrytomcat/article/details/82698535

 

以下原创:

问题:执行命令sqlldr userid=test/test@ORCL control=input.ctl 时报错:

1.确认userid=scott/scott@orcl表示的是:用户名/密码@数据库,看看你的用户名/密码是否正确,用户是否锁定;确认你的用户分配访问数据库的权限。

2.@orcl 这个检查一下 tnsnames.ora 里是否存在,且是否配置争取(可使用tnsping orcl来检测)

发现tnsnames.ora文件有问题(我这多了一个's')修改后:

真确后,在运行sqlldr命令:

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值