我已使用可用的设置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,并且类路径确实有目录,但我仍然得到错误。我不知道如何进一步调试这个并没有在网上找到任何解决方案。
我该如何解决这个问题?
答案 0 :(得分:2)
配置河流时,给出的类名是
com.microsoft.sqlserver.jdbc.SqlServerDriver
应该在哪里
com.microsoft.sqlserver.jdbc.SQLServerDriver