Java Glassfish-尝试连接数据源时,没有适合mysql的驱动程序
我正在尝试完成本教程: 它的一部分是建立一个数据库,并尝试使用数据源和连接池建立连接 我完成了教程中的所有操作,但当我尝试运行代码时,出现以下错误: javax.servlet.jsp.JspException:无法获取连接,数据源无效:“java.sql.SQLException:找不到适合jdbc/affablebean的驱动程序” 下面是抛出它的代码:Java Glassfish-尝试连接数据源时,没有适合mysql的驱动程序,java,jdbc,glassfish,Java,Jdbc,Glassfish,我正在尝试完成本教程: 它的一部分是建立一个数据库,并尝试使用数据源和连接池建立连接 我完成了教程中的所有操作,但当我尝试运行代码时,出现以下错误: javax.servlet.jsp.JspException:无法获取连接,数据源无效:“java.sql.SQLException:找不到适合jdbc/affablebean的驱动程序” 下面是抛出它的代码: <sql:query var = "result" dataSource = "jdbc/affablebean">
<sql:query var = "result" dataSource = "jdbc/affablebean">
SELECT * FROM category, product
WHERE category.id = product.category_id
</sql:query>
这意味着驱动程序位于glassfish目录的右侧lib文件夹中,因此问题一定出在其他地方
本教程有一个疑难解答部分,其中描述了如果出现这种错误“找不到适合jdbc/affablebean的驱动程序”,这意味着我的web.xml中没有资源引用。好。。。我有一个,这是:
<resource-ref>
<description>Connects to database for AffableBean application</description>
<res-ref-name>jdbc/affablebean</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
连接到数据库以用于AffableBean应用程序
jdbc/aflablebean
javax.sql.DataSource
容器
可分享
我已经试着每天16小时解决这个问题两天多了,但还是没有运气
你们知道怎么回事吗?
我浏览了所有google和stackoverflow,发现了类似的问题,但他们给出的解决方案是“确保mysql驱动程序位于服务器上的正确文件夹中”
为什么我连接到数据库时没有数据源对象,但无法连接到数据库?我认为您没有在项目库中添加
Mysql JDBC驱动程序
在项目库中手动添加Mysql JDBC驱动程序,然后重试
我认为它会起作用。我认为您没有在项目库中添加Mysql JDBC驱动程序
在项目库中手动添加Mysql JDBC驱动程序,然后重试
我认为它会起作用。我有一个确切的问题,即使通过Netbeans IDE,DB连接测试也很好,而在Glassfish 4中,它不起作用,请尝试所有可能的方法,比如在项目中包含lib,放在这里和那里。最后,通过删除Glassfish并安装Glassfish 3.1.2.2解决了问题,项目文件完全相同,工作正常。我猜这是Glassfish 4中可能需要的一个bug或特殊设置。我有一个确切的问题,即使通过Netbeans IDE,DB连接测试也很好,而Glassfish 4中的DB连接测试不起作用,请尝试所有可能的方法,比如在项目中包含lib,放在这里和那里。最后,通过删除Glassfish并安装Glassfish 3.1.2.2解决了问题,项目文件完全相同,工作正常。我猜这是Glassfish 4中可能需要的bug或特殊设置。我也有同样的错误
设置资源类型时,问题出现:
资源类型:javax.sql.ConnectionPoolDataSource
尝试使用:
资源类型:=javax.sql.DataSource
这在教程文本中是很奇怪的(问题):
单击下一步。在步骤5中,添加连接池属性,指定
以下详细信息:数据源类名称:
com.mysql.jdbc.jdbc2.optional.MysqlDataSource资源类型:
javax.sql.ConnectionPoolDataSource描述:(可选)连接到
affablebean数据库
但是截图上的是正确的。我也有同样的错误
设置资源类型时,问题出现:
资源类型:javax.sql.ConnectionPoolDataSource
尝试使用:
资源类型:=javax.sql.DataSource
这在教程文本中是很奇怪的(问题):
单击下一步。在步骤5中,添加连接池属性,指定
以下详细信息:数据源类名称:
com.mysql.jdbc.jdbc2.optional.MysqlDataSource资源类型:
javax.sql.ConnectionPoolDataSource描述:(可选)连接到
affablebean数据库
但是屏幕截图是正确的。我对此有几个问题
电子商务教程的一部分
由于不正确的jdbc资源创建,出现了第一个问题(没有合适的驱动程序)
我使用了“新建文件\glassfish\jdbc连接池”
而不是“新建文件\glassfish\jdbc资源”
重新执行此步骤将正确注册驱动程序并创建池
(在glassfish servel日志中指出mysql驱动程序确实在服务器实例上注册)
之后,我无法通过testDataSource.jsp获取数据-错误是org.apache.derby.client.am.SqlException:表/视图“CATEGORY”不存在
我不明白为什么会有人提到org.apache.derby.client
查找后,在netbeans论坛上找到了一些讨论:
这部分讨论是我案例的解决方案:
尝试在步骤设置文件sun-resources.xml或glassfish-resources.xml中进行更改
设置JDBC数据源和连接池
在步骤6->将资源类型更改为javax.sql.ConnectionPoolDataSource
并在步骤设置文件web.xml中进行更改
从应用程序引用数据源
在步骤4->将资源类型更改为javax.sql.ConnectionPoolDataSource
p、 我使用的是netbeans 8.0.2、glassfish 4.1和jdk1.7.021。
Netbeans中没有javax.sql.ConnectionPoolDataSource
选项
web.xml的“编辑资源引用\资源类型”组合框的接口。
所以我手动将这个值放在那里。我对此有几个问题
电子商务教程的一部分
由于不正确的jdbc资源创建,出现了第一个问题(没有合适的驱动程序)
我使用了“新建文件\glassfish\jdbc连接池”
而不是“新建文件\glassfish\jdbc资源”
重新执行此步骤将正确注册驱动程序并创建池
(在glassfish servel日志中指出mysql驱动程序确实在服务器实例上注册)
之后,我无法通过testDataSource.jsp获取数据-错误是org.apache.derby.client.am.SqlException:表/视图“CATEGORY”不存在
<
<resource-ref>
<description>Connects to database for AffableBean application</description>
<res-ref-name>jdbc/affablebean</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
<resource-ref>
<description>AffableBean DataSource</description>
<res-ref-name>jdbc/affablebean</res-ref-name>
<res-type>javax.sql.ConnectionPoolDataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>