Ошибка в соединении JDBC с использованием logstash - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь перевести свою таблицу sqlserver в Elasticsearch , используя Logstash .Для этого я создал ниже файл конфигурации.

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 недействителен.

я проверил, что я могу пропинговатьконкретный IP-адрес и порт также открыты, но я все еще получаю ту же ошибку.Пожалуйста, помогите

1 Ответ

0 голосов
/ 17 мая 2018

После небольшого копания я сделал небольшое изменение, и оно сработало для меня.Я добавил имя_базы_данных перед именем_БД.

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"
  }
}

Странно, я не нашел этого ни в одной документации.

...