gpt4 book ai didi

java - JDBC表错误: Unknown database

转载 作者:行者123 更新时间:2023-11-29 13:19:05 25 4
gpt4 key购买 nike

我已经安装了 WAMP 的 mysql 服务器并创建了名为 getataxi 的数据库。当我转到 phpMyAdmin 时,我可以看到数据库及其表。我也通过 JDBC 连接到这个数据库。当我使用以下命令创建与数据库的连接时:

conn = DriverManager.getConnection(DB_URL, USER, PASS);

我收到此错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'getataxi' at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

可能是什么问题?

注意:

  1. 我的 wamp 服务器已上线。
  2. 我尝试连接到该软件附带的测试数据库,它似乎可以找到测试数据库,因为我收到不同的错误消息,指出数据库中的表未找到,但它是正确的。
  3. 我尝试使用大写字母和小写字母构建 getataxi,但没有帮助。
  4. 我有一个 *.sql 文件,其中包含我导入的表。
  5. DB_URL 是 jdbc:mysql://localhost/getataxi 我也尝试过 jdbc:mysql://localhost:3306/getataxi
  6. Mysql 用户是 root
  7. 我使用的是 Windows

最佳答案

以下简化案例在 WAMP ( USBWebserver ) 下运行良好,成功列出了名为 getataxi 的数据库中的所有表:

import java.sql.*;

public class mysqlTestMain {

public static void main(String[] args) {
Connection conn = null;
try {
String myConnectionString =
"jdbc:mysql://localhost:3306/getataxi?" +
"useUnicode=yes&characterEncoding=UTF-8";
conn = DriverManager.getConnection(myConnectionString, "root", "beer");
Statement stmt = conn.createStatement();
stmt.execute("SHOW TABLES");
ResultSet rs = stmt.getResultSet();
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}

}

如果相同的代码对您不起作用,请尝试以下代码来列出服务器上的所有(可见)数据库:

import java.sql.*;

public class mysqlTestMain {

public static void main(String[] args) {
Connection conn = null;
try {
String myConnectionString =
"jdbc:mysql://localhost:3306?" +
"useUnicode=yes&characterEncoding=UTF-8";
conn = DriverManager.getConnection(myConnectionString, "root", "beer");
Statement stmt = conn.createStatement();
stmt.execute("SHOW DATABASES");
ResultSet rs = stmt.getResultSet();
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}

}

当我运行它时,我得到一个像这样的列表:

information_schema
getataxi
mydb
mysql
performance_schema
test

关于java - JDBC表错误: Unknown database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21092833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com