数据库里有但是程序说表或者视图不存在?
我在运行里面用SQL语句查询和在PLSQL工具里面查询都有这个表。
可是在程序里面运行说表或者视图不存在?
这是怎么回事?

解决方案 »

  1.   

    我用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用来干嘛的?
      

  2.   

    1.表不要建在 system,sys这些用户下2.pl/sql 登录, 除了sys,其他建议 以normal 身份登录。
    3.可以从dba_tables视图里面,看下你这个表 具体属于哪个用户。
      

  3.   

    我用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用来干嘛的?1  可能是用户不对
    2  如果你用了存储过程,那么也可能是角色授权不对
      

  4.   

    我用PLSQl登录信息是
    username:system
    Password:text
    Database:orcl
    Connectas:normalPLSQL登陆之后执行以下语句:
    select * from tab;查看ALERT_QT是否在结果中
      

  5.   


    你用
    username:阿猫
    Password:阿狗
    Database:orcl
    Connectas:SYSDBA
    一样能登录进去,但这不代表你的用户叫阿猫
      

  6.   


    你用
    username:阿猫
    Password:阿狗
    Database:orcl
    Connectas:SYSDBA
    一样能登录进去,但这不代表你的用户叫阿猫在PLSQL里面这样登陆是不可以的