日期:2014-05-18  浏览次数:20708 次

新手问题 请教各位老师!
各位老师最近看的东西很是费解 希望能帮我作出解答 谢谢 那我就把我迷惑的东西 说出来
System.Data.SqlClient
System.Data.Common
System.Data.Odbc
System.Data.OleDb
他们之间有什么本质上的区别
最近看的例子都是用odbc 或者是oledb连接SQL 还有用common的 但是没见几个用sqlclient的 虽然我知道如果用ms sql server还是用sqlclient这个类好的多
但是同时也很想知道他们为什么会做出用odbc的选择
还有就是用common来引用SqlClient类 和直接用SqlClient有什么不同 谁好谁坏 能帮我做个解答吗?

------解决方案--------------------
sqlclient对sqlserver有特别饿优化

3种不同的数据源类型他们的接口是一样的,所以可以通过Common来进行操作。用common而不是用sqlclient是为了符合ocp原则。因为你的数据源有可能会变,你要是直接使用sqlclient就会修改代码
------解决方案--------------------
这样说吧 SqlClient 优化sqlserver数据库的
OleDb 当然包括基本所有数据库的
Odbc 针对数据源odbc
OracleClient 针对oracle数据库优化的 

就是说 你是sql的数据那么就使用 SqlClient 他是经过优化的 虽然oledB也可以实现访问 ORACLE 同理

主要是看你用什么数据库 假如使用ACCES就使用oledb连接 ODBC呢他是比oledb更老的一种格式 不过包含能访问的数据库更多不过速度非常慢