在vba中用ado访问各种数据源的连接字符串汇总

用ado访问数据源时,连接字符串是关键,如果连接字符串错误了,往往无法访问成功。

本文收集整理了常用的在vba中用ado访问各种数据源的连接字符串。

1.连接Excel数据源的连接字符串:

Dim sConstr  As String
'在32位平台下可以用的连接字符串
sConstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyExcel.xls;Extended Properties=Excel 8.0;HDR=Yes;IMEX=1"

其中”HDR=Yes;”表示第一行包含列标题, “HDR=No;” 表示不把第一行当做列标题。

“IMEX=1;”表示告诉驱动程序总是把混合数据类型(数字、日期、文本)的列看做是文本。

Dim sConstr  As String
'在64位平台下可以用的连接字符串
sConstr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myExcelFile.xls;Extended Properties=Excel 8.0;HDR=YES"

从OFFICE 2007开始,微软引入了一个新的连接程序,Office 2007 OLEDB driver

Microsoft.ACE.OLEDB.12.0

用该连接程序可以访问2007(含)以上的OFFCIE数据源,对于excel数据源行数超过65536的也可以使用该连接程序。

Dim sConStr As String
sConStr = "Provider='Microsoft.ACE.OLEDB.12.0';Data Source=" & Excel.ThisWorkbook.Path & "\tcel.xlsm" & ";Extended Properties='Excel 12.0;HDR=YES'"

2.连接ACCESS数据源的连接字符串

Dim sConstr  As String
'32位下用的连接字符串
sConstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb"
Dim sConstr  As String
'64位下用的连接字符串
sConstr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myAccessFile.accdb"

3.连接带密码的ACCESS数据源的连接字符串

4.连接Sql Server数据库的连接字符串

    sDBName = "ESAPP1"
    sUID = "sa"
    sPW = "gxdz3852487"
    sAdd = "IP地址,端口号"
    sConStr = "Provider=sqloledb;Server=" & sAdd & ";Database=" & sDBName & ";User ID=" & sUID & ";Pwd=" & sPW

访问其它数据源的连接字符串可以在这里查询

       

发表评论