oracle数据库连接问题,提示:table or view does not exist

luofuxian 2010-01-17 07:56:23
问题描述如题:
我的测试程序是这样写的:

string strConnectionString = "data source=ORCL;User ID=michael;Password=admin;";
OracleConnection con = new OracleConnection(strConnectionString);
OracleCommand com = new OracleCommand();
com.Connection = con;
com.CommandText = "select * from a";
con.Open();
OracleDataReader dr = com.ExecuteReader();
if (dr.Read())
Response.Write("read:"+dr[0].ToString());

补充:user id=michael;password=admin 或者user id=system;password=admin
我在pl/sql和sql*plus里面都试过可以的,即有权限访问这个表a;
请问下大家,因为对oracle不太熟,纯属刚学,是不是我安装oracle的时候少安装了什么或者有什么特别的配置需要配置吗?
...全文
2010 15 打赏 收藏 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xray2005 2010-01-18
  • 打赏
  • 举报
回复
table or view does not exist 都告诉你了,没有这个a表或视图。

下面的你自己查询的结果,也告诉你了。
SQL> select * from a;
select * from a
*
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select * from a;
select * from a
*
ERROR at line 1:
ORA-00942: table or view does not exist


如果你的a表的确是存在的,那么到检查以下a的DBA权限是否已经给michael。
  • 打赏
  • 举报
回复
string strConnectionString = "data source=ORCL;User ID=michael;Password=admin;";
感觉这样只是指定了数据库实例,连上后可能缺省的数据库是系统数据库(在sql server里是master,oracle里应该类似)。
比如你的表a在数据库mydb里,那么用:
select * from mydb.a,应该可以
王向飞 2010-01-17
  • 打赏
  • 举报
回复
code=SQL]show user[/code]
所有的以DBA身份登陆的用户,即as sysdba的.用户统一是sys
只有一般用户登陆的时候show user才显示对应的用户名称
select * from sys.a
王向飞 2010-01-17
  • 打赏
  • 举报
回复
select * from system.a
luofuxian 2010-01-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 wangminqi 的回复:]
试试  用户名(or 架构).表名  就好像sql server 的  dbo.表名

sysdba 会不会是表的拥有者(or 架构)

对oracle不是很熟


http://www.mybuffet.cn



[/Quote] as sysdba 是系统管理员的意思
wangminqi 2010-01-17
  • 打赏
  • 举报
回复
试试 用户名(or 架构).表名 就好像sql server 的 dbo.表名

sysdba 会不会是表的拥有者(or 架构)

对oracle不是很熟


http://www.mybuffet.cn


luofuxian 2010-01-17
  • 打赏
  • 举报
回复
问题似乎找到了,请看:
这是我登陆sql*plus时的情况

SQL> conn system/admin
Connected.
SQL> select * from a;
select * from a
*
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> select * from a;
select * from a
*
ERROR at line 1:
ORA-00942: table or view does not exist


SQL> conn system/admin as sysdba
Connected.
SQL> select * from a;

no rows selected


SQL> conn system/admin as sysdba 这句没有增加"as sysdba"就没权限访问表a; 这是为什么?
luofuxian 2010-01-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
表不存在,用户名是否有操作权限
string constring = "Data Source=oracle;User Id=sys;Password=123;DBA Privilege=SYSDBA;"

[/Quote]
错误:
不支持关键字: “dba privilege”。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentException: 不支持关键字: “dba privilege”。
luofuxian 2010-01-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zhoukang0916 的回复:]
data source=ORCL
[/Quote]
你这个和我这个有区别吗,只不过大小写不一样罢了;
错误信息:
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

ORA-00942: table or view does not exist

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OracleClient.OracleException: ORA-00942: table or view does not exist


源错误:


行 41: com.CommandText = "select * from a";
行 42: con.Open();
行 43: OracleDataReader dr = com.ExecuteReader();
行 44: if (dr.Read())
行 45: Response.Write("read:"+dr[0].ToString());

alan0128 2010-01-17
  • 打赏
  • 举报
回复
OracleConnection con = new OracleConnection(@"data source=ORCL;User ID=michael;Password=admin");
luofuxian 2010-01-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wuyq11 的回复:]
表不存在,用户名是否有操作权限
string constring = "Data Source=oracle;User Id=sys;Password=123;DBA Privilege=SYSDBA;"

[/Quote]
我在pl/sql和sql*plus 里面可以查询,即用的是同样的语句;
wuyq11 2010-01-17
  • 打赏
  • 举报
回复
表不存在,用户名是否有操作权限
string constring = "Data Source=oracle;User Id=sys;Password=123;DBA Privilege=SYSDBA;"
mngzilin 2010-01-17
  • 打赏
  • 举报
回复
权限不够

表名太短?
PandaIT 2010-01-17
  • 打赏
  • 举报
回复
data source=ORCL
PandaIT 2010-01-17
  • 打赏
  • 举报
回复
Data Source=TORCL;User Id=myUsername;Password=myPassword;

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