zoukankan      html  css  js  c++  java
  • 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       

          举例:

    1. <span style="font-size:18px;"> Dim strconn As String = "server=localhost;uid=sa;pwd=123456654321;database=charge_sys"  
    2.         Dim strsql As String = "select * from User_Info"  
    3.         Dim conn As SqlConnection = New SqlConnection(strconn)  
    4.         Dim cmd As SqlCommand = New SqlCommand(strsql, conn)  
    5.         cmd.CommandType = CommandType.Text  
    6.         cmd.CommandTimeout = 0.1  
    7.         conn.Open()  
    8.         Dim rdr As SqlDataReader = cmd.ExecuteReader  
    9.         Dim dt As New DataTable  
    10.         dt.Load(rdr)  
    11.         rdr.Close()  
    12.         conn.Close()  
    13.         Return dt</span>  
    1. <span style="font-size:18px;"></span>   

    如果是ODBC方式,则

         命名空间中引入的是:Imports System.Data.Odbc

         连接数据库使用的相应对象为:OdbcCommand,OdbcConnection,OdbcAdapter,OdbcDataReader       

          举例:

    1. <span style="font-size:18px;">Dim strconn As String = "Driver={sql server};server=localhost;uid=sa;pwd=123456654321;database=charge_sys"  
    2.         Dim strsql As String = "select * from User_Info"  
    3.         Dim conn As OdbcConnection = New OdbcConnection(strconn)  
    4.         Dim cmd As OdbcCommand = New OdbcCommand(strsql, conn)  
    5.         cmd.CommandType = CommandType.Text  
    6.         cmd.CommandTimeout = 0.1  
    7.         conn.Open()  
    8.         Dim rdr As OdbcDataReader = cmd.ExecuteReader  
    9.         Dim dt As New DataTable  
    10.         dt.Load(rdr)  
    11.         rdr.Close()  
    12.         conn.Close()  
    13.         Return dt</span>  


     

    如果是OLEDB方式,则

          命名空间中引入的是:Imports System.Data.Oledb

          连接数据库使用的相应对象为:OledbCommand,OledbConnection,OledbAdapter,OledbDataReader       

           举例:

    1. <span style="font-size:18px;"Dim strconn As String = "Provider=SQLOLEDB;server=localhost;uid=sa;pwd=123456654321;database=charge_sys"  
    2.         Dim strsql As String = "select * from User_Info"  
    3.         Dim conn As OleDbConnection = New OleDbConnection(strconn)  
    4.         Dim cmd As OleDbCommand = New OleDbCommand(strsql, conn)  
    5.         cmd.CommandType = CommandType.Text  
    6.         cmd.CommandTimeout = 0.1  
    7.         conn.Open()  
    8.         Dim rdr As OleDbDataReader = cmd.ExecuteReader  
    9.         Dim dt As New DataTable  
    10.         dt.Load(rdr)  
    11.         rdr.Close()  
    12.         conn.Close()  
    13.         Return dt</span>  


          大家可以发现,其实数据库连接字符串是不同的,不同的连接机制,对应的数据库连接字符串是不同的,这点大家都知道,推荐大家看一下王志鹏一片博客《sql server 数据库连接方式分析、详解》还有我在csdn上看到的另外一片博客《ADO,OLEDB,ODBC,DAO的区别

  • 相关阅读:
    Meten Special Activities II
    Meten Special Activities II
    Meten Special Activities II
    Meten Special Activities II
    Meten Special Activities
    Meten Special Activities
    Meten Special Activities
    Meten Special Activities
    Meten Special Activities
    冒泡排序和选择排序
  • 原文地址:https://www.cnblogs.com/gongyu/p/3696441.html
Copyright © 2011-2022 走看看