从 vbscript 执行 sql

Execute sql from vbscript

我想在本地 SQL Express 服务器上执行以下 SQL 脚本:

Select *
from OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
'Excel 12.0;HDR=YES;Database=C:\localpath\file.xlsx;', 
[Sheet1$])

从 SQL Express 查询 运行 工作正常。但是当我尝试从 vbscript 运行 它时:

dim dbconn, ConnectionString
ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=compname\SQLEXPRESS;Database=DB;ID=username;Password="";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;"
Set dbconn = CreateObject("ADODB.Connection")
dbconn.Open ConnectionString
dbconn.Execute("\path\query.sql")

它显示以下错误:

Script: Script path
Line: 4
Char: 1
Error: Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
Code: 800A0BB9
Source: ADODB.Connection

您的意思是为密码设置单引号,因为字符串中的两个引号被视为 1。

ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=compname\SQLEXPRESS;Database=DB;ID=username;Password="";Extended Properties='Excel 12.0;HDR=YES;IMEX=1;"

正确的连接字符串:

ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=dbname;Data Source=compname\SQLEXPRESS"