数据库连接字符串 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=;" 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。