这个不是Oracle的问题,而是你的Ado.net语句中对象没有实例化。

解决方案 »

  1.   

    我想应该是程序的问题.你照下面的改一下看看:
    private OleDbConnection conn()
    {
        OleDbConnection c;
        string conStr="连接串";
        c.connectstring=conStr;
        c.open();
        return c;

     
    private DataSet ds()
    try
    {
             string sql="select .......这里是你的查询语句";
    string strsql = "Alter Session Set NLS_DATE_FORMAT ='YYYY-MM-DD'";
    cmd = new OleDbCommand(strsql,new conn);
    cmd.ExecuteNonQuery(); da = new OleDbDataAdapter(sql,new conn);   <-----这里实例化一个联结
    da.Fill(dt);
    return dt;
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);    <----这里把出错的异常信息显示出来,看是哪里的错误
    }
    finally
    {
        //关闭联结
        if(da.connection.state==ConnectionState.open)
        {
            da.connection.close();
            da.connection.dispose();
        }
    }
      

  2.   

    不好意思,dt = new DataTable() 这句话有的,忘了发出来。
    现在的问题在于对不含日期型字段的表进行操作时,没有错误,而对日期型字段进行操作时,有时会出错,有时就正常,看起来似乎是随机错误,但每次重启IIS后都是好的,所以很奇怪
      

  3.   

    对啊,因为你重起来IIS所有的联结都没有了,都要重新连接.