2012-11-15 78 views
0

當我嘗試訪問我的Access數據庫使用Solr DIH它給了我一個錯誤:Solr的DIH無效取大小

java.sql.SQLException: Invalid Fetch Size 

我的配置和requesthandler和dataconfig。即時通訊從一個文件使用2007訪問數據庫。我已經將我的java版本更改爲32位與32位驅動程序進行通信。所以我不認爲它與此有關。

<dataConfig> 
    <dataSource type="JdbcDataSource" 
       driver="sun.jdbc.odbc.JdbcOdbcDriver" 
       url="jdbc:odbc:test" 
       batchSize="-1" 
       convertType="true"/> 
    <document> 
    <entity name="id" 
      query="select ID from myTest"> 
    </entity> 
    </document> 
</dataConfig> 

    <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults"> 
     <str name="config">data-config.xml</str> 
    </lst> 
    </requestHandler> 
+0

batchSize =「 - 1」我認爲會。嘗試將其更改爲「1」,因爲-1會將其設置爲每默認一批獲取500行,並且某些驅動程序無法處理該行。 –

+0

我已將它設置爲0,它現在似乎可以正常工作。但是,在添加大約60000個文檔後,我遇到了其他錯誤,它停止了:( – DavidVdd

回答

0

嘗試設置你的batchSize="-1"batchSize="1"0。 將batchSize設置爲-1是默認值,因此DIH將其設置爲默認值500,並且一些驅動程序無法處理它。

你可以在這裏閱讀更多DIH FAQ

至於你得到一些其他錯誤,可以請你張貼的錯誤是什麼?

+0

java.sql.SQLException:[Microsoft] [ODBC Microsoft Access Driver]無效的事務狀態,我添加了大約60000個文檔後纔得到它 – DavidVdd

+0

添加或閱讀?如果您從MS Access文件讀取,您遇到了某種形式的事務鎖定,請嘗試關閉它之間的讀取。 –