2

我有这个程序语句

<procedure id="InsertIOs" parameterMap="InsertIOsParams">
      SP_InsertIOs
    </procedure>

 </statements>

  <parameterMaps>
    <parameterMap id="InsertIOsParams">
      <parameter property="iosxml" column="iosxml" dbType="VarChar"/>
    </parameterMap>   
  </parameterMaps>

存储过程的名称是 SP_InsertIOs,它需要一个名为“iosxml”的字符串,该字符串在哈希表中传递(键名也是 iosxml)。我用它在数据库中插入 10000 个实体,它工作正常。如果我用它来插入 50000 个实体,我会得到一个超时 SqlException。如何设置程序的超时时间?我尝试了过程 id="InsertIOs" timeout="200" 但没有结果

4

1 回答 1

0

我们可以添加Connection Timeoutinxml configurationweb.config

  • 通过xml使用defaultStatementTimeout.
  • 在连接字符串中web.config添加。Connection Timeout = 200

完全配置的设置元素的示例xml如下:

<settings>
  <setting name="cacheEnabled" value="true"/>
  <setting name="lazyLoadingEnabled" value="true"/>
  <setting name="multipleResultSetsEnabled" value="true"/>
  <setting name="useColumnLabel" value="true"/>
  <setting name="useGeneratedKeys" value="false"/>
  <setting name="autoMappingBehavior" value="PARTIAL"/>
  <setting name="defaultExecutorType" value="SIMPLE"/>
  <setting name="defaultStatementTimeout" value="25"/>
  <setting name="safeRowBoundsEnabled" value="false"/>
  <setting name="mapUnderscoreToCamelCase" value="false"/>
  <setting name="localCacheScope" value="SESSION"/>
  <setting name="jdbcTypeForNull" value="OTHER"/>
  <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/>
</settings>

一个例子web.config

<connectionStrings>
    <remove name="LocalSqlServer"/>
    <add name="ConnectionString" 
         connectionString="Data Source=;
             Initial Catalog=;
             Persist Security Info=True;
             User ID=sa;
             Password=sa@123;
             Connect Timeout=200"
             ProviderName="System.Data.SqlClient"/>
</connectionStrings>
于 2015-06-09T10:16:20.680 回答