sql-server - 从 weblogic 12c 连接到 sql server

标签 sql-server jdbc weblogic datasource weblogic12c

我开发了一个公开 web 服务的应用程序,该应用程序部署在 weblogic 12c 中,我从 java web 客户端调用 web 服务,当我运行 java 客户端时抛出此异常:

Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: EJB Exception: ; nested exception is: 
    javax.persistence.PersistenceException: Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Cannot acquire data source [sqlServer].
Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'sqlServer'. Resolved ''; remaining name 'sqlServer'
    at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
    at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
    at $Proxy34.loginService(Unknown Source)
    at main.Main.loginService(Main.java:32)
    at main.Main.main(Main.java:22)

我在 Weblogic 12c 的管理控制台中配置了一个 jdbc 资源,JNDI 名为 sqlServer...在应用程序中也有一个持久化单元 xml 文件,如下所示:

<persistence-unit name="BancaSimulacionIBancariaPU" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>sqlServer</jta-data-source>
    <class>entities.Account</class>
    <class>entities.Bank</class>
    <class>entities.BeneficiaryBankItself</class>
    <class>entities.BeneficiaryThird</class>
    <class>entities.CreditCard</class>
    <class>entities.Movement</class>
    <class>entities.RuleType</class>
    <class>entities.ServiceBank</class>
    <class>entities.TransactionRule</class>
    <class>entities.UserApplication</class>
    <class>entities.Money</class>
    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:sqlserver://servertb:1433;databaseName=BancaSimulacion"/>
      <property name="javax.persistence.jdbc.password" value="(*******)"/>
      <property name="javax.persistence.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
      <property name="javax.persistence.jdbc.user" value="sa"/>
    </properties>

我将驱动程序 sqljdbc4.jar 放在 wl_server/lib 文件夹中并配置 commEnv.cmd... 我替换了 64sqljdbc.dll for sqljdbc.dll 在同一文件夹 wl_server/lib...

但我不知道哪个设置适合与我的数据库连接...我测试了我的数据库并且是正确的...有什么问题?

最佳答案

确保你的数据源有一个目标集——否则 WebLogic 不会知道它,它会抛出讨厌的 JNDI (NameNotFoundException) 错误。

基本上,您的数据源连接必须 100% 正确且正常运行,WebLogic 才能接受和使用它 - 这包括确保它具有有效的目标集。

关于sql-server - 从 weblogic 12c 连接到 sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13595549/

相关文章:

sql-server - 为什么foreach循环容器内变量的值为null

sql-server - 标识列是否包含重复值?

java - 尝试打开一个简单的 JSP 文件会产生 HTTP Status 500

java - getEhcache() 的 Ehcache NullPointerException

java - WebLogic 事务管理器

sql - 如何在 SQL 存储过程中实现日志记录和错误报告?

SQL:查找字段值不同的行

java - 程序在executeBatch上挂起

java - 方法名称execute 该语句不声明OUT 参数。使用 { ?= call ... } 声明一个

java.net.ConnectException : after adding weblogic-application. xml