从vbscript执行sql

时间:2015-04-07 06:40:41

标签: sql sql-server 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")

显示以下错误:

  

脚本:脚本路径
  行: 4
   Char: 1
  错误:参数类型错误,超出可接受范围或彼此冲突。
  代码: 800A0BB9
  来源: ADODB.Connection

2 个答案:

答案 0 :(得分:1)

您是否要为密码设置单引号,因为字符串中的两个引号被视为1.

  

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

答案 1 :(得分:1)

更正连接字符串:

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