数据库连接字符串 ODBC DSN,ODBC DSN-Less, OLE DB Provider,和"MS Remote" Provider

下面将简单介绍一下几种ADO连接方式:ODBC DSN,ODBC DSN-Less, OLE DB Provider,和"MS Remote" Provider.

 I.DSN
  oConn.Open "DSN=AdvWorks; UID=Admin; PWD=;"
  注意:从MDAC2.1开始就不能够在使用这样的方式了,就是只把DSN文件名放在ConnectString中。你必须同时使用DSN,UID,PWD标志。例如下面的方式在MDAC 2.1中将会出错:oConn.Open "AdvWorks"

 II.File DSN
  oConn.Open "FILEDSN=\somepath\mydb.dsn; UID=Admin; PWD=;"

 III.ODBC DSN-Less Connections
  a)ODBC Text Driver
   oConn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)}; Dbq=\somepath\;" & _
    "Extensions=asc,csv,tab,txt; Persist Security Info=False"
  注意:需要在SQL语句中指定使用到的文件名。例如:
   oRs.Open "Select * From customer.csv", oConn, adOpenStatic, adLockReadOnly, adCmdText

  b)ODBC Driver for Access
   i)普通安全模式:
    oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _ 
     "Dbq=\somepath\mydb.mdb; Uid=Admin; Pwd=;"

   ii)如果使用了System database:
    oConn.Open "Driver={Microsoft Access Driver (*.mdb)};" & _ 
     "Dbq=\somepath\mydb.mdb; SystemDB=\somepath\mydb.mdw;", "admin", ""

  c)ODBC Driver for SQL Server
   i)普通安全模式
    oConn.Open "Driver={SQL Server}; Server=carl2;" & _
     "Database=pubs; Uid=sa; Pwd=;"

   ii)使用信任安全模式:
    oConn.Open "Driver={SQL Server}; Server=carl2;" & _
     "Database=pubs; Uid=; Pwd=;"

  注意:要使用空白的Uid和Pwd

  d)ODBC Driver for Oracle
   i)使用现有的Oracle ODBC Driver from Microsoft:
    oConn.Open "Driver={Microsoft ODBC for Oracle};" & _
     "Server=OracleServer.world; Uid=demo; Pwd=demo;"

   ii)使用老版本的Oracle ODBC Driver from Microsoft:
    oConn.Open "Driver={Microsoft ODBC Driver for Oracle};" & _
     "ConnectString=OracleServer.world; Uid=demo; Pwd=demo;"

 IV)使用微软的OLE DB Data Link Connections方式Data Link File (UDL)
  a)使用绝对路径
   oConn.Open "File Name=\somepath\pubs.udl;"

  b)使用相对路径
   oConn.Open "File Name=pubs.udl;"

V)OLE DB Provider Connections方式
  a)OLE DB Provider for ODBC Databases
   i)Access (Jet):
    oConn.Open "Provider=MSDASQL; Driver={Microsoft Access Driver (*.mdb)};" & _
     "Dbq=\somepath\mydb.mdb; Uid=Admin; Pwd=;"

   ii)SQL Server:
    oConn.Open "Provider=MSDASQL; Driver={SQL Server};" & _
     "Server=carl2; Database=pubs; Uid=sa; Pwd=;"

  b)OLE DB Provider for Microsoft Jet (Access)
   i)普通安全模式:
    oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
     "Data Source=\somepath\mydb.mdb; User Id=admin; Password=;"

   ii)如果使用了System database:
    oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
     "Data Source=\somepath\mydb.mdb; Jet OLEDB:System Database=system.mdw;", "admin", "" 
   注意:当使用OLE DB Provider4.0版本是,需要把MDB和MDW文件转换成4.0的数据库格式

   iii)如果MDB需要一个数据库密码的话:
    oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
     "Data Source=\somepath\mydb.mdb; Jet OLEDB:Database Password=MyDbPassword;", "admin", ""

  c)OLE DB Provider for Excel Spreadsheet: 
   oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\somepath\expenses.xls;" & _
    "Extended Properties=Excel 8.0;HDR=Yes;" 
  注意: "HDR=Yes"表示在第一行中是行标题,在provider中将不把第一行包括入recordset中

  d)OLE DB Provider for SQL Server
   i)普通安全模式:
    oConn.Open "Provider=sqloledb; Network Library=DBMSSOCN;" & _
     "Data Source=carl2; Initial Catalog=pubs; User Id=sa; Password=;"

   ii)使用信任安全模式:
    oConn.Open "Provider=sqloledb; Network Library=DBMSSOCN;" & _
     "Data Source=carl2; Initial Catalog=pubs; Trusted_Connection=yes;"
   注意:"Network Library=DBMSSOCN"声明OLE DB使用TCP/IP替代Named Pipes.

  e)OLE DB Provider for Oracle
   oConn.Open "Provider=msdaora; Data Source=OracleServer.world;" & _
    "User Id=sa; Password=;"

 (VI)Remote OLE DB Provider Connections方式(就是RDS方式):
  a)MS Remote - Access (Jet)
   i)ODBC DSN:
    oConn.Open "Remote Server=http://carl2; Remote Provider=MSDASQL;" & _
     "DSN=AdvWorks; Uid=admin; Pwd=;"

   ii)OLE DB Provider:
    oConn.Open "Provider=MS Remote; Remote Server=http://carl2;" & _
     "Remote Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\somepath\mydb.mdb;", "admin", ""

   iii)OLE DB Provider自定义事务对象
    oConn.Open "Provider=MS Remote; Remote Server=http://carl2;" & _
     "Handler=MSDFMAP.Handler; Data Source=MyAdvworksOLEDBConnectTag;"

  b)MS Remote - SQL Server
   i)ODBC DSN:
    oConn.Open "Remote Server=http://carl2; Remote Provider=MSDASQL;" & _
     "Network Library=DBMSSOCN; DSN=Pubs; Uid=sa; Pwd=;"

   ii)OLE DB Provider
    oConn.Open "Provider=MS Remote; Remote Server=http://carl2;" & _
     "Remote Provider=SQLOLEDB; Network Library=DBMSSOCN;" & _
     "Data Source=carl2; Initial Catalog=pubs; User ID=sa; Password=;"

