Dav*_*itz 5 vbscript ms-access
我有一个 Access 数据库,供希望使用 vbscript 连接和查询数据库的客户使用(这样他们就可以实现自动化,而无需实际打开 Access 2000 MDB)。我不知道如何建立数据库连接。
我已经尝试了几个脚本,使用 DAO 和 OLEDB。下面我粘贴了我所得到的最接近的,使用 ODBC 文件 DSN(恐怕使用系统 DSN 需要在客户端进行额外的工作,我试图保持简单)。
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordset = CreateObject("ADODB.Recordset")
'ERROR OCCURS HERE
objConnection.Open "FileDSN=D:\RLS.dsn;"
objRecordset.CursorLocation = adUseClient
objRecordset.Open "SELECT County FROM CountyTBL" , objConnection, adOpenStatic, adLockOptimistic
Run Code Online (Sandbox Code Playgroud)
以下是 RLS.dsn 的内容(我使用 Windows 控制面板创建了它,因此我确信它是正确的):
[ODBC]
DRIVER=Microsoft Access Driver (*.mdb)
UID=admin
UserCommitSync=Yes
Threads=3
SafeTransactions=0
PageTimeout=5
MaxScanRows=8
MaxBufferSize=2048
FIL=MS Access
DriverId=25
DefaultDir=D:\
DBQ=D:\RLS_be.mdb
Run Code Online (Sandbox Code Playgroud)
我收到的错误消息(这与我尝试过的其他两个脚本类似)是:
“第 5 行,字符 4 错误:[Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序。来源:Microsoft OLE DB Provider for ODBC Drivers”
您可以简单地使用 ADO 连接到文件,而无需设置 DSN。这对您的客户来说会更简单。
对于Access 2000、2002-2003 MDB,请使用以下连接字符串:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\RLS_be.mdb"
对于Access 2007、2010、2013 ACCDB:
"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=D:\RLS_be.accdb"
整体连接代码:
' Build connection string
Dim sConnectionString
sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\RLS_be.mdb"
' Create connection object
Dim objConnection
Set objConnection = CreateObject("ADODB.Connection")
' Open Connection
objConnection.open sConnectionString
' Get recordset from SQL query
Dim objRecordset
Dim sQuery
sQuery = "SELECT County FROM CountyTBL"
Set objRecordset = CreateObject("ADODB.Recordset")
objRecordset.CursorLocation = adUseClient
objRecordset.Open sQuery, objConnection, adOpenStatic, adLockOptimistic
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12824 次 |
| 最近记录: |