jdbc中的java未知数据库

34gzjxbg  于 2021-06-18  发布在  Mysql
关注(0)|答案(7)|浏览(447)

我使用的是jdbc,对它还不熟悉。但我一直得到一个运行时异常:

connecting to psysical database...
   com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'kholofelodb'
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:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:943)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4113)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1308)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2336)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2369)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2153)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:792)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
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:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:381)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at com.psybergate.database.SimbleCode.main(SimbleCode.java:22)

这是密码

try {
            String connectionURL =      "jdbc:mysql://localhost:3306/kholofelodb";
            Class.forName("com.mysql.jdbc.Driver");

            System.out.println("connecting to psysical database...");
            Connection conn = DriverManager.getConnection(connectionURL, USER,
                    PASS);

            Statement statement = conn.createStatement();
            System.out.println("Connection has been made");

            Scanner keyBoardScanner = new Scanner(System.in);
            System.out.println("Enter table name:");
            String tableName = keyBoardScanner.nextLine();

            System.out.println("Creating table...");
            statement.executeQuery("create table " + tableName
                    + " (name , age ,salary)");
            System.out.println("Table successfully created");
            System.out.println("Inserting data into the table ...");
            statement.executeUpdate("insert into " + tableName
                    + "values (kholofelo , 21 , 9969696)");
        }

如何使此代码正常工作?我只是jdbc的初学者。。。。
对于上述代码;pass=“passowrd”,user=“root”
我有一个通过这个网站修复的端口问题
谢谢

drnojrws

drnojrws1#

请在mysql数据库中检查数据库名“kholofedb”是否存在
我想你还没有创造
请检查一次,如果没有创建它和它的相关表也

lndjwyie

lndjwyie2#

似乎错误在于数据库的名称。mysql是数据库引擎,但是在mysql中,您可以拥有许多带有自己表的数据库。一旦数据库名称正确,您可能会发现问题将得到解决。

rryofs0p

rryofs0p3#

问题只与您的数据库名称有关。首先在mysql中创建数据库创建数据库连接。集中在以下几个方面:数据库名称:url:正确地提到数据库名称数据库名称应该是mysql中的数据库

368yc8dk

368yc8dk4#

我有同样的问题,并发现它的原因是:这里的数据库名称是区分大小写的!所以,我尝试使用“test2”这样的数据库名进行连接,但实际上数据库名是“test2”。

ezykj2lf

ezykj2lf5#

登录mysql服务器,

$ mysql -u <username> -p<password>

列出所有数据库,

mysql> show databases;

检查你的数据库名是否在那里,

+--------------------+
| Database           |
+--------------------+
| information_schema |
| kholofelodb        |
| mysql              |
| phpmyadmin         |
+--------------------+

请注意:数据库名称区分大小写。
希望这有帮助。

mitkmikd

mitkmikd6#

是的,我也收到了这个案例,实际上我的数据库名称是正确的,但问题是我的端口号我使用的是wampp服务器,其端口号是3308,我浪费了我的时间使用3306,这样你可以检查你是否使用任何其他应用程序,然后首先建议检查它的端口值。。。。。。。。。。。

axkjgtzd

axkjgtzd7#

当服务器找不到数据库时会发生此错误。例如,这可能是由于数据库url中给定的端口错误造成的

String DB_URL = "jdbc:mysql://localhost:3307/database_name"

所以用xampp控制器中提到的端口检查这个端口号(在上面的例子中是3307)(转到xampp控制器,然后配置mysql)。

相关问题