Код: Выделить всё
com.github.mwiede
jsch
0.2.11
< /code>
И я использую для соединения с MariaDB зависимость: < /p>
org.mariadb.jdbc
mariadb-java-client
3.1.4
< /code>
Я могу подключиться к серверу с помощью SSH с JSCH со следующим кодом: < /p>
JSch jsch = new JSch();
jsch.setKnownHosts(System.getProperty("user.home")+"/.ssh/known_hosts");
jsch.addIdentity(publicKey);
session = jsch.getSession(sshUserName, sshServer, remoteSSHPort);
session.setConfig("StrictHostKeyChecking", "yes");
session.connect();
< /code>
Но когда я пытаюсь подключиться к базе данных, используя этот код, < /p>
public Connection connectToDB() throws Exception {
int assignedPort = session.setPortForwardingL(localPort,serverHost,remoteSSHPort);
String url = "jdbc:mariadb://" + serverHost + ":" + assignedPort + "/" + database;
return DriverManager.getConnection(url,userSQL,passwordSql);
}
По какой -то причине, когда я использую dbeaver для подключения к этой базе данных, у меня нет проблем, она подключается плавно.
Попытка решить эту проблему, я пробовал разные типы решений. < /p>
Например: < /p>
Использование различных способов отправки информации in drivermanager.getConnection () Метод: < /p>
-
Код: Выделить всё
getConnection(String url, String user, String password)
-
Код: Выделить всё
getConnection(String url)
-
Код: Выделить всё
getConnection(String url, java.util.Properties info)
Код: Выделить всё
while(session.isConnected()){
Connection connection = connectToDB();
System.out.println("connected to DB...");
Statement statement = connection.createStatement();
}
Подробнее здесь: https://stackoverflow.com/questions/770 ... ror-when-t