做的一个系统,在运行时总是提示 表或视图不存在,我想确认一下,是不是连接对了数据库,这个怎么查询?

解决方案 »

  1.   

    connection的异常多半是连接有问题
    command的异常多半是sql有问题
    调试运行,看看异常在哪里,sql语句放sqlplus里面能不能正常执行,又或者ora-xxxxx错误代码也可以搜索出很多信息
      

  2.   

    sql可以在SQL plus中运行,但是就是显示表或视图不存在,再有就是grid view绑定数据源时,竟然没有以创建的表,到底怎么回事,好几天了,闹心! 求大神指点指点啊!
      

  3.   

     public DataSet GetStrDataSet(string StrName)
            {
                Open();
                OracleDataAdapter adapter = new OracleDataAdapter(StrName, Connection);            
                DataSet dataset = new DataSet();
                adapter.Fill(dataset);//报错了
                Close();
                return dataset;
            }
      

  4.   

    string mysqlstr = "Data Source=orcl;Persist Security Info=False;User ID=system;Password=zero;Unicode=True"; 这个就是连接的字符串,异常就是表或视图不存在。
    怎么回事? 难道连接有问题?
      

  5.   

    orcl实例里面有sql语句里面的表吗?
    oracle是在本机还是远程?
    tnsping orcl是否ok?
    用这个看看呢
    Data Source=TORCL;User Id=myUsername;Password=myPassword;
      

  6.   

    tnsping orcl 没问题  oracle是在本机 实例中有表啊!
      

  7.   

    不行显示错误ORA-12154: TNS: 无法解析指定的连接标识符
     那个连接字符串什么意思啊?
      

  8.   

    你总不会没换实例名和用户名密码就用那连接字符串了吧,把sql语句和tnsname.ora发来看看
      

  9.   

    昨天换过了,但是不行! 
    这个是tnsnames.ora
    # TNSNAMES.ORA Network Configuration File: d:\oracle\905228\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.
    dwlin165.us.oracle.com =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = dwlin165.us.oracle.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ora1010.us.oracle.com)
        )
      )DWSUN42 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = dwsun42)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = dev920.us.oracle.com)
        )
      )dwlin12 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = dwlin12)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = iasdb.dwlin12.us.oracle.com)
        )
      )
    ORA1010 =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = stadq33.us.oracle.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ora1010.us.oracle.com)
        )
      )
      

  10.   

    连接本身没问题,不过你练到那个数据库了,就要你自己验证了,最好的方法,就是,tnsnames.ora文件中
    把你不想连接的数据库信息,先都删掉,测试一下。
      

  11.   

    Winform连接Oracle?  改用Oledb吧 
      

  12.   

    改用, 谁有ORACLEhelp类
      

  13.   

    string mysqlstr = "Data Source=orcl;Persist Security Info=False;User ID=system;Password=zero;Unicode=True";这是你的连接字符串,你再看看你的tnsnames.ora,发现什么问题了没有?
      

  14.   

    没有发现什么问题啊,这是ora文件
    # tnsnames.ora Network Configuration File: E:\app\Administrator\product\11.1.0\db_2\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 0818F0F75D2A4BD)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
      

  15.   

    sql 语句里表名加上 数据库名,比如
    select * from 数据库名.表名
    数据库名 也许表述的不准备,但就这意思,以前我用 java 连 oracle 时也死活找不到表或视图,原因就是没加这个
      

  16.   

    那你就加上用户名试试
    select * from 用户名.表名
      

  17.   

    oracle数据库中,允许你将表建到指定的用户下,这个能是你问题的根源!有可能你登录的PLSQL时用的刚好就是建表的用户,而你程序上或许用了另一个用户去链接!问题先确认你的表是否建到了某一用户下,如果是,那在SQL语句时,采用用户.表名的方式可以访问!如你在DBUser1下建了一个表叫USerInfo,则你可以用SQL语句:Select * from DBUser1.UserInfo查询,如果你登录时不并不是用的DBUser1这个账户,上边的语句可以执行,但是语句:Select * from UserInfo则不能执行了!看看你是不是有这个问题!
      

  18.   


     SELECT table_name, owner from dba_tables where table_name='tablename';
      

  19.   

     我是在.NET中运行的,不是在sqlplus中。你的这个语句 不行的啊
      

  20.   

    那你试试啊,表名前加上用户名
    select * from 用户名.表名