请教如何通过DataSet高效批量的插入数据到Oracle数据量超大的多表DataSet 通过WebService 传到服务器端,然后循环插入到数据库中。
表结构都一样。
我现在采用insert into .... ....... values (........)方式插入。速度慢的吓人。请高人指点迷津,如何提速???
表结构都一样。
我现在采用insert into .... ....... values (........)方式插入。速度慢的吓人。请高人指点迷津,如何提速???
调试欢乐多
OracleCommand cmd=new OracleCommand("insert into EVENTLOG_PRINT(ETYPE,WTIME,GTIME,ESOURCE,ECATEGORY,E_DESCR,EUSER,EMACHINE) values(:ETYPE,:WTIME,:GTIME,:ESOURCE,:ECATEGORY,:E_DESCR,:EUSER,:EMACHINE)",conn);
da.InsertCommand=cmd;
OracleParameter ETYPE=da.InsertCommand.Parameters.Add(new OracleParameter(":ETYPE",OracleType.NVarChar,1000));
OracleParameter WTIME=da.InsertCommand.Parameters.Add(new OracleParameter(":WTIME",OracleType.DateTime));
OracleParameter GTIME=da.InsertCommand.Parameters.Add(new OracleParameter(":GTIME",OracleType.DateTime));
OracleParameter ESOURCE=da.InsertCommand.Parameters.Add(new OracleParameter(":ESOURCE",OracleType.NVarChar,1000));
OracleParameter ECATEGORY=da.InsertCommand.Parameters.Add(new OracleParameter(":ECATEGORY",OracleType.NVarChar,1000));
OracleParameter E_DESCR=da.InsertCommand.Parameters.Add(new OracleParameter(":E_DESCR",OracleType.NVarChar,4000));
OracleParameter EUSER=da.InsertCommand.Parameters.Add(new OracleParameter(":EUSER",OracleType.NVarChar,1000));
OracleParameter EMACHINE=da.InsertCommand.Parameters.Add(new OracleParameter(":EMACHINE",OracleType.NVarChar,1000)); ETYPE.SourceColumn=dt.Columns[0].ColumnName;
WTIME.SourceColumn=dt.Columns[1].ColumnName;
GTIME.SourceColumn=dt.Columns[2].ColumnName;
ESOURCE.SourceColumn=dt.Columns[3].ColumnName;
ECATEGORY.SourceColumn=dt.Columns[4].ColumnName;
E_DESCR.SourceColumn=dt.Columns[5].ColumnName;
EUSER.SourceColumn=dt.Columns[6].ColumnName;
EMACHINE.SourceColumn=dt.Columns[7].ColumnName; da.Update(dt);