【问题标题】:Error in JDBC connection using logstash使用 logstash 的 JDBC 连接出错
【发布时间】:2018-05-17 18:05:10
【问题描述】:

我正在尝试使用 Logstash 将我的 sqlserver 表放入 Elasticsearch。为此,我在下面创建了配置文件。

input {
  jdbc { 
    jdbc_connection_string => "jdbc:sqlserver://xxx.xxx.x.xxx:1433/DB_name"
    jdbc_user => "devuser"
    jdbc_password => "devuser"
    jdbc_driver_library => "D:/Mssqljdbc/sqljdbc4-2.0.jar"
    jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    statement => "SELECT * FROM sample"
    }
  }
output {
  stdout { codec => json_lines }
  elasticsearch {
  hosts => "localhost"
  index => "testmigrate"
  document_type => "data"
  }
}

然后我使用bin\logstash -f sqltable.conf 来执行它。 但我得到了

错误:Java::ComMicrosoftSqlserverJdbc::SQLServerException: 端口 编号 1433/DB_name 无效。

我检查了我能够 ping 特定的 IP 地址,并且端口也打开了,但我仍然遇到同样的错误。请帮忙

【问题讨论】:

    标签: elasticsearch logstash


    【解决方案1】:

    经过一番挖掘,我做了一个小改动,它对我有用。我在 DB_name 前面添加了 databaseName

    input {
      jdbc { 
        jdbc_connection_string => "jdbc:sqlserver://xxx.xxx.x.xxx:1433;databaseName=DB_name"
        jdbc_user => "devuser"
        jdbc_password => "devuser"
        jdbc_driver_library => "D:/Mssqljdbc/sqljdbc4-2.0.jar"
        jdbc_driver_class => "com.microsoft.sqlserver.jdbc.SQLServerDriver"
        statement => "SELECT * FROM sample"
        }
      }
    output {
      stdout { codec => json_lines }
      elasticsearch {
      hosts => "localhost"
      index => "testmigrate"
      document_type => "data"
      }
    }
    

    很奇怪,我没有在任何文档中找到这个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-28
      • 1970-01-01
      • 2016-12-27
      • 2021-09-13
      • 1970-01-01
      • 2015-11-06
      • 2020-10-06
      相关资源
      最近更新 更多