当前位置: 首页 > 知识库问答 >
问题:

在WebSphere 8.5中查找JDBC数据源

易弘亮
2023-03-14

我想在WebSphere中配置的webapp中使用JDBC Connetion。(就像这里的这个:如何在JavaEE中使用JDBC?)

我以前通过JPA使用过此数据源,但我们的客户希望使用本机SQL。。。不要问。

我找到了很多例子和教程(例如。http://www.wickcentral.com/java/dl/ds_resreferencesetts_Websphere.pdf,Websphere JNDI查找失败),但没有需要的工作。

WebSphere中的DataSource具有JNDI-Name“jdbc/myDS”

我在我的web.xml中添加了一个资源参考:

<resource-ref>
    <res-ref-name>jdbc/myDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
 </resource-ref>

我尝试在Dao中获取数据源:

ds = (DataSource) new InitialContext()
                .lookup("java:comp/env/jdbc/myDS");

但我得到的是

 com.ibm.wsspi.injectionengine.InjectionException: CWNEN0044E: A resource reference binding could not be found for the following resource references [jdbc/myDS], defined for the MyAPP component.

我试了很多次。有人看到故障了吗?

共有2个答案

程彭祖
2023-03-14

您需要在ibm web bnd中添加绑定。xml:

<resource-ref name="jdbc/myDS" binding-name="jdbc/myDS" />
卢宜然
2023-03-14

在安装过程中,您是否将web应用定义的数据源与Websphere定义的数据源相匹配?Websphere通常会在安装过程中检测到资源时要求您绑定资源(如果我没记错的话,这是在名为“将引用资源映射到资源”的步骤中)。

另一个常见问题是Websphere数据源位于与应用程序不同的上下文(单元/节点/服务器)中,因此在运行时无法找到它。

 类似资料:
  • 我已经创建了一个数据库:Compaction.mdb,并将其添加到用户DNS:“adm”中。当我试图通过java程序访问它时,我使用以下代码连接数据库 class.forname(“sun.jdbc.odbc.jdbcodbcdriver”); 连接con=DriverManager.getConnection(“jdbc:odbc:adm”); 它运行正常,程序可以访问数据库。但是,当我试图在s

  • 主要内容:所需步骤,示例代码在本教程将演示如何在JDBC应用程序中,查询数据库的一个表中数据记录。 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式中数据库表中查询数据记录。 要执行以下示例,需要用实际用户名和密码替换这里用户名()和密码()。 MySQL或数据库已启动并运行。 所需步骤 使用JDBC应用程序向表中查询数据记录需要以下步骤: 导入包:需要包含包含数据库编程所需的JDBC类的

  • 问题内容: 目前,我正在尝试学习docker,但对于 数据量实际存在的位置感到困惑。 我正在使用Windows的Docker Desktop。(Windows 10) 他们在文档中说,在对象上运行docker inspect将为您提供 源https://docs.docker.com/engine/tutorials/dockervolumes/#locating-a-volume 但是我没有看到

  • 问题内容: 我有这种表,找到最大的标记 学生 外面应该是这样的 但我得到这种输出 我用SQL写这个 我该如何纠正sql? 问题答案: 在SQL Server中,您可以使用 尽管您也可以使用逻辑上等效的标准SQL

  • 我现在正试图学习docker,但我对数据卷实际存在的位置感到困惑。 我使用Docker桌面的Windows。(Windows 10) 在文档中,他们说对对象运行docker检查会给你提供来源:https://docs.docker.com/engine/tutorials/dockervolumes/#locating-a-volume 但是,我没有看到这一点,我得到以下信息: 有人能帮帮我吗?我

  • 问题内容: 如何找到重复的行?如果last_name是重复字段,我想显示 任何数据库都可以,最好是oracle。 问题答案: 假设您的服务器具有GROUP_CONCAT,因为您没有提及正在使用的服务器: