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的区别

  • 相关阅读:
    2.App Components-Activities/Loadres
    2.App Components-Activities/Fragments
    2.App Components-Activities
    2.App Components-Intents and Intent Filters
    1.Indroduction
    Fragment
    用继承和组合方式定制控件
    复杂布局实现
    Android源代码下载与跟踪
    电梯调度算法模拟
  • 原文地址:https://www.cnblogs.com/gongyu/p/3696441.html
Copyright © 2011-2022 走看看