溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用DataAdapter優(yōu)化ADO.NET連接池

發(fā)布時間:2021-11-03 15:04:14 來源:億速云 閱讀:100 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“如何使用DataAdapter優(yōu)化ADO.NET連接池”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何使用DataAdapter優(yōu)化ADO.NET連接池”這篇文章吧。

用于ODBC的SQL Server、OLE DB和.NET框架數(shù)據(jù)提供程序隱式緩沖連接。通過在連接字符串中指定不同的屬性值,可以控制ADO.NET連接池的行為。

DataAdapter 的Fill和Update方法在連接關(guān)閉的情況下自動打開為相關(guān)命令屬性指定的連接。如果Fill或Update方法打開了連接,F(xiàn)ill或Update 將在操作完成的時候關(guān)閉它。為了獲得***性能,僅在需要時將與數(shù)據(jù)庫的連接保持為打開。同時,減少打開和關(guān)閉多操作連接的次數(shù)。如果只執(zhí)行單個的Fill或Update方法調(diào)用,建議允許Fill或Update方法隱式打開和關(guān)閉連接。如果對Fill和Update調(diào)用有很多,建議顯式打開連接,調(diào)用Fill和Update,然后顯式關(guān)閉連接。另外,當(dāng)執(zhí)行事務(wù)時,顯式地在開始事務(wù)之前打開連接,并在提交之后關(guān)閉連接。例如:

'Visual Basic  Public Sub RunSqlTransaction(da As SqlDataAdapter, myConnection As SqlConnection, ds As DataSet)  myConnection.Open()  Dim myTrans As SqlTransaction = myConnection.BeginTransaction()  myCommand.Transaction = myTrans  Try  da.Update(ds)  myTrans.Commit()  Console.WriteLine("Update successful.")  Catch e As Exception  Try  myTrans.Rollback()  Catch ex As SqlException  If Not myTrans.Connection Is Nothing Then  Console.WriteLine("An exception of type " & ex.GetType().ToString() & " was encountered while attempting to roll back the transaction.")  End If  End Try   Console.WriteLine("An exception of type " & e.GetType().ToString() & " was encountered.")  Console.WriteLine("Update failed.")  End Try  myConnection.Close()  End Sub   //C#  public void RunSqlTransaction(SqlDataAdapter da, SqlConnection myConnection, DataSet ds)  {  myConnection.Open();  SqlTransaction myTrans = myConnection.BeginTransaction();  myCommand.Transaction = myTrans;   try  {  da.Update(ds);  myCommand.Transaction.Commit();  Console.WriteLine("Update successful.");  }  catch(Exception e)  {  try  {  myTrans.Rollback();  }  catch (SqlException ex)  {  if (myTrans.Connection != null)  {  Console.WriteLine("An exception of type " + ex.GetType() +" was encountered while attempting to roll back the transaction.");  }  }   Console.WriteLine(e.ToString());  Console.WriteLine("Update failed.");  }  myConnection.Close();

以上是“如何使用DataAdapter優(yōu)化ADO.NET連接池”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI