在使用JDBC SQLServerDriver配置Solr DataImportHandler连接到SQL Server后,启动Apache Solr Admin(Win7)会产生以下错误。 MS Sql JDBC Connector sqljdbc4.jar放在bin和Solr的lib文件夹中。
org.apache.solr.servlet.SolrDispatchFilter init
SEVERE: Could not start SOLR. Check solr/home property
org.apache.solr.common.SolrException: FATAL: Could not create importer. DataImporter config invalid
...
Caused by: org.apache.solr.handler.dataimport.DataImportHandlerException: Exception occurred while initializing context
at ...
Caused by: org.xml.sax.SAXParseException: Content is not allowed in prolog...
solrconfig.xml具有:
<requestHandler name="dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
data-config.xml是:
<dataConfig>
<dataSource type="JdbcDataSource" name="hy"
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost;databaseName=test;responseBuffering=adaptive;"
user="test"
password="test"
readOnly="true"/>
<document name="listings">
<entity name="listings" dataSource="hy" pk="ListID"
query = "SELECT ListID, Description, PostDate FROM Listings"
transformer="DateFormatTransformer">
<field column="PostDate" name="PostDate" dateTimeFormat="yyyy-MM-dd" />
</entity>
</document>
</dataConfig>
任何建议都将受到赞赏。
答案 0 :(得分:2)
在data-config.xml文件中删除多余的空格。
答案 1 :(得分:0)
您的requestHandler名称前面似乎需要一个“/”:
<requestHandler name="/dataimport" ...
。
我希望这会有所帮助。