楼主: lspnet2005

sql loader 时报告表不存在,见文

[复制链接]
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
21#
发表于 2006-8-6 15:57 | 只看该作者
俺也糊涂了

那你能确定的告诉俺,这张表的拥有者是谁吗?
也就是哪个用户拥有这张表?
我觉得你还是基本概念不清楚,刚开始学都这样的,也难怪的

在oracle哩,有一些用户是吧?
每个用户都拥有自己的一些表,索引,视图什么的

使用道具 举报

回复
论坛徽章:
0
22#
 楼主| 发表于 2006-8-6 16:14 | 只看该作者
这张表也是system用户上数据库建的
它的拥有者就是system吧
我也搞不清楚
我在表中授予了system,test等用户的权限的

system用户对表xs1有alter,delete,index,insert,references,select,update权限

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
23#
发表于 2006-8-6 17:09 | 只看该作者
那你用system登陆
然后select table_name from user_tables会找不到?

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
24#
发表于 2006-8-6 17:12 | 只看该作者
我就不信
你这样
select owner,TABLE_NAME FROM DBA_TABLES WHERE SUBSTRB(TABLE_NAME,1,2)='XS';
找不到,而你又说能看到表,我不知道你在哪里看到表的?
我实在是被你说糊涂了
这是很基本的概念了。

使用道具 举报

回复
论坛徽章:
0
25#
 楼主| 发表于 2006-8-6 17:20 | 只看该作者
用你说的命令:
select owner,TABLE_NAME FROM DBA_TABLES WHERE SUBSTRB(TABLE_NAME,1,2)='XS1';
说“未选定行”

用这句:
select owner,table_name from dba_tables where table_name='XS1'
有结果:

OWNER                          TABLE_NAME
------------------------------ ------------------------------
SYS                            XS1


我的表是在Oracle Enterprise Manager Console中的方案sys中能看到的啊
我用test等用户上去创建表都创建在这里面

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
26#
发表于 2006-8-6 19:33 | 只看该作者
我说的是
select owner,TABLE_NAME FROM DBA_TABLES WHERE SUBSTRB(TABLE_NAME,1,2)='XS';
而不是
select owner,TABLE_NAME FROM DBA_TABLES WHERE SUBSTRB(TABLE_NAME,1,2)='XS1';
可以看我上面的帖子

其实所有的问题我在上面的帖子里都提到了
你这个表是sys用户的

1、首先不要把自己的数据表建到sys用户里去,因为sys是管理数据字典的
2、sys是不能用normal方式来连接的,你自己帖出来的提示里也有
   "ORA-28009:connection to sys should be as sysdba or sysoper"
3、如果你用别的用户来sqlldr,那么就会提示表不存在,因为这个表是sys用户的

我有一个帖子里说建议你建立一个test用户来操作,肯定会成功的
我不知道你是怎么操作,比如上面的那个substrb函数,是取子串的,1,2,就是取两个字符
而你写了SUBSTRB(TABLE_NAME,1,2)='XS1';那肯定是招不到了,因为你输入了3个字符

使用道具 举报

回复
论坛徽章:
0
27#
 楼主| 发表于 2006-8-6 20:43 | 只看该作者
我用test以normal去建表test都能成功建表,它在test中,但是,以sysdba的身份上数据库建的表在sys中
然后我用我将sys中的test表删除
现在只有test中test表了
于是我用:

sqlldr userid=test/password control=input.ctl

还说没这个
SQL*Loader-128:  无法开始会话
ORA-01017: invalid username/password; logon denied

这又是什么原因,你是按你的方法做的啊
老兄,帮帮忙,我是才学的

但一些数据的关系还是有了解
谢谢你一直在为我解答,小弟感激

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
28#
发表于 2006-8-6 21:50 | 只看该作者
如果你这样 conn test/test as sysdba
那么登陆后,show user会告诉你当前用户是sys,这个时候建表,这个表就编变成是sys拥有得表了
conn test/test就可以了
然后再建表
至于ORA-01017: invalid username/password; logon denied
肯定是你输入错了,

至于

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
29#
发表于 2006-8-6 21:51 | 只看该作者
SQL> conn test/test as sysdba
已连接。
SQL> show user
USER 为 "SYS"
SQL> conn test/test
已连接。
SQL> show user
USER 为 "TEST"
SQL>

使用道具 举报

回复
论坛徽章:
115
生肖徽章:狗
日期:2007-01-06 21:14:12马上有车
日期:2014-03-06 16:45:08马上加薪
日期:2014-05-09 12:27:582014年世界杯参赛球队: 英格兰
日期:2014-07-03 13:10:44青年奥林匹克运动会-竞技体操
日期:2014-09-10 15:30:57马上有钱
日期:2014-10-31 13:56:48美羊羊
日期:2015-03-04 14:48:582015年新春福章
日期:2015-03-06 11:57:31懒羊羊
日期:2015-04-23 19:26:10金牛座
日期:2015-09-17 08:21:44
30#
发表于 2006-8-6 21:58 | 只看该作者
SQL> create user test identified by test;

用户已创建。

SQL> grant dba to test;

授权成功。

SQL> grant connect to test;

授权成功。

SQL> conn test/test
已连接。
SQL> create table xs1
  2  (
  3  XH varchar2(10),
  4  XM varchar2(10),
  5  ZYM varchar2(10),
  6  XB varchar2(10),
  7  CSSJ varchar2(10),
  8  ZXF varchar2(10),
  9  BZ varchar2(20)
10  );

表已创建。

SQL> select * from xs1;

未选定行

--以下是input.ctl
load data
infile 'xs.txt'
append into table xs1
fields terminated by whitespace
TRAILING NULLCOLS
(xh,xm,zym,xb,cssj,zxf,bz)

以下是xs.txt
001220 吴薇华 通信工程 男 1980-3-18 42 思想政治工作
001221 刘燕敏 计算机 男 1979-11-12 42 叶面
001241 罗林琳 网络工程 男 1980-1-30 50 转专业学习

然后
D:\>sqlldr userid=test/test control=input.ctl errors=0

SQL*Loader: Release 10.2.0.1.0 - Production on 星期日 8月 6 22:01:50 2006

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

达到提交点 - 逻辑记录计数 3


SQL> select * from xs1;

XH         XM         ZYM        XB         CSSJ       ZXF        BZ
---------- ---------- ---------- ---------- ---------- ---------- --------------------
001220     吴薇华     通信工程   男         1980-3-18  42         思想政治工作
001221     刘燕敏     计算机     男         1979-11-12 42         叶面
001241     罗林琳     网络工程   男         1980-1-30  50         转专业学习

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表