偶刚接触oracle数据库。以前用过sql server,并用excel VBA开发过一些小工具去连接Sql server去读取数据。但用同样的方法连接oracle的时候,碰到一个很难理解的问题:1)通过adodb和adox连接oracle数据库,并通过catalog对象获得oracle的所有表名称和字段列表;
2)参照步骤1里罗列的表和字段信息输入sql语句,以期待返回查询结果;
3)错误提示:"ORA-00942:表或视图不存在"请问oracle的表名和sql有什么不同?明明通过adox读出来的表名,怎么在Sql语句里就不存在了呢?如果想通过sql查询的方式返回数据到excel界面,到底如何操作比较可行?

解决方案 »

  1.   

    关于使用MYSQL的语句,在oralce里建表,表名要注意。。大小写,双引号
      

  2.   

    plsql就有导出结果为excel的功能啊,干嘛不用呢
      

  3.   

    oracle和sql server的基本语法不是一样的吗?怎么会只在oracle中出现这样的问题呢。
    表或视图不存在,就我所遇到的就是没有建这个表或视图,还有一种情况就是没有访问这个视图或表的权限,你可以看下啊
      

  4.   

    应该是权限问题,普通用户是没有权限查询catalog这个视图中的信息的。解决方法:以sys用户登录,然后给你的用户赋权
    grant select any table to 用户;然后
    select * from sys.catalog;或者以sys用户登录后,为catalog 建一个全局同义词
    create public synonym synonym_name for catalog;