时间: 2024-11-02 03:15:01

数据库连接字符串 ODBC DSN,ODBC DSN-Less, OLE DB Provider,和"MS Remote" Provider的相关文章

从HelloWorld启航——数据库连接字符串的困惑

程序员方阵 数据库连接字符串的困惑 数据库连接字符串的组成 驱动程序 ODBC OLE DB JDBC 比较 数据库链接字符串大全 SQL Server 2005 SQL Native Client ODBC Driver SQL Native Client OLE DB Provider SqlConnection NET MySQL MyODBC OLE DB OleDbConnection NET MySqlConnection NET Oracle ODBC OLE DB OleDbCo

数据库连接字符串大全

以下内容均为转载未经验证. 原文地址 http://www.cnblogs.com/daview/archive/2004/04/10/5763.aspx 很感谢creativepeter(头皮屑)提供的本连接地址(http://www.connectionstrings.com/) SQL Server ODBC  Standard Security: "Driver={SQL Server};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;"

ADO_NET 数据库连接字符串大全

ADO.NET连接数据库字符串大全 ADO.NET连接数据库字符串大全 说明 1 - SQL Server2 - SQL Server 20053 - ACCESS, Oracle4 - MySQL, Interbase, IBM DB25 - Sybase, Informix, Ingres, Mimer SQL, Lightbase, PostgreSQL, Paradox, DNS6 - Firebird, Excel , Text, DBF / FoxPro, AS/400 (iSeri

Cannot obtain the required interface ("IID_IDBCreateCommand") from OLE DB provider "OraOLEDB.Oracle" for linked server xxxx

  今天遇到了一个关于LINKED SERVER查询报错的案例,链接服务器链接ORACLE数据库,测试没有错误,但是执行脚本的时候,报如下错误: Msg 7399, Level 16, State 1, Line 1 The OLE DB provider "OraOLEDB.Oracle" for linked server "xxxx" reported an error. Access denied. Msg 7301, Level 16, State 2,

win7 64位机ODBC的数据源DSN添加和移除问题

64位机器上ODBC的操作方法与32位机器是不一样的,如果直接从控制面板上-管理员工具-ODBC进去的话会发现User DSN以及System DSN里面都为空,ADD的时候连ODBC Driver都找不到,正确的方法应该是从C:\WINDOWS\SysWOW64进入后,找到odbcad32.exe,打开之后就能看到已有的System DSN及已安装的ODBC Driver.(为什么要命名为odbcad32我实在是不太理解). 接下来要说说System DSN的移除,一般情况下是能正常移除的,可

简单了解ADO.NET、ADO、OLE DB、ODBC

一.数据访问方式的历史 通用数据访问模型:      ODBC – (Open Database Connectivity)是一种底层的访问技术,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口). OLE DB – 随着越来越多的数据以非关系型格式存储,需要一种新的架构来提供这种应用和数据源之间的无缝连接,基于COM(Component Object Model)的OLE DB应运而生了. 数据访问客户端:    DAO - (Data Access Objects)不

ODBC、OLE DB、 ADO的区别

一.ODBC ODBC的由来 1992年Microsoft和Sybase.Digital共同制定了ODBC标准接口,以单一的ODBC API来存取各种不同的数据库.随后ODBC便获得了许多数据库厂商和Third-Party的支持而逐渐成为标准的数据存取技术.ODBC以当时的业界标准规范X/OpenCall-LevelInterface(CLI)和ISO/IEC9075-3Call-LevelInterface(SQL/CLI)为涵盖的范围,因而支持了广阔的数据库.虽然ODBC在初期的版本中执行效

SSAS:OLE DB 错误: OLE DB 或 ODBC 错误 : Login failed for user 'NT Service\MSSQLServerOLAPService'

问题描述 按照微软官方教程尝试使用SSAS做OLAP时,出现如下错误信息: Severity Code Description Project File Line Suppression State Error OLE DB 错误: OLE DB 或 ODBC 错误 : Login failed for user 'NT Service\MSSQLServerOLAPService'.; 28000. 0 问题原因 该问题是由于连接SQL Server数据源的时候,产生了授权认证错误. 解决方案

【转载】OLE DB, ADO, ODBC关系与区别

原文:OLE DB, ADO, ODBC关系与区别 OLE DB, ADO, ODBC 一. ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口).这些API利用 SQL来完成其大部分任务.ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC