我正在尝试通过向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'
答案 0 :(得分:0)
正如user69820的注释所示,导致该错误的最可能原因是简单的SQL语句是一个错误的列名。假设“相同的条件(网络,股票,权利......)”(高顺序,我承认),我认为下一个嫌疑人是(不同的)区域设置确定字段分隔符。
给定德语设置(即“;”分隔符),带有“,”的文件,如
ComputerName,WhatEver
"ABC123",1
"DEF456",2
会导致错误,而
ComputerName;WhatEver
"ABC123";1
"DEF456";2
将“正常工作”。