java - Java 中 SQL 连接的问题

标签 java database exception jdbc connection

好吧,所以我决定遵循 Youtube 上有关 SQL 数据库的教程,我在 PhpMyAdmin 上创建了一个数据库,然后导出(我认为是一个表,而不是整个数据库) SQL 备份文件(customers.sql) 到我的桌面。我想使用 JDBC 连接到它,我用下面的代码尝试了它。(请注意,我确保驱动程序已正确安装 Class.forName("com.mysql.jdbc.Driver"); 出于调试目的,请假设我的桌面上仅存在该文件,我有驱动程序、以下代码,没有其他任何东西。此外,我不确定如何获取 sql 文件本地主机

Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/customers","root", "");

此代码生成了一个异常:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'customers'
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:395)
at com.mysql.jdbc.Util.getInstance(Util.java:370)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1038)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4120)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:925)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1704)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1250)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2467)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2500)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2285)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:818)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:31)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:395)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at com.gmail.PhysicistSarah.TestProject.Database.DatabaseDriver.<init>(DatabaseDriver.java:32)
at com.gmail.PhysicistSarah.TestProject.Core.Main.databaseTrial(Main.java:99)
at com.gmail.PhysicistSarah.TestProject.Core.Main.main(Main.java:49)

最佳答案

您无法连接到 SQL 文件。 SQL 文件就是这样:一个文件,里面有一些文本。如果要连接到在本地主机上运行的 MySQL 数据库,则需要在计算机上安装 MySQL、启动它、创建数据库、在其中创建表并填充表。

关注MySQL documentation了解如何做到这一点。

关于java - Java 中 SQL 连接的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17483240/

相关文章:

sql - 在某些条件下禁止插入表

c++ - 在异常构造函数中参数化错误消息是一种好习惯吗?

java - 跟踪递归方法

java - 更改方向时操作栏选项卡中的错误

java - 在构造函数上有值,但是当我想在另一个函数上使用它时,它为零(Android)

.net - 如何使用 Code-First EF 4.1 从数据库中删除多个项目

java - 当文本有条件时,在编辑文本中输入的文本在较新的 Android 版本上消失

sql - 在 SQL View 中更改多个列名称

javascript - 我可以在 typescript 中创建无法捕获的错误吗?

C++ 异常处理