数据库里有但是程序说表或者视图不存在

accp2018 2013-05-06 03:53:06
数据库里有但是程序说表或者视图不存在?
我在运行里面用SQL语句查询和在PLSQL工具里面查询都有这个表。
可是在程序里面运行说表或者视图不存在?
这是怎么回事?
...全文
17460 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
AWP74108 2016-01-11
  • 打赏
  • 举报
回复
我有相同的问题,不同的是我查的是dba_tables,该用户也可以查到,但是程序里就说不存在。求答案
linwaterbin 2013-05-07
  • 打赏
  • 举报
回复
1) 权限问题 2) 表或视图的大小写问题
vanjayhsu 2013-05-07
  • 打赏
  • 举报
回复
引用 7 楼 forgetsam 的回复:
[quote=引用 5 楼 vanjayhsu 的回复:] 我用PLSQl登录信息是 username:system Password:text Database:orcl Connectas:SYSDBA
你用 username:阿猫 Password:阿狗 Database:orcl Connectas:SYSDBA 一样能登录进去,但这不代表你的用户叫阿猫[/quote] 在PLSQL里面这样登陆是不可以的。。。
forgetsam 2013-05-07
  • 打赏
  • 举报
回复
引用 5 楼 vanjayhsu 的回复:
我用PLSQl登录信息是 username:system Password:text Database:orcl Connectas:SYSDBA
你用 username:阿猫 Password:阿狗 Database:orcl Connectas:SYSDBA 一样能登录进去,但这不代表你的用户叫阿猫
绝望依然 2013-05-07
  • 打赏
  • 举报
回复
你八成是授权不对,你用的是什么用户,身份登录的,4楼说的不错哦
vanjayhsu 2013-05-07
  • 打赏
  • 举报
回复
我用PLSQl登录信息是 username:system Password:text Database:orcl Connectas:normal PLSQL登陆之后执行以下语句: select * from tab; 查看ALERT_QT是否在结果中
陈字文 2013-05-07
  • 打赏
  • 举报
回复
引用 2 楼 accp2018 的回复:
[quote=引用 1 楼 music_mouse 的回复:] 八成是你数据库查看用的帐号和程序连接用的帐号不是同一个
我用PLSQl登录信息是 username:system Password:text Database:orcl Connectas:SYSDBA 程序中连接字符串是: DataTable dt = new DataTable(); try { OracleConnection conn = new OracleConnection(@"Data Source=Demo;User ID=system;Password=test"); //Data Source后面跟你数据库的名字,User ID为用户名,Password为密码 conn.Open(); string sql = "select * from ALERT_QT"; OracleCommand cmd = new OracleCommand(sql, conn); OracleDataAdapter oda = new OracleDataAdapter(cmd); MessageBox.Show("111"); oda.Fill(dt); conn.Close(); cmd.Dispose(); return dt; } catch (Exception ex) { MessageBox.Show(ex.Message); return dt; } 那个SYSDBA用来干嘛的?[/quote] 1 可能是用户不对 2 如果你用了存储过程,那么也可能是角色授权不对
u010412956 2013-05-06
  • 打赏
  • 举报
回复
1.表不要建在 system,sys这些用户下。。。 2.pl/sql 登录, 除了sys,其他建议 以normal 身份登录。 3.可以从dba_tables视图里面,看下你这个表 具体属于哪个用户。
accp2018 2013-05-06
  • 打赏
  • 举报
回复
引用 1 楼 music_mouse 的回复:
八成是你数据库查看用的帐号和程序连接用的帐号不是同一个
我用PLSQl登录信息是 username:system Password:text Database:orcl Connectas:SYSDBA 程序中连接字符串是: DataTable dt = new DataTable(); try { OracleConnection conn = new OracleConnection(@"Data Source=Demo;User ID=system;Password=test"); //Data Source后面跟你数据库的名字,User ID为用户名,Password为密码 conn.Open(); string sql = "select * from ALERT_QT"; OracleCommand cmd = new OracleCommand(sql, conn); OracleDataAdapter oda = new OracleDataAdapter(cmd); MessageBox.Show("111"); oda.Fill(dt); conn.Close(); cmd.Dispose(); return dt; } catch (Exception ex) { MessageBox.Show(ex.Message); return dt; } 那个SYSDBA用来干嘛的?
music_mouse 2013-05-06
  • 打赏
  • 举报
回复
八成是你数据库查看用的帐号和程序连接用的帐号不是同一个

17,082

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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