0

我已经使用此处提供的设置在 AMazon Ec2 Windows 实例(Windows Server 2008 x64)上安装了 Elastic Search

我使用这篇博文作为参考。我能够成功安装弹性搜索并与之通信。现在我正在尝试实现一条河流,以便我可以从 Sql Server db 获取数据。我下载并解压了 Microsoft Sql Server Jdbc 驱动程序并将 sqljdbc4.jar 复制到 ElasticSearch 的 lib 文件夹中。

但是河流没有运行,我在日志/控制台中得到以下异常

[2012-11-22 16:27:03,165][ERROR][river.jdbc               ] com.microsoft.sqlserver.jdbc.SqlServerDriver
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SqlServerDriver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.elasticsearch.river.jdbc.SQLService.getConnection(SQLService.java:102)
    at org.elasticsearch.river.jdbc.JDBCRiver$JDBCConnector.run(JDBCRiver.java:194)
    at java.lang.Thread.run(Unknown Source)

这真的很令人沮丧,因为 jar 文件位于 lib 目录中。事实上,我专门将 sqljdbc.jar 添加到 ES_CLASSPATH 并且类路径确实有目录,但我仍然得到错误。我不知道如何进一步调试,也没有在网上找到任何解决方案。

我该如何解决?

4

1 回答 1

2

在配置河流时,给出的类名是

com.microsoft.sqlserver.jdbc.SqlServerDriver

它应该在哪里

com.microsoft.sqlserver.jdbc.SQLServerDriver

于 2012-11-26T09:48:19.667 回答