JET数据库引擎请求的VBScript错误

时间:2012-04-19 13:53:44

标签: vbscript jet

我正在尝试通过向csv文件执行请求来检索csv文件中的某些信息但我仍然遇到此错误: 没有给出一个或多个必需参数的值,代码80040E10来源:Microsoft JET数据库引擎

它涉及我的脚本的以下行:

RECORDSET.Open "SELECT * FROM " & strFile & " WHERE ComputerName = '" & OldComputerName & "'", CONNECTION, 3, 3

但是如果我在请求之前执行了strFile和OldComputerName的wscript.echo,它们会显示正确的值。

以下是带有请求的脚本的整个部分:

dim CONNECTION : set CONNECTION = CreateObject("ADODB.CONNECTION")
dim RECORDSET : set RECORDSET = CreateObject("ADODB.RECORDSET")
CONNECTION.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\contoso.scom\DP_IT\Rollout\;Extended Properties=""text;HDR=YES;FMT=Delimited"""
strFile = "[CONTOSO-OPR-ComputerList.csv]" 
wscript.echo strfile
wscript.echo OldComputerNameenter 
RECORDSET.Open "SELECT * FROM " & strFile & " WHERE ComputerName = '" & OldComputerName & "'", CONNECTION, 3, 3

我想说的是之前有效。我有几个星期没碰过它,但似乎有些事情发生了变化,我不知道:/

编辑:如果我对整个请求做了wscript.echo,那就给我这个:

SELECT * FROM [CONTOSO-OPR-ComputerList.csv] WHERE ComputerName = 'ABC123'

1 个答案:

答案 0 :(得分:0)

正如user69820的注释所示,导致该错误的最可能原因是简单的SQL语句是一个错误的列名。假设“相同的条件(网络,股票,权利......)”(高顺序,我承认),我认为下一个嫌疑人是(不同的)区域设置确定字段分隔符。

给定德语设置(即“;”分隔符),带有“,”的文件,如

ComputerName,WhatEver
"ABC123",1
"DEF456",2

会导致错误,而

ComputerName;WhatEver
"ABC123";1
"DEF456";2

将“正常工作”。