2010-06-27 16 views
9

Microsoft JDBC sürücüsü aracılığıyla Microsoft SQL Server ile konuşmak için Solr alma konusunda sorun yaşıyorum. Ben işleyici solrconfig.xml kayıtlı adres:SQL Server ile Solr DataImportHandler

Ben bir veri kaynağı ve tanımlanmış bir belgeyi içeren veri-config.xml olarak
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler"> 
    <lst name="defaults"> 
    <str name="config">C:\Program Files\Apache Software Foundation\Tomcat 6.0\Solr\conf\data-config.xml</str> 
    </lst> 
</requestHandler> 

:

<?xml version="1.0" encoding="UTF-8" ?> 
<dataConfig> 
    <dataSource type="JdbcDataSource" name="ds1" 
    driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
    url="jdbc:sqlserver://localhost;databaseName=myDB;responseBuffering=adaptive;" 
    user="xxxx" 
    password="xxxx" 
    readOnly="true" 
    /> 

    <document name="members"> 
    <entity name="member" datasource="ds1" pk="id" 
     query = "select 
     MemberID as id, 
     UserName as userName, 
     FirstName as firstName, 
     LastName as lastName, 
     Birthday as birthday, 
     PrimaryEmail as primaryEmail, 
     PersonalStatement as personalStatement 
     from member" 
     transformer="DateFormatTransformer"> 
     <field column="Birthday" name="birthday" dateTimeFormat="yyyy-MM-dd" /> 
    </entity>  
    </document> 
</dataConfig> 

kolonlar oldukça alakasız - Sadece istedim Bir tarih sütunu dahil olmak üzere birkaç öğe ile başlayın. Solr schema.xml bazı alanlar tanımlanmış bulunmaktadır:

26 Haziran 2010 22:24:48 org: Ben bir ithalat çalıştığınızda

<field name="id" type="tlong" indexed="true" stored="true" required="true" /> 
<field name="userName" type="text" indexed="true" stored="true" /> 
<field name="firstName" type="text" indexed="true" stored="true" /> 
<field name="lastName" type="text" indexed="true" stored="true" /> 
<field name="birthday" type="tdate" indexed="true" stored="true" /> 
<field name="primaryEmail" type="text" indexed="true" stored="true" /> 
<field name="personalStatement" type="text" indexed="true" stored="true" /> 

, günlük veri kaynağı bina bir istisna gösterir. apache.solr.handler.dataimport.DataImporter doFullImport BİLGİ: Başlangıç ​​İçe Aktarım 26 Haz 2010 10:24:48 PM org.apache.solr.core.SolrCore Yürütme BİLGİ: [] webapp =/solr yol =/select params = {clean = false & commit = true & command = tam olarak içe aktarma & qt =/dataimport} status = 0 QTime = 7 26 Haz 2010 10:24:48 PM org.apache.solr.handler.dataimport.SolrWriter readIndexerProperties UYARI: Okunamayan veriler: dataimport.properties Jun 26, 2010 10:24:48 PM org.apache. solr.handler.dataimport.DataImporter doFullImport CİDDİ: Tam İthalat başarısız oldu org.apache.solr.handler.dataimport.DataImportHandlerException: No dataSource: tüzel kişi için kullanılabilir: üye İşleme Belgesi # 1 org.apache.solr.handler adresinde. org.apache.solr.handler.dataimport.ContextImpl.getDataSource adresindeki dataimport.DataImporter.getDataSourceInstance (DataImporter.java:279) (ContextImpl.java:93) org.apache.solr.handler.dataimport.SqlEntityProcessor.init (SqlEntityProcessor.java:52) org.apache.solr.handler.dataimport.EntityP adresinde org.apache.solr.handler.dataimport.DocBuilder.buildDocument (DocBuilder.java:319) adresindeki org.apache.solr.handler.dataimport.DocBuilder.doFullDump öğesinde (DocBuilder. java: 242) org.apache.solr.handler.dataimport.DocBuilder.execute (DocBuilder.java:180) adresinde org.apache.solr.handler.dataimport.DataImporter.doFullImport (DataImporter.java:331) org.apache.solr.handler.dataimport.DataImporter.runCmd (DataImporter.java:389) adresindeki org.apache.solr.handler.dataimport.DataImporter $ 1.run (DataImporter.java:370) 26 Haziran 2010 10: 24:48 PM org.apache.solr.update.DirectUpdateHandler2 geri alma BİLGİ: rollback'i başlat Haz 26, 2010 10:24:48 PM org.apache.solr.update.DirectUpdateHan dler2 geri alma INFO: end_rollback 26 Haz 2010 10:24:54 PM org.apache.solr.core.SolrCore Yürütme BİLGİ: [] webapp =/solr yol =/param params = {clean = false & commit = true & komut = statü & qt =/dataimport} 0 QTime = I SSS ve belgeleri okudum 0

, ben bulabilirsiniz ve sadece bu geçemiyorum gibi birçok kaynaktan baktı = durum hata. Neyi yanlış yapıyorum? Yapılandırmada herhangi bir sorun olduğunda "Okuma yapılamıyor: dataimport.properties" hatası görünüyor. Hatamı bulamıyorum.

cevap

8

Bu doğru nitelik kullanma çünkü veri kaynağı varlık bildiriminde tanınmadığı gibi görünüyor değil, datasource

dataSource olduğunu