您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

自动将org.mysql更改为org.sqlite

自动将org.mysql更改为org.sqlite

我想我知道发生了什么事。当您调用DriverManager.getConnection时,它将一一尝试所有可用的驱动程序,直到一个成功。在驱动程序上调用connect时,如果驱动程序错误,则可以返回null;如果失败,则引发异常;如果成功,则返回Connection对象。当所有驱动程序均发生故障时,DriverManager会抛出它获得的第一个异常(如果有),否则将创建并引发“找不到合适的驱动程序”异常。

这可能是您的情况: -DriverManager首先尝试sqlite驱动程序;它应该返回null,因为它是错误的url驱动程序,但是它引发了异常(这是sqlite驱动程序实现中的错误!) -接下来,DriverManager正在尝试MysqL驱动程序,该驱动程序无法连接某些其他原因(例如,服务器未运行或密码错误) -DriverManager看到所有驱动程序均无法连接,因此抛出了第一个异常,这是来自sqlite的异常(由于该实现错误

您可以做什么: -暂时从类路径中删除sqlite驱动程序,以解决MysqL连接问题 -更好地,使用数据源而不是DriverManager。MysqL的例子:

MysqLDataSource ds = new MysqLDataSource();
ds.setServerName(serverName);
ds.setDatabaseName(mydatabase);
ds.setUser(username);
ds.setPassword(password);
connection = ds.getConnection();

或者您可以使用数据库库为您处理

MySQL 2022/1/1 18:27:24 有527人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