我有这个程序声明
<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”但没有结果
答案 0 :(得分:0)
我们可以在Connection Timeout
或xml configuration
中添加web.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>