配置ADO.NET類文件連接優化
在向大家詳細介紹ADO.NET類文件之前,首先讓大家了解下ADO.NET類文件,ADO.NET類文件還是比較常用的,于是我研究了一下ADO.NET類文件,在這里拿出來和大家分享一下,希望對大家有用。。
使用連接
高性能的應用程序保持使用最少次數的數據源的連接,也利用了類似連接池的性能增強技術。下面的技巧幫你使用ADO.NET類文件時獲得更好的性能。 連接池 SQL Server、OLE DB和.NET框架組件數據提供程序隱性為ODBC提供了連接池。你可以在連接字符串中指定不同的屬性控制連接池的行為。
用DataAdapter優化連接
數據適配器的Fill和Update方法自動地為相關的命令屬性打開特定的連接(如果它被關閉的話)。如果ADO.NET類文件或Update方法打開了連接,Fill或Update將在操作完成時關閉它。為了提高性能,只在必要時保持數據庫連接打開,同時為多個操作減少打開和關閉連接的次數。 #t#
我們推薦如果你只執行單個的Fill或Update方法調用,你應該允許Fill或Update隱式打開和關閉連接。如果大量調用Fill或者Update,我們推薦顯式打開,進行Fill或Update調用,然后顯式關閉連接。
此外執行事務時,ADO.NET類文件在開始事務前明確地打開連接,在完成事務后明確地關閉連接。例如:
- PublicSubRunSqlTransaction(daAsSqlDataAdapter,
- myConnectionAsSqlConnection,dsAsDataSet)
- myConnection.Open()
- DimmyTransAsSqlTransaction=myConnection.BeginTransaction()
- myCommand.Transaction=myTrans
- Try
- da.Update(ds)
- myTrans.Commit()
- Console.WriteLine("Updatesuccessful.")
- CatcheAsException
- Try
- myTrans.Rollback()
- CatchexAsSqlException
- IfNotmyTrans.ConnectionIsNothingThen
- Console.WriteLine("Anexceptionoftype"
- &ex.GetType().ToString()&_
- "wasencounteredwhileattemptingtorollbackthetransaction.")
- EndIf
- EndTry
- Console.WriteLine("Anexceptionoftype
- "&e.GetType().ToString()&"wasencountered.")
- Console.WriteLine("Updatefailed.")
- EndTry
- myConnection.Close()
- EndSub