SQLServer中ADO,OLEDB,ODBC的区别
之前看过王志鹏一片博客《sql server 数据库连接方式分析、详解》一直以为连接数据库只有OLEDB和ODBC两种方式,因为自己可以肯定这次连接数据库使用的不是OLEDB方式。所以自己就断定使用的是 ODBC方式,因为自己想把自己的数据库连接改变为OLEDB方式尝试一下 ,经过各种尝试发现自己的想法是错的,其实还有ADO和DAO这两种方式, SQLServer连接VS是通过ADO这种方式连接数据库的。
三种方式的差别:
如果是ADO方式,则
命名空间中引入的是:Imports System.Data.SqlClient
连接数据库使用的相应对象为:SqlCommand,SqlConnection,SqlDataAdapter,SqlDataReader
举例:
Dim strconn As String = "server=localhost;uid=sa;pwd=123456654321;database=charge_sys"
Dim strsql As String = "select * from User_Info"
Dim conn As SqlConnection = New SqlConnection(strconn)
Dim cmd As SqlCommand = New SqlCommand(strsql, conn)
cmd.CommandType = CommandType.Text
cmd.CommandTimeout = 0.1
conn.Open()
Dim rdr As SqlDataReader = cmd.ExecuteReader
Dim dt As New DataTable
dt.Load(rdr)
rdr.Close()
conn.Close()
Return dt
如果是ODBC方式,则
命名空间中引入的是:Imports System.Data.Odbc
连接数据库使用的相应对象为:OdbcCommand,OdbcConnection,OdbcAdapter,OdbcDataReader
举例:
Dim strconn As String = "Driver={sql server};server=localhost;uid=sa;pwd=123456654321;database=charge_sys"
Dim strsql As String = "select * from User_Info"
Dim conn As OdbcConnection = New OdbcConnection(strconn)
Dim cmd As OdbcCommand = New OdbcCommand(strsql, conn)
cmd.CommandType = CommandType.Text
cmd.CommandTimeout = 0.1
conn.Open()
Dim rdr As OdbcDataReader = cmd.ExecuteReader
Dim dt As New DataTable
dt.Load(rdr)
rdr.Close()
conn.Close()
Return dt
如果是OLEDB方式,则
命名空间中引入的是:Imports System.Data.Oledb
连接数据库使用的相应对象为:OledbCommand,OledbConnection,OledbAdapter,OledbDataReader
举例:
Dim strconn As String = "Provider=SQLOLEDB;server=localhost;uid=sa;pwd=123456654321;database=charge_sys"
Dim strsql As String = "select * from User_Info"
Dim conn As OleDbConnection = New OleDbConnection(strconn)
Dim cmd As OleDbCommand = New OleDbCommand(strsql, conn)
cmd.CommandType = CommandType.Text
cmd.CommandTimeout = 0.1
conn.Open()
Dim rdr As OleDbDataReader = cmd.ExecuteReader
Dim dt As New DataTable
dt.Load(rdr)
rdr.Close()
conn.Close()
Return dt
大家可以发现,其实数据库连接字符串是不同的,不同的连接机制,对应的数据库连接字符串是不同的,这点大家都知道,推荐大家看一下王志鹏一片博客《sql server 数据库连接方式分析、详解》还有我在csdn上看到的另外一片博客《ADO,OLEDB,ODBC,DAO的区别》
SQLServer中ADO,OLEDB,ODBC的区别相关推荐
- ADO, OLEDB, ODBC, DAO的区别
ADO, OLEDB, ODBC, DAO的区别 ADO, OLEDB, ODBC, DAO的区别 ODBC(Open Database Connectivity,开放数据库互连) DAO(Data ...
- ADO,OLEDB,ODBC,DAO的区别
ADO NET OLEDB ODBC连接数据库的区别 http://www.doc88.com/p-976312043296.html http://blog.csdn.net/ithomer/art ...
- .NET中的OleDb,Odbc的Parameters
OleDb,Odbc使用Parameters,SQL语句中参数使用"?",在Parameters.Add()时,添加的参数是与SQL中的问号一一对应的,而并不在乎 两个参数名是否一 ...
- SqlServer中char,varchar,nchar,nvarchar的区别
在数据库中建表时,总是习惯的将一些字段定义为nvarchar,但关于它和nchar的区别,却没有细究过,今天上网仔细了解一下做个总结: 1.n代表的是Unicode字符,可以解决多语言字符集之间的转换 ...
- mysql 和 sqlserver中备份一张表的区别
sqlserver中备份一张表 SELECT * into qa_buglist_bak FROM qa_buglist 不管表的数据有多大,速度很快: mysql中上述语句就无效了,须得新建一张表, ...
- sqlserver中window身份验证跟sql server身份验证的区别
1.集成的Windows身份验证语法 1 string constr = "server=.;database=myschool;integrated security=SSPI" ...
- SQLSERVER中的ALL、PERCENT、CUBE关键字、ROLLUP关键字和GROUPING函数
SQLSERVER中的ALL.PERCENT.CUBE关键字.ROLLUP关键字和GROUPING函数 先来创建一个测试表 1 USE [tempdb] 2 GO 3 4 CREATE TABLE # ...
- 从sqlserver中数据写入mysql_从SQL server数据库导入Mysql数据库的体验
起原:网海拾贝 ,因任务需要,要将寄存在sqlserver数据库中的数据全部导入到mysql数据库中,在网上集合关连资料,找到两种体例,而今分袂谈谈对他 起原:网海拾贝 因任务需要,要将寄存在sql ...
- 我是如何在SQLServer中处理每天四亿三千万记录的
原文地址:http://www.cnblogs.com/marvin/p/HowCanIHandleBigDataBySQLServer.html 首先声明,我只是个程序员,不是专业的DBA,以下这篇 ...
最新文章
- “安卓之父”的新公司倒了:拿到腾讯投资,成为硅谷独角兽,五年只出了一款手机...
- oh-my-robot
- BLE-NRF51822教程8-动态广播
- sqlite3数据库操作小记
- python中的字体英文名_对python opencv 添加文字 cv2.putText 的各参数介绍
- php 商城套餐搭配功能,速卖通商品搭配套餐功能已上线!设置速卖通搭配套餐仅需三步...
- 参考平面及其高度_柱面及其方程
- 动态规划算法分析与探究
- 【BZOJ1901】Zju2112 Dynamic Rankings
- 宝马纯电动i4原型车谍照曝光 预计2021年上市
- xml实现删除一个节点
- 中国创客面临无限挑战
- 如何使用APUE源代码(UNIX高级编程)-转
- R语言学习笔记-Error in ts(x):对象不是矩阵问题解决
- Java并发编程中锁的正确使用方法
- 【JAVA】利用MOM消息队列技术实现分布式随机信号分析系统
- 普元eos java_普元EOS 案例
- mp4文件如何转换为webm格式 1
- 是程序员的都得知道为啥1024是程序员节
- 穿越技术火线,聆听内心声音——暨龙泉第三届IT禅修营