You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Lance Norskog <go...@gmail.com> on 2010/08/03 05:09:13 UTC

Re: Indexing data on MSSQL failed: Caused by: org.apache.solr.common.SolrException: Error loading class 'com.micros oft.sqlserver.jdbc.SQLServerDriver'

> (PS. is there a way where I can test the current connectionstring?)

There are many jdbc-explorer apps around that take a jdbc url. You
should be able to test your jdbc url and driver with one of those.

On Mon, Aug 2, 2010 at 2:33 PM, PeterKerk <ve...@hotmail.com> wrote:
>
> Hi Michael,
>
> Thanks, I now use that. But the same error.
>
> (PS. is there a way where I can test the current connectionstring?)
>
> Therefore I have attached 1 image with 2 screenshots of my situation.
> http://lucene.472066.n3.nabble.com/file/n1017327/Untitled.png Untitled.png
>
> Here's my current data-config:
>
> <dataConfig>
> <dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
> url="jdbc:sqlserver://localhost\SQLEXPRESS\Databases\wedding:1433" user="sa"
> password="123456" />
>    <document name="weddinglocations">
>        <entity name="location" dataSource="ds1" query="select * from
> locations">
>            <field column="ID" name="id" />
>            <field column="TITLE" name="title" />
>            <field column="CITY" name="city" />
>
>            <entity name="location_feature" query="select FEATUREID from
> location_features where locationid='${location.ID}'">
>                <entity name="feature" query="select title from features
> where id = '${location_feature.FEATUREID}'">
>                    <field name="features" column="title" />
>                </entity>
>            </entity>
>
>            <entity name="location_theme" query="select CATEGORYID from
> location_themes where locationid='${location.ID}'">
>                <entity name="theme" query="select title from features where
> id = '${location_theme.FEATUREID}'">
>                    <field name="cat" column="title"  />
>                </entity>
>            </entity>
>
>        </entity>
>    </document>
> </dataConfig>
>
>
>
> And here's the current output in cygwin:
>
>
> INFO: Creating a connection for entity location with URL:
> jdbc:sqlserver://local
> host\SQLEXPRESS\Databases\wedding:1433
> Aug 2, 2010 11:29:25 PM org.apache.solr.handler.dataimport.DocBuilder
> buildDocum
> ent
> SEVERE: Exception while processing: location document :
> SolrInputDocument[{}]
> org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to
> execute
>  query: select * from locations Processing Document # 1
>        at
> org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAnd
> Throw(DataImportHandlerException.java:72)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<
> init>(JdbcDataSource.java:253)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSou
> rce.java:210)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSou
> rce.java:39)
>        at
> org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEn
> tityProcessor.java:58)
>        at
> org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEnti
> tyProcessor.java:71)
>        at
> org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(Ent
> ityProcessorWrapper.java:237)
>        at
> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilde
> r.java:357)
>        at
> org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.j
> ava:242)
>        at
> org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java
> :180)
>        at
> org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImpo
> rter.java:331)
>        at
> org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.j
> ava:389)
>        at
> org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.ja
> va:370)
> Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for
> use
> r 'sa'.
>        at
> com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError
> (SQLServerException.java:197)
>        at
> com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246
> )
>        at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:83)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerC
> onnection.java:2529)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConne
> ction.java:1905)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServer
> Connection.java:41)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecu
> te(SQLServerConnection.java:1893)
>        at
> com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLSe
> rverConnection.java:1400)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLSer
> verConnection.java:1045)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConne
> ction.java:817)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerCon
> nection.java:700)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.
> java:842)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSour
> ce.java:162)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSour
> ce.java:128)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcD
> ataSource.java:363)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource.access$300(JdbcData
> Source.java:39)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<
> init>(JdbcDataSource.java:240)
>        ... 11 more
> Aug 2, 2010 11:29:25 PM org.apache.solr.handler.dataimport.DataImporter
> doFullIm
> port
> SEVERE: Full Import failed
> org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to
> execute
>  query: select * from locations Processing Document # 1
>        at
> org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAnd
> Throw(DataImportHandlerException.java:72)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<
> init>(JdbcDataSource.java:253)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSou
> rce.java:210)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSou
> rce.java:39)
>        at
> org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEn
> tityProcessor.java:58)
>        at
> org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEnti
> tyProcessor.java:71)
>        at
> org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(Ent
> ityProcessorWrapper.java:237)
>        at
> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilde
> r.java:357)
>        at
> org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.j
> ava:242)
>        at
> org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java
> :180)
>        at
> org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImpo
> rter.java:331)
>        at
> org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.j
> ava:389)
>        at
> org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.ja
> va:370)
> Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for
> use
> r 'sa'.
>        at
> com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError
> (SQLServerException.java:197)
>        at
> com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246
> )
>        at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:83)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerC
> onnection.java:2529)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConne
> ction.java:1905)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServer
> Connection.java:41)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecu
> te(SQLServerConnection.java:1893)
>        at
> com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4575)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLSe
> rverConnection.java:1400)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLSer
> verConnection.java:1045)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConne
> ction.java:817)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerCon
> nection.java:700)
>        at
> com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.
> java:842)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSour
> ce.java:162)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSour
> ce.java:128)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcD
> ataSource.java:363)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource.access$300(JdbcData
> Source.java:39)
>        at
> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<
> init>(JdbcDataSource.java:240)
>        ... 11 more
> Aug 2, 2010 11:29:25 PM org.apache.solr.update.DirectUpdateHandler2 rollback
> INFO: start rollback
> Aug 2, 2010 11:29:25 PM org.apache.solr.update.DirectUpdateHandler2 rollback
> INFO: end_rollback
>
> --
> View this message in context: http://lucene.472066.n3.nabble.com/Indexing-data-on-MSSQL-failed-Caused-by-org-apache-solr-common-SolrException-Error-loading-class-com-tp1015137p1017327.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>



