使用SQLDataReader與使用SQL Server> = 2005的實現IDatareader的閱讀器相比,有什麼優勢?通過實現IDatareader的閱讀器使用SQLDataReader的優點?
SQLDatareader是否具有更多功能可供選擇,還是使用SQLDatareader進行性能改進?
任何討論這個問題的文章將不勝感激。
謝謝!
Chris
使用SQLDataReader與使用SQL Server> = 2005的實現IDatareader的閱讀器相比,有什麼優勢?通過實現IDatareader的閱讀器使用SQLDataReader的優點?
SQLDatareader是否具有更多功能可供選擇,還是使用SQLDatareader進行性能改進?
任何討論這個問題的文章將不勝感激。
謝謝!
Chris
,首先請允許我糾正你的誤解:如果您使用的SQL Server不是每一個的IDataReader將能夠從您的MS SQL Server
讀取數據在.NET環境中(你的問題所適用的我承擔到)有兩個具體類實現可以訪問SQL Server的IDataReader。一個是SQLDataReader,另一個是OleDbDataReader。 OleDbDataReader實際上依賴於OleDb protocol,它基本上是一個RDBMS通信協議。在您的代碼中使用IDataReader將(或多或少)確保您可以替換它後面的具體數據註冊器(例如,讓您能夠切換數據庫供應商,而不是我認識任何成功完成該任務的人)。
對於acessing SQL Server中,專門SqlDataReader的更快通過根據本source 115%,因爲它使用本地SQL服務器協議(命名管道/ TCP/IP)。它還支持特殊的SQL Server功能,如MARS。
.HasRows屬性是我能想到的唯一一個。 雖然這並不是必要的。
謝謝,約翰內斯。爲什麼SQLDataReader應該更快? – GernBlandston 2009-10-16 08:55:32
我已更新我的帖子,請參閱上文。不要猶豫,將其標記爲答案:-) – 2009-10-16 12:46:51