OracleCommand com = new OracleCommand();
                com.Connection = con;
                com.CommandText = "Hoursdj";
                com.CommandType = CommandType.TableDirect;
出錯,此提供者不支援直接表格存取。

解决方案 »

  1.   

    TableDirect只支持Data Provider for OLE DB.改成SQL语句如何:
    OracleCommand com = new OracleCommand();
    com.Connection = con;
    com.CommandText = "select * from Hoursdj";
    com.CommandType = CommandType.Text;
      

  2.   

    不行啊,我就是想把表中的數據一次性寫到ORACLE中啊
    //OracleDataAdapter adta = new OracleDataAdapter(com);
                    //string ab = "ROWNO,PRODUCTNO,CUSTNO,RDESTIMATE,IMI05,IMIPIE,PIE,PIEDATE,RIMIPIE,RPIE,RPIEDATE,DJDATE,DJUSER,RDESTIMATEC,IMI05C,REMARK";
                    //string[] fieldname = ab.Split(',');
                    //for (Int16 i = 1; i < ds.Columns.Count; i++)
                    //{
                    //    adta.TableMappings.Add(ds.Columns[i].ColumnName.ToString(), fieldname[i - 1]);
                    //}          
                    //DataTable dsb = new DataTable();
                    //adta.Fill(dsb);
      

  3.   

    使用CommandType.TableDirect不支持写去,只能读取,只有用于 OLE DB 的 .NET Framework 数据提供程序才支持 TableDirect。当 CommandType 设置为 TableDirect 时,不支持对多个表的访问。