-- 
Lance Norskog
goksron@gmail.com

Re: Indexing data on MSSQL failed: Caused by: org.apache.solr.common.SolrException: Error loading class 'com.micros oft.sqlserver.jdbc.SQLServerDriver'

Posted by alokdayal <da...@gmail.com>.
Hi Peter,

I've also faced the same problem which you did. I also changed my
data-config.xml file same as yours and checked that my MS Sql Server is
running on default port i.e, 3306 given the same to connection string but
still its not working.

Could you pls. share your solrconfig.xml and schema.xml file so that I can
change it accordingly and my problem would be solved

Thanks 

ALOK  
-- 
View this message in context: http://lucene.472066.n3.nabble.com/Indexing-data-on-MSSQL-failed-Caused-by-org-apache-solr-common-SolrException-Error-loading-class-com-tp1015137p1444820.html
Sent from the Solr - User mailing list archive at Nabble.com.

RE: Indexing data on MSSQL failed: Caused by: org.apache.solr.common.SolrException: Error loading class 'com.micros oft.sqlserver.jdbc.SQLServerDriver'

Posted by Michael Griffiths <mg...@am-ind.com>.
We'd need to see your schema.xml file for that; it's probably something in your field types.

-----Original Message-----
From: PeterKerk [mailto:vetteparty@hotmail.com] 
Sent: Tuesday, August 03, 2010 7:49 AM
To: solr-user@lucene.apache.org
Subject: Re: Indexing data on MSSQL failed: Caused by: org.apache.solr.common.SolrException: Error loading class 'com.micros oft.sqlserver.jdbc.SQLServerDriver'


Hooray, im a bit further now...

Turned out that both SQL2005 and 2008 were running, where 2005 was listening on port 1433. I disabled that services, enabled the 2008 service and now I can connect and the command http://localhost:8983/solr/db/dataimport?command=full-import is successfull.

But now I want to SEARCH in those indexed documents via http://localhost:8983/solr/db/admin/

See here the result of the query *:*

<response>
−
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
−
<lst name="params">
<str name="indent">on</str>
<str name="start">0</str>
<str name="q">*:*</str>
<str name="version">2.2</str>
<str name="rows">10</str>
</lst>
</lst>
−
<result name="response" numFound="3" start="0"> − <doc> <str name="id">1</str> <date name="timestamp">2010-08-03T11:43:38.905Z</date>
<str name="title">Gemeentehuis Nijmegen</str> </doc> − <doc> <str name="id">2</str> <date name="timestamp">2010-08-03T11:43:38.936Z</date>
<str name="title">Gemeentehuis Utrecht</str> </doc> − <doc> <str name="id">3</str> <date name="timestamp">2010-08-03T11:43:38.936Z</date>
<str name="title">Beachclub Vroeger</str> </doc> </result> </response>


This is my data-config:

<dataConfig>
<dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;databaseName=wedding" user="sa"
password="123456" />
    <document name="weddinglocations">
        <entity name="location" query="select * from locations">
            <field column="ID" name="id" />
            <field column="TITLE" name="title" />
            <field column="CITY" name="city" />

            <entity name="location_feature" query="select FEATUREID from location_features where locationid='${location.ID}'">
                <entity name="feature" query="select title from features where id = '${location_feature.FEATUREID}'">
                    <field name="features" column="title" />
                </entity>
            </entity>
			
            <entity name="location_theme" query="select THEMEID from location_themes where locationid='${location.ID}'">
                <entity name="theme" query="select title from features where id = '${location_theme.FEATUREID}'">
                    <field name="cat" column="title"  />
                </entity>
            </entity>
			
        </entity>
    </document>
</dataConfig>


Why dont I see any data with regard to themes or features?

Regards,
Pete
--
View this message in context: http://lucene.472066.n3.nabble.com/Indexing-data-on-MSSQL-failed-Caused-by-org-apache-solr-common-SolrException-Error-loading-class-com-tp1015137p1018845.html
Sent from the Solr - User mailing list archive at Nabble.com.



Re: Indexing data on MSSQL failed: Caused by: org.apache.solr.common.SolrException: Error loading class 'com.micros oft.sqlserver.jdbc.SQLServerDriver'

Posted by PeterKerk <ve...@hotmail.com>.
Hooray, im a bit further now...

Turned out that both SQL2005 and 2008 were running, where 2005 was listening
on port 1433. I disabled that services, enabled the 2008 service and now I
can connect and the command 
http://localhost:8983/solr/db/dataimport?command=full-import is successfull.

But now I want to SEARCH in those indexed documents via
http://localhost:8983/solr/db/admin/

See here the result of the query *:*

<response>
−
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
−
<lst name="params">
<str name="indent">on</str>
<str name="start">0</str>
<str name="q">*:*</str>
<str name="version">2.2</str>
<str name="rows">10</str>
</lst>
</lst>
−
<result name="response" numFound="3" start="0">
−
<doc>
<str name="id">1</str>
<date name="timestamp">2010-08-03T11:43:38.905Z</date>
<str name="title">Gemeentehuis Nijmegen</str>
</doc>
−
<doc>
<str name="id">2</str>
<date name="timestamp">2010-08-03T11:43:38.936Z</date>
<str name="title">Gemeentehuis Utrecht</str>
</doc>
−
<doc>
<str name="id">3</str>
<date name="timestamp">2010-08-03T11:43:38.936Z</date>
<str name="title">Beachclub Vroeger</str>
</doc>
</result>
</response>


This is my data-config:

<dataConfig>
<dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;databaseName=wedding" user="sa"
password="123456" />
    <document name="weddinglocations">
        <entity name="location" query="select * from locations">
            <field column="ID" name="id" />
            <field column="TITLE" name="title" />
            <field column="CITY" name="city" />

            <entity name="location_feature" query="select FEATUREID from
location_features where locationid='${location.ID}'">
                <entity name="feature" query="select title from features
where id = '${location_feature.FEATUREID}'">
                    <field name="features" column="title" />
                </entity>
            </entity>
			
            <entity name="location_theme" query="select THEMEID from
location_themes where locationid='${location.ID}'">
                <entity name="theme" query="select title from features where
id = '${location_theme.FEATUREID}'">
                    <field name="cat" column="title"  />
                </entity>
            </entity>
			
        </entity>
    </document>
</dataConfig>


Why dont I see any data with regard to themes or features?

Regards,
Pete
-- 
View this message in context: http://lucene.472066.n3.nabble.com/Indexing-data-on-MSSQL-failed-Caused-by-org-apache-solr-common-SolrException-Error-loading-class-com-tp1015137p1018845.html
Sent from the Solr - User mailing list archive at Nabble.com.