vbscript
  • jet
  • 2012-04-19 9 views 0 likes 
    0

    要求に応じてCSVファイルから情報を取得しようとしていますが、このエラーが発生しています。 1つ以上の必須パラメータに値が指定されていません。コード80040E10ソース: Microsoft Jetデータベースエンジンそれは私のスクリプトの次の行に関係JETデータベースエンジン要求のVBScriptエラー

    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 
    

    :ここ

    はリクエストでスクリプトの全体の一部です。私は数週間のためにそれを触れないで持っていますが、何かが変わったと私は何を知っていないことが表示されます:/

    EDIT:

    :私は要求全体のWscript.Echoステートメントを実行する場合、それは私にこれを提供します

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

    +0

    「ComputerName」というフィールドは間違いありませんか? –

    +0

    はい、このようなフィールドが1つあります – Wawa41

    +0

    2回のチェックの後、私はこのスクリプトが通常のXPインストールでは正常に動作しますが、クライアントのマスターでは動作しないことがわかりました。 同じ条件(ネットワーク、共有、権利...)で、正しく動作しないようにできることはありますか? – Wawa41

    答えて

    0

    user69820のコメントで示されているように、単純なSQL文に対するエラーの原因としては、不正な列名が考えられます。 「同じ条件(ネットワーク、シェア、権利...)」(高い注文、私は認めます)と仮定すると、次の容疑者はフィールドセパレータを決定する(別の)地域設定です。

    考えるとドイツ語の設定(つまり ";" 区切り)、とのファイル ""

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

    などは、エラーの原因になります何の問題もなく

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

    意志の仕事 "しばらく。

    関連する問題