gpt4 book ai didi

ms-access - 如何使用 VBScript 连接到 Access 数据库

转载 作者:行者123 更新时间:2023-12-04 14:17:45 25 4
gpt4 key购买 nike

我有一个想要使用 vbscript 连接和查询数据库的客户端的 Access 数据库(因此他们可以在不实际打开 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

这是 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

我得到的错误消息(这与我尝试过的其他 2 个脚本类似)是:

“第 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

关于ms-access - 如何使用 VBScript 连接到 Access 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58565009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com