2010-07-14 13 views
2

i ont cette déclaration de procédureIbatis - délai d'attente de procédure stockée

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

</statements> 

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

Le nom de la procédure stockée est SP_InsertIOs qui attend une chaîne appelée « iosxml » qui est passé dans une table de hachage (le nom de clé est également iosxml). Je l'utilise pour insérer 10000 entités dans la base de données et cela fonctionne très bien. Si je l'utilise pour insérer 50000 entités, je reçois une exception SqlException. Comment puis-je définir un délai d'attente pour la procédure? Je essayé id = procédure timeout "InsertIOs" = "200", mais sans résultat

+2

problème résolu, i ajouté Connection Timeout = 120 dans la chaîne de connexion . – ion

Répondre

0

Nous pouvons ajouter le Connection Timeout soit dans xml configuration ou web.config.

  • En xml en utilisant defaultStatementTimeout.
  • Dans web.config, ajoutez Connection Timeout = 200 dans la chaîne de connexion.

Un exemple de l'élément de réglage entièrement configuré en xml est le suivant:

<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> 

un exemple pour web.config

<connectionStrings> 
    <remove name="LocalSqlServer"/> 
    <add name="ConnectionString" 
     connectionString="Data Source=; 
      Initial Catalog=; 
      Persist Security Info=True; 
      User ID=sa; 
      [email protected]; 
      Connect Timeout=200" 
      ProviderName="System.Data.SqlClient"/> 
</connectionStrings>