本菜鸟在练习使用vs2005开发oracle10g数据库时,出现下面的错误,从没接触过orcale,希望各位大侠帮小弟解答疑惑~~谢谢!
当"select * from companyinform"缺少“;”时,错误提示如下图:PS:oracle数据库和vs2005都装在同一服务器上,服务器win2003SP2

解决方案 »

  1.   

    select * from dbo.companyinform  , oracle里表前面都要写上所有者的。 不一定是dbo,你看看应该是什么就写什么。
      

  2.   

    sqloda.Fill(xxx,xxx)
    为什么你要填第二个参数? 只有dataset里面有名为xxx的table时才能这样用吧
      

  3.   

    注意你的connString中的账户是否具有访问此表的权限
      

  4.   


    首先感谢各位的解答,但是还是没解决。oracle数据库的连接字符串为:connstring = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=JSC)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=WebServiceTest)));User Id=wsdb;Password=wsdb;";oracle用户wsdb具有dba权限,companyinform表也是由wsdb创建,并且使用PLSQL developer登录都能查询这个表的数据。
    另外2楼和6楼提到的表的所有者是不是指建立该表的用户,我也是了加上wsdb.companyinform还是不行,另外6楼提到的命名空间是oracle里是什么意思,去掉了“;”,还是出现第二张图那样的错误提示。期待大家帮忙~
      

  5.   

    在sql*plus 里执行看看,应该不需要;
    检查名称
      

  6.   

    问题终于解决了,还是自己的问题。现在把过程说出来,大家帮忙解释解释:原先用sys连接为sysdba登录,建立表空间,然后建立wsdb用户;然后退出用wsdb连接为sysdba登录,创建表companyinform,所以一直出现上述的错误,经过查看发现这个表的所有者为sys,表空间为system。刚才试了下,用wsdb连接为normal登录,创建companyinform表(原先表删除后重建),程序就没上述错误,datagridview显示数据正确。问题解决了,但是由于oracle不熟悉,不知道哪位大侠帮忙解释下。
    再次谢谢各位帮忙解答的大侠!