oracle为什么导入数据出错?

 我来答
壶堇言
推荐于2019-09-04 · TA获得超过2354个赞
知道小有建树答主
回答量:64
采纳率:0%
帮助的人:1.8万
展开全部

一、原因如下:

因为 存储过程P_BQ_BD_ACCSUBJ    中使用了DDJT.BD_ACCSUBJ@LINK_YNDD.REGRESS.RDBMS.DEV.US.ORACLE.COM
其中使用了 database link :
LINK_YNDD.REGRESS.RDBMS.DEV.US.ORACLE.COM

二、导入方法如下:

1、excle转成csv之后,打开csv文件看看数据中有没有title。有的话,删掉。让csv中只保留数据。

2、数据导入用sqlldr
先写个ctl脚本
例如:做一个test.ctl里面的内容是
LOAD DATA
INFILE 'D:\DB\XXX.CSV' 
append INTO TABLE 表名
FIELDS TERMINATED BY ","
TRAILING NULLCOLS
(HAISASHI_HMS INTEGER EXTERNAL(6),
FILLER CHAR(6)
。。。表中的字段名称和类型 )

PS:这个ctl放在D盘下的DB文件夹下面和你的CSV文件放在一起
运行cmd命令,让当前目录切换到在D:\DB
然后执行下面的命令:sqlldr userid=用户名/密码@sid control=test.ctl
敲下回车就开始导入数据。

526jhgyug
2018-01-21 · TA获得超过124个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

加入一个数据就好了。

imp odm/odm@odm file=I:\odm.dmp fromuser=odm touser=odm ignore=y

这样写的话忽略数据库对象存在的报错,不过你的数据可能会有重复。不想重复的话可以按以下步骤操作。
1、导出时使用query选项,将你需要的更新的数据导出(前提是你的数据能有分辨是否是更新项的字段)。                                                                                                                    2、在你的电脑中将数据删除(delete或truncate,个人建议truncate),那样导入的都是最新的数据了。

3、drop你电脑中odm的所有对象,用在imp时会自动建立。

这就是所有的步骤了,希望可以帮到你。

参考资料

百度知道.百度知道[引用时间2018-1-21]

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱上诗意的生活
2018-01-09 · TA获得超过2.8万个赞
知道小有建树答主
回答量:157
采纳率:100%
帮助的人:4.3万
展开全部

是因为 存储过程P_BQ_BD_ACCSUBJ    中使用了 

DDJT.BD_ACCSUBJ@LINK_YNDD.REGRESS.RDBMS.DEV.US.ORACLE.COM

其中使用了 database link :

LINK_YNDD.REGRESS.RDBMS.DEV.US.ORACLE.COM

你可以在导入数据库之前, 将 database link 创建好,然后再导入,就可以了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式