为了账号安全,请及时绑定邮箱和手机立即绑定

确定驱动已经载入工程,数据库文件应该放在哪个位置?

确定驱动已经载入工程,数据库文件应该放在哪个位置?

千巷猫影 2023-03-18 18:14:04
public static Connection acquireConnection(String host,String port,String dbName,String user,String pwd) throws ClassNotFoundException,SQLException{Connection connection = null;try{Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://" + host + ":" + port;connection = DriverManager.getConnection(url,user,pwd);connection.setCatalog(dbName);}catch(ClassNotFoundException e){e.printStackTrace();throw e;}catch(SQLException e){e.printStackTrace();throw e;}return connection;}Connection con = null;con = SqlUtil.acquireConnection("localhost", "3306", "ware", "root", "root");错误提示:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'ware'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)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:3597)at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3529)com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'ware'at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1990)at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2151)at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2619)at com.mysql.jdbc.ConnectionImpl.setCatalog(ConnectionImpl.java:5083)at ware.SqlUtil.acquireConnection(SqlUtil.java:30)at ware.MainWare.main(MainWare.java:79)
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

没有“ware”这个用户数据库,检查

查看完整回答
反对 回复 2023-03-21
?
杨魅力

TA贡献1811条经验 获得超6个赞

对于这个程序,首先acquireConnection()函数没有必要传递参数,或者最多只用传递用户名和密码,因为函数体内的Class.forName("com.mysql.jdbc.Driver");已经决定了数据库连接的URL,另外,DriverManager.getConnection(url,user,pwd),url参数需要指定你所用的数据库的名字,而你的String url = "jdbc:mysql://" + host + ":" + port;并没有,改为String url = "jdbc:mysql://" + host + ":" + port+"/"+dbName;dbName是指你传递的变量。
对于你提到的数据库文件的存放位置,数据表是建在数据库中的,这样就可以了,没有必要关心
数据库文件的存放位置,因为在进行数据库连接时,根据你指定的数据库就能找到相应的数据表。在使用数据库连接时,只需要导入数据库驱动包就可以了。

查看完整回答
反对 回复 2023-03-21
  • 2 回答
  • 0 关注
  • 81 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信