SELECT * FROM D:\myworkLog\SMCenter\SLog\2006\03\SLog01.txt WHERE target_no = "111"java.sql.SQLException: [Microsoft][ODBC Text Driver] 参数不足,期待是 1。上面是我在java中查询一个文本文件内容的sql语句和报的错误怎么样才能解决这个问题呢?
请高手指教!!!

解决方案 »

  1.   

    SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
      'Data Source="D:\myworkLog\SMCenter\SLog\2006\03\SLog01.txt";User ID=Admin;Password=;')
      

  2.   

    谢谢可可!我是的sql语句不加where条件就好用,加上就不好用,我用的是纯文本的查询方法,就是在文本文件路径建立了表描述文件schema.ini,然后根据这个文件对文本的描述查询。schema文件里的内容为:
    [SLog01.txt]
    ColNameHeader=False
    Format=TabDelimited
    MaxScanRows=25
    CharacterSet=OEM
    Col1=log_date Char Width 20
    Col2=send_time Char Width 20
    Col3=target_no Char Width 20
    Col4=client_name Char Width 20
    Col5=client_no Char Width 20
    Col6=insurance_no Char Width 30
    Col7=sequence Char Width 30
    Col8=Service_id Char Width 20
    Col9=msg_content Char Width 140查询语句为:Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").
                    newInstance();
                String url =
                    "jdbc:odbc:Driver={Microsoft Text Driver (*.txt; *.csv)};DBQ=";            String username = "";
                String password = "";
                Connection conn = DriverManager.getConnection(url, username,
                    password);            Statement stmt = null;
                ResultSet rs = null;
    rs = stmt.executeQuery("SELECT target_no FROM D:\mywork\中国人寿二期2006222\M95519_II\Log\SMCenter\SLog\2006\03\Lottery315\SLog01.txt WHERE target_no = \"111\""
    );
                    //                
                    while (rs.next())
                    {
                        ............
                     }不加WHERE条件一切正常,只要加上就报上面的错误。