Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 4.0 OracleBulkCopy错误:';0';不是有效的';间隔';_C# 4.0 - Fatal编程技术网

C# 4.0 OracleBulkCopy错误:';0';不是有效的';间隔';

C# 4.0 OracleBulkCopy错误:';0';不是有效的';间隔';,c#-4.0,C# 4.0,我有以下代码 using (OracleConnection srcConn = new OracleConnection()) using (OracleConnection destConn = new OracleConnection()) { srcConn.ConnectionString = AppInfo.SrcConnStr; srcConn.Open(); destConn.ConnectionString = App

我有以下代码

    using (OracleConnection srcConn = new OracleConnection())
    using (OracleConnection destConn = new OracleConnection())
    {
      srcConn.ConnectionString = AppInfo.SrcConnStr;
      srcConn.Open();
      destConn.ConnectionString = AppInfo.DestConnStr;
      destConn.Open();

      using (OracleCommand destCmd = new OracleCommand("ALTER SESSION SET NLS_DATE_FORMAT = 'yyyy-mm-dd hh24:mi:ss'", destConn))
      using (OracleCommand srcCmd = new OracleCommand("ALTER SESSION SET NLS_DATE_FORMAT = 'yyyy-mm-dd hh24:mi:ss'", srcConn))
      {

        // Non-query
        srcCmd.ExecuteNonQuery();
        destCmd.ExecuteNonQuery();
        if (Timing) { ut.TimeIt(stopwatch, "Get Connection and Command"); }

        srcCmd.CommandTimeout = 0;
        destCmd.CommandTimeout = 0;

        srcCmd.CommandText = "select * from table_name";
        rd = srcCmd.ExecuteReader();
        rd.FetchSize = rd.RowSize * AppInfo.BatchSize; }

        OracleBulkCopy copy = new OracleBulkCopy(destConn);
        copy.DestinationTableName = DestTable;
        copy.BatchSize = AppInfo.BatchSize;
        copy.NotifyAfter = AppInfo.BatchSize;
        copy.OracleRowsCopied += new OracleRowsCopiedEventHandler(OnOracleRowsCopied);
        copy.BulkCopyTimeout = AppInfo.CommandTimeOut;
        copy.WriteToServer(rd);

      }
    }
当它到达copy.WriteToServer(rd)时;它给出了以下错误

 System.ArgumentException was caught
 Message='0' is not a valid value for 'Interval'. 'Interval' must be greater than 0.
 Source=System
 StackTrace:
   at System.Timers.Timer.set_Interval(Double value)
   at Oracle.DataAccess.Client.OracleBulkCopy.PerformBulkCopy()
   at Oracle.DataAccess.Client.OracleBulkCopy.WriteDataSourceToServer()
   at Oracle.DataAccess.Client.OracleBulkCopy.WriteToServer(IDataReader reader)
我的问题是,我如何修复它


非常感谢您的帮助。

问题可能是将
CommandTimeout
s设置为零。尝试一个合理的数字。我认为这是以秒为单位指定的。

问题可能是将
CommandTimeout
s设置为零。尝试一个合理的数字。我想这是以秒为单位的。

Richard,谢谢你的回复。我很感激。你是对的。copy.BulkCopyTimeout设置为0,这是导致此错误的原因。将其设置为非零数字有效。Richard,谢谢您的回复。我很感激。你是对的。copy.BulkCopyTimeout设置为0,这是导致此错误的原因。将其设置为非零值是有效的。