SQLServer中ADO,OLEDB,ODBC的区别
2013-12-11 22:05
267 查看
之前看过王志鹏一片博客《sqlserver数据库连接方式分析、详解》一直以为连接数据库只有OLEDB和ODBC两种方式,因为自己可以肯定这次连接数据库使用的不是OLEDB方式。所以自己就断定使用的是ODBC方式,因为自己想把自己的数据库连接改变为OLEDB方式尝试一下,经过各种尝试发现自己的想法是错的,其实还有ADO和DAO这两种方式,SQLServer连接VS是通过ADO这种方式连接数据库的。
三种方式的差别:
如果是ADO方式,则
命名空间中引入的是:ImportsSystem.Data.SqlClient
连接数据库使用的相应对象为:SqlCommand,SqlConnection,SqlDataAdapter,SqlDataReader
举例:
如果是ODBC方式,则
命名空间中引入的是:ImportsSystem.Data.Odbc
连接数据库使用的相应对象为:OdbcCommand,OdbcConnection,OdbcAdapter,OdbcDataReader
举例:
如果是OLEDB方式,则
命名空间中引入的是:ImportsSystem.Data.Oledb
连接数据库使用的相应对象为:OledbCommand,OledbConnection,OledbAdapter,OledbDataReader
举例:
大家可以发现,其实数据库连接字符串是不同的,不同的连接机制,对应的数据库连接字符串是不同的,这点大家都知道,推荐大家看一下王志鹏一片博客《sqlserver数据库连接方式分析、详解》还有我在csdn上看到的另外一片博客《ADO,OLEDB,ODBC,DAO的区别》
三种方式的差别:
如果是ADO方式,则
命名空间中引入的是:ImportsSystem.Data.SqlClient
连接数据库使用的相应对象为:SqlCommand,SqlConnection,SqlDataAdapter,SqlDataReader
举例:
DimstrconnAsString="server=localhost;uid=sa;pwd=123456654321;database=charge_sys" DimstrsqlAsString="select*fromUser_Info" DimconnAsSqlConnection=NewSqlConnection(strconn) DimcmdAsSqlCommand=NewSqlCommand(strsql,conn) cmd.CommandType=CommandType.Text cmd.CommandTimeout=0.1 conn.Open() DimrdrAsSqlDataReader=cmd.ExecuteReader DimdtAsNewDataTable dt.Load(rdr) rdr.Close() conn.Close() Returndt
如果是ODBC方式,则
命名空间中引入的是:ImportsSystem.Data.Odbc
连接数据库使用的相应对象为:OdbcCommand,OdbcConnection,OdbcAdapter,OdbcDataReader
举例:
DimstrconnAsString="Driver={sqlserver};server=localhost;uid=sa;pwd=123456654321;database=charge_sys"
DimstrsqlAsString="select*fromUser_Info"
DimconnAsOdbcConnection=NewOdbcConnection(strconn)
DimcmdAsOdbcCommand=NewOdbcCommand(strsql,conn)
cmd.CommandType=CommandType.Text
cmd.CommandTimeout=0.1
conn.Open()
DimrdrAsOdbcDataReader=cmd.ExecuteReader
DimdtAsNewDataTable
dt.Load(rdr)
rdr.Close()
conn.Close()
Returndt
如果是OLEDB方式,则
命名空间中引入的是:ImportsSystem.Data.Oledb
连接数据库使用的相应对象为:OledbCommand,OledbConnection,OledbAdapter,OledbDataReader
举例:
DimstrconnAsString="Provider=SQLOLEDB;server=localhost;uid=sa;pwd=123456654321;database=charge_sys"
DimstrsqlAsString="select*fromUser_Info"
DimconnAsOleDbConnection=NewOleDbConnection(strconn)
DimcmdAsOleDbCommand=NewOleDbCommand(strsql,conn)
cmd.CommandType=CommandType.Text
cmd.CommandTimeout=0.1
conn.Open()
DimrdrAsOleDbDataReader=cmd.ExecuteReader
DimdtAsNewDataTable
dt.Load(rdr)
rdr.Close()
conn.Close()
Returndt
大家可以发现,其实数据库连接字符串是不同的,不同的连接机制,对应的数据库连接字符串是不同的,这点大家都知道,推荐大家看一下王志鹏一片博客《
相关文章推荐
- SQLServer中ADO,OLEDB,ODBC的区别
- SQLServer中ADO,OLEDB,ODBC的区别
- SQLServer中ADO,OLEDB,ODBC的区别
- 【转】ADO,ADO.NET,OLEDB,ODBC连接数据库的区别
- ADO,OLEDB,ODBC,DAO的区别
- ODBC DAO ADO OLEDB 数据库连接方式区别
- [转]ODBC 、DAO 、ADO 、OLEDB 数据库连接方式区别及联系(转摘)
- ODBC 、DAO 、ADO 、OLEDB 数据库连接方式区别及联系
- ADO,OLEDB,ODBC,DAO,RDO的区别
- ODBC ADO ADO OLEDB 数据库连接方式区别
- ADO,ADO.NET,OLEDB,ODBC连接数据库的区别
- ADO,OLEDB,ODBC,DAO,RDO的区别说明
- ADO,OLEDB,ODBC,DAO的区别
- odbc dao ado oledb 数据库连接方式区别
- ADO,OLEDB,ODBC,DAO的区别
- ODBC 、DAO 、ADO 、OLEDB 数据库连接方式区别及联系(转摘)
- ADO,OLEDB,ODBC,DAO的区别
- ODBC 、DAO 、ADO 、OLEDB 数据库连接方式区别及联系
- ADO,OLEDB,ODBC,DAO的区别
- ADO,OLEDB,ODBC,DAO的区别