我使用的是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”
我有一个通过这个网站修复的端口问题
谢谢
7条答案
按热度按时间drnojrws1#
请在mysql数据库中检查数据库名“kholofedb”是否存在
我想你还没有创造
请检查一次,如果没有创建它和它的相关表也
lndjwyie2#
似乎错误在于数据库的名称。mysql是数据库引擎,但是在mysql中,您可以拥有许多带有自己表的数据库。一旦数据库名称正确,您可能会发现问题将得到解决。
rryofs0p3#
问题只与您的数据库名称有关。首先在mysql中创建数据库创建数据库连接。集中在以下几个方面:数据库名称:url:正确地提到数据库名称数据库名称应该是mysql中的数据库
368yc8dk4#
我有同样的问题,并发现它的原因是:这里的数据库名称是区分大小写的!所以,我尝试使用“test2”这样的数据库名进行连接,但实际上数据库名是“test2”。
ezykj2lf5#
登录mysql服务器,
列出所有数据库,
检查你的数据库名是否在那里,
请注意:数据库名称区分大小写。
希望这有帮助。
mitkmikd6#
是的,我也收到了这个案例,实际上我的数据库名称是正确的,但问题是我的端口号我使用的是wampp服务器,其端口号是3308,我浪费了我的时间使用3306,这样你可以检查你是否使用任何其他应用程序,然后首先建议检查它的端口值。。。。。。。。。。。
axkjgtzd7#
当服务器找不到数据库时会发生此错误。例如,这可能是由于数据库url中给定的端口错误造成的
所以用xampp控制器中提到的端口检查这个端口号(在上面的例子中是3307)(转到xampp控制器,然后配置mysql)。