2015-04-07 66 views
1

我想本地的SQL Express服務器上執行下面的SQL腳本的執行SQL:從SQL Express的從VBScript

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

查詢運行工作正常。但是,當我試圖從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=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=dbname;Data Source=compname\SQLEXPRESS" 
1

難道你的意思是有密碼的一個單引號作爲字符串中的兩個單引號被視爲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;"

+0

好點子。我已將其更改爲單引號,但仍有一個錯誤,但不同: **錯誤:**初始化字符串的格式不符合OLE DB規範。 –

+0

我在_Properties ='Excel 12.0'_中發現另一個apostrphe失蹤。填寫完這些之後,我收到了「無法找到可安裝的ISAM」。錯誤。任何線索? –

+0

這是一個連接字符串的網站。 https://www.connectionstrings.com/excel/ – Serenity