繁体   English   中英

来自solr的dataSource sql server连接

[英]dataSource sql server Connection from solr

从solr连接到sql server有问题。

我尝试了以下连接

<dataSource type="JdbcDataSource" name="ds1"
driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
url="jdbc:sqlserver://localhost;databaseName=189021-resurs;integratedSecurity=true;responseBuffering=adaptive;"   
readOnly="true"
/>


<dataSource type="JdbcDataSource" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"  
   url="jdbc:sqlserver://localhost\ARBETSDATOR\SQLEXPRESS;integratedSecurity=true;databaseName=189021-resurs"/>  

我正在尝试使用IntegratedSecurity = true,可以吗?

tcp / ip已启用。

我已经看到以下连接字符串的一部分的变体,应该是:jdbc:sqlserver:// ARBETSDATOR \\ SQLEXPRESS

或者只是localhost:jdbc:sqlserver:// localhost;

使用jdbc:sqlserver:// localhost时; 我得到以下信息:

完全导入失败:java.lang.RuntimeException:java.lang.RuntimeException:org.apache.solr.handler.dataimport.DataImportHandlerException:无法执行查询:SELECT * FROM成员正在org.apache.solr.handler处理文档#1。 org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.org)上的dataimport.DocBuilder.execute(DocBuilder.java:270)在org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:411) java:476)在org.apache.solr.handler.dataimport.DataImporter $ 1.run(DataImporter.java:457)原因:java.lang.RuntimeException:org.apache.solr.handler.dataimport.DataImportHandlerException:无法执行查询:SELECT * FROM成员正在org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:410)上处理文档# 323)at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:231)... 3个其他原因:org.apache.solr.handler.dat aimport.DataImportHandlerException:无法执行查询:SELECT * FROM成员,正在org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:71)上的org.apache.solr.handler.dataimport.JdbcDataSource org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:236)处的$ ResultSetIterator。(JdbcDataSource.java:279)在org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java: 40)在org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)在org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)在org.apache.solr org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:469)的.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:243)org.apache.solr.handler.dataimport.DocBuilder.buildDocument (DocBuilder.java:408)... 5更多原因:com.microsoft.sqlserver.jdbc.SQ LServerException:TCP / IP-anslutningen,直到värddatornlocalhost,端口1433 misslyckades。 恶作剧:“连接被拒绝:连接。Verifieraanslutningsegenskaperna。Kontrollera尝试通过TCP / IP接收器安装TCP / IP协议,然后再移植到porten。”。 在com.microsoft.sqlserver.jdbc.SocketFinder.findSocket上的com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)上的com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190) (IOBuffer.java:2243)在com.microsoft.sqlserver.jdbc.TDSChannel.open(IOBuffer.java:491)在com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1309)在com.microsoft。 com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)上的sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991),com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java: 1012)在org.apache.solr.handler.dataimport.JdbcDataSource $ 1.call(JdbcDataSource.java:129)在org.apache.solr.handler.dataimport.JdbcDataSource $ 1.call(JdbcDataSource.java:149)在org.apache org.apache的.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcDataSource.java:392) .solr.handler.dataimport.JdbcDataSource.access $ 200(JdbcDataSource.java:40)在org.apache.solr.handler.dataimport.JdbcDataSource $ ResultSetIterator。(JdbcDataSource.java:266)

基本上说到sql server的tcp / ip连接失败。 我已经确保启用了它,所以不可能是它。

当使用jdbc:sqlserver:// localhost \\ ARBETSDATOR \\ SQLEXPRESS;

我收到以下错误消息:

处理中的异常:成员文档:SolrInputDocument(fields:[]):org.apache.solr.handler.dataimport.DataImportHandlerException:无法执行查询:SELECT * FROM成员正在org.apache.solr.handler.dataimport处处理文档#1 org.apache.solr.handler.dataimport.JdbcDataSource $ ResultSetIterator。(JdbcDataSource.java:279)处的.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:71)在org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource。 org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:40)处的org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)处的java:236) org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:243)处的sol.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)在org.apache.solr.handler.dataimport.DocBuilder org.apache.solr.handler.dataimp上的.buildDocument(DocBuilder.java:469) org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:323)处的ort.DocBuilder.buildDocument(DocBuilder.java:408)在org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder。 java:231)位于org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:411)位于org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:476)位于org.apache .solr.handler.dataimport.DataImporter $ 1.run(DataImporter.java:457)原因:com.microsoft.sqlserver.jdbc.SQLServerException:Anslutningen直到värddatornlocalhost,den namngivna instansen arbetsdator \\ sqlexpress,misslyckades。 恶作剧:java.net.SocketTimeoutException:接收超时。 Verifiera服务器,实例服务器和UDP流量在端口1434之前会阻塞。Kontrollera可用于SQL Server 2005,可用于SQL Server浏览器。 在com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)在com.microsoft.sqlserver.jdbc.SQLServerConnection.getInstancePort(SQLServerConnection.java:3589)在com.microsoft.sqlserver.jdbc.SQLServerConnection.primaryPermissionCheck (SQLServerConnection.java:1225)在com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:972)在com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)在com.microsoft。 org.apache.solr.handler.dataimport.JdbcDataSource $ 1.call(JdbcDataSource.java:149)上的sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012),org.apache.solr.handler.dataimport.JdbcDataSource $ 1。 org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcDataSource.java:392)处的调用(JdbcDataSource.java:129),org.apache.solr.handler.dataimport.JdbcDataSource.access$200(JdbcDataSource.java:40) ),网址为org.apache.solr.handler.dataimport.JdbcDataSource $ ResultSetIterator。((JdbcDataSour ce.java:266)

一些帮助,将不胜感激

UPDATE

新错误消息:

Exception while processing: member document : SolrInputDocument(fields:[]):org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to execute query: SELECT * FROM Members Processing Document # 1
at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:71)
at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:279)
at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:236)
at org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:40)
at org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)
at org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:243)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:469)
at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:408)
at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:323)
at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:231)
at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:411)
at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:476)
at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:457)
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Drivrutinen är inte konfigurerad för integrerad autentisering. ClientConnectionId:eb7b4593-8238-4d7a-92bc-7ffb520e3d9c
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667)
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<init>(AuthenticationJNI.java:60)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2229)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:149)
at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:129)
at org.apache.solr.handler.dataimport.JdbcDataSource.getConnection(JdbcDataSource.java:392)
at org.apache.solr.handler.dataimport.JdbcDataSource.access$200(JdbcDataSource.java:40)
at org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.<init>(JdbcDataSource.java:266)
... 12 more
Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<clinit>(AuthenticationJNI.java:35)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2229)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.apache.solr.handler.dataimport.JdbcDataSource$1.call(JdbcDataSource.java:142)

一行不是英语,它表示未为集成身份验证配置驱动程序。

您的连接字符串应如下所示:jdbc:sqlserver:// localhost:1433; instance = SQLEXPRESS; databaseName = 189021-resurs; integratedSecurity = true;

然后,还要检查默认情况下是否将MS SQL Server Express配置为使用动态TCP / IP端口(如命名实例)。 进入Sql Server配置管理器,打开SQL SERVER 2005(这可能与您有所不同)。网络配置打开SQLEXPRESS的协议,打开IP地址选项卡上的TCP / IP属性,在底部检查“ TCP动态端口”是否有值。

如果是这样,请清除该值并将该字段留空。 然后将“ TCP端口”更改为1433或您决定的任何端口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM