我用query(激活)、dbgrid和datasoure察看表TABLE1的内容时出错
“找不到表TABLE1”
这里的表TABLE1是用data manager中的输入功能输入的,来自SQL SERVER。
query中用了SQL语句“select * from GIS.table1”
用DELPHI中的SQL EXPLORER察看可以看到table1数据可是我在GIS中新建了一个表table2,加入数据后用
select * from GIS.table2在dbgrid中可以看到表table2的数据

解决方案 »

  1.   

    问题:
    GIS是什么???Oracle的管理方式与SQL Server不同!!!Oracle中一个数据库就是一个进程,而在SQL Server中,多个数据库是一个进程!!!所以在Oracle中GIS.table1表示的是用户GIS的表Table1,在SQL Server中GIS.table1表示的是GIS数据库的表Table1。解决:如果你保证已经连接到Oracle,那么使用select * from table1就可以了!!!
      

  2.   

    说的好,长了知识。
    可是我用的GIS就是用户,用select * from table1和select * from GIS.table1
    都出错。
    我想问题在
    “我在GIS中新建了一个表table2,加入数据后用
    select * from GIS.table2在dbgrid中可以看到表table2的数据”
    而在同一个用户中的tabl1就找不到 ,这是否与数据是由SQL server输入的有关。
      

  3.   

    query1.sql.add('select * from '+gis.table1.tablename);
      

  4.   

    1、你保证用户能访问Table1吗???Oracle的权限设置非常严格,比SQL Server严格很多!!!
    2、你确认Table1是GIS用户创建的吗???
      

  5.   

    如果你使用的是BDE,那么Oracle中的数据对象都需要大写!!!