以下代码与YouTube视频中的代码完全相同,但不适用于我。预期的输出是将输出“连接”到系统,这意味着JDBC已成功连接到数据库。但是我得到这个错误:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链接失败
成功发送到服务器的最后一个数据包是0毫秒前。驱动程序尚未收到来自服务器的任何数据包。
这是我的代码:
\documentclass[preprint,pre,floats,aps,amsmath,amssymb]{revtex4}
\usepackage{graphicx}
\usepackage{bm}
\begin{document}
\title{A Blockchain-Based Approach to Identity Management for the Aviation Industry}
\author{BlaBla}
\affiliation{Chair of Quantitative Business Administration}
\begin{abstract}
Some texts
\end{abstract}
{
\let\clearpage\relax
\maketitle
}
\section{Introduction}
\label{sec:intro}
some text
\end{document}
我已经成功地将JDBC添加为库,就像显示的视频一样,但是它不起作用。我在Stack Overflow上看到了类似的问题,但没有一个解决了我的问题。任何帮助将不胜感激,谢谢!
JDBC版本:mysql-connector-java-5.1.47-bin.jar
答案 0 :(得分:1)
链接失败表示无法访问数据库,请确认您的数据库主机, 端口,用户名和密码。如果一切正确,请确认 数据库服务器正在运行,尚未达到最大连接限制。
,并且您正在使用JDBC jar文件,该文件可能已损坏。所以检查一下,我建议您使用Maven
导入JDBC。,并且您没有注册JDBC驱动程序。首先,注册它
使用Class.forName("com.mysql.jdbc.Driver");
这里有一个example为您提供帮助,
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/EMP";
// Database credentials
static final String USER = "username";
static final String PASS = "password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//STEP 3: Open a connection
System.out.println("Connecting to database...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql;
sql = "SELECT id, first, last, age FROM Employees";
ResultSet rs = stmt.executeQuery(sql);
//STEP 5: Extract data from result set
while(rs.next()){
//Retrieve by column name
int id = rs.getInt("id");
int age = rs.getInt("age");
String first = rs.getString("first");
String last = rs.getString("last");
//Display values
System.out.print("ID: " + id);
System.out.print(", Age: " + age);
System.out.print(", First: " + first);
System.out.println(", Last: " + last);
}
我假设您在Maven文件中放入了适当的JDBC dependency
并将com.mysql.cj.jdbc.Driver
用作MySQL-connector的较新版本的类
在MySQL中实现java.sql.Driver的类的名称 连接器/ J已从com.mysql.jdbc.Driver更改为 com.mysql.cj.jdbc.Driver。旧类名称已被弃用。