Я переношу клиентское приложение со старой виртуальной машины Tomcat, размещенной на Windows Server 2012 R2, на новую виртуальную машину CentOS 7 после того, как первая подверглась атаке вымогателей.Моя проблема возникает, когда я пытаюсь использовать функцию поиска, которая запрашивает локальную базу данных MySQL
.Мои знания по SQL ограничены, поэтому я буду признателен за любую помощь, которую я могу получить от вас, мудрых и опытных программистов.Вот ошибка, с которой я сталкиваюсь:
![Error message](https://i.stack.imgur.com/xKhIC.png)
Начиная с searchresults.jsp
, ссылочные строки:
<!-- Find Diacritic Terms -->
<c:set var="dsqlstatement">
SELECT *
FROM diacritic_map
WHERE alternate LIKE '%<%= t %>%'
</c:set>
<sql:query var="rs_diacritics" dataSource="jdbc/balanchine">
${dsqlstatement}
</sql:query>
Я проверил и подтвердил, чтосоединение с базой данных работает, так что это, вероятно, проблема с самим оператором SQL, верно?Ну, я проверил на рабочем сервере, и заявление было действительно таким же и функциональным, так что теперь у меня заканчиваются идеи.Я использую MySQL версии 8.0.15, Tomcat версии 9.0.16 и Java
версию 1.8.0_191, если эта информация полезна.
Заранее благодарю за любую помощь, которую вы можете предложить.
Редактировать 1: Спасибо за рекомендацию @Selaron Вот полная трассировка стека
![stacktrace](https://i.stack.imgur.com/ofrtc.png)
Редактировать 2: Спасибо вам также @vancleff.Вот пример приложения, которое я модифицировал для проверки соединения с базой данных.Я все еще сталкиваюсь с ошибкой, но теперь все по-другому, поскольку я поместил файл mysql-connector-java-5.0.x-bin.jar в папку lib веб-приложения, как вы советовали.Это помогло с последней ошибкой, но теперь я все еще получаю нечто подобное.Также выяснилось, что во всех этих файлах все еще есть окончания строк Windows, поэтому я запустил dos2unix в каталоге веб-приложения.Спасибо за указание на это!
![db connection test](https://i.stack.imgur.com/SfJaZ.png)
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<html>
<head>
<title>Sample Application JSP Page</title>
</head>
<body bgcolor=white>
<table border="0">
<tr>
<td align=center>
<img src="images/tomcat.gif">
</td>
<td>
<h1>Sample Application JSP Page</h1>
This is the output of a JSP page that is part of the Hello World application.
</td>
</tr>
</table>
<%= new String("Hello!") %>
<h1>Connection Status</h1>
<%
try{
String connectionURL = "jdbc:mysql://localhost:3306/DatabaseName-REDACTED";
Connection connection = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL, "User-REDACTED", "Password-REDACTED");
if(!connection.isClosed())
out.println("Successfully connected to " + "MySQL server using TCP/IP...");
connection.close();
}catch(Exception e){
out.println("Unable to connect to database.\n"+e);
}%>
</body>
</html>
Новая ошибка:
![enter image description here](https://i.stack.imgur.com/yo7f7.png)