Elastic Search无法找到SqlServer Jdbc驱动程序

时间:2012-11-22 11:50:08

标签: elasticsearch sqljdbc

我已使用可用的设置here

在AMazon Ec2 Windows实例(Windows Server 2008 x64)上安装了弹性搜索

我使用this blog post作为参考。我能够成功安装并与弹性搜索进行通信。现在我正在尝试实现一条河,以便我可以从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,并且类路径确实有目录,但我仍然得到错误。我不知道如何进一步调试这个并没有在网上找到任何解决方案。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

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

com.microsoft.sqlserver.jdbc.SqlServerDriver

应该在哪里

com.microsoft.sqlserver.jdbc.SQLServerDriver