【问题标题】:Connection problems MS SQL 2008 in EAP 6.4EAP 6.4 中的连接问题 MS SQL 2008
【发布时间】:2016-04-13 10:31:05
【问题描述】:

我是 JBoss EAP 的新手并使用 6.4 版本。早些时候我一直在使用 Tomcat 7.39。我喜欢从 tomcat 转移到 JBOSS EAP 6.4。从堆栈溢出和 JBOSS EAP 的一些帖子中,我了解了如何在 JBOSS EAP 中配置 MS SQL 2008 但它不起作用。

独立的.xml 文件

<subsystem xmlns="urn:jboss:domain:datasources:1.2">
      <datasources>
            <datasource jndi-name="java:jboss/datasources/TMS" pool-name="TMS" enabled="true" use-java-context="true">
                <connection-url>jdbc:sqlserver://localhost:1433;databaseName=TMS;integratedSecurity=false;</connection-url>
                <driver>sqlserver</driver>
                <security>
                    <user-name>sa</user-name>
                    <password>1234</password>
                </security>
            </datasource>
            <drivers>
                <driver name="sqlserver" module="com.microsoft.sqlserver">
                    <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class>
                </driver>
            </drivers>
        </datasources>
    </subsystem>

之前我没有任何 pool-name ,我已经从 datasource 标记中删除了这个属性。现在我只是将池名称保留为数据库名称,尽管我还没有任何池名称。我是否必须创建池名称,我该怎么做?

我在 *EAP_HOME\modules* 中创建了 (com\microsoft\sqlserver\main) 这个文件夹结构,然后我保留了 sqljdbc4.jar 和 module.xml。我正在使用 Windows 7、32 位机器。下面是module.xml的代码sn-p:-

<module xmlns="urn:jboss:module:1.1" name="com.microsoft.sqlserver">
 <resources>
    <resource-root path="sqljdbc4.jar"/>
 </resources>
 <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
 </dependencies>

我收到此错误来自 [Module "deployment.TSM_UI.war:main" from Service Module Loader] 的错误 com.microsoft.sqlserver.jdbc.SQLServerDriver] 我认为这可能是由于我的池名称。任何建议。提前致谢

【问题讨论】:

    标签: sql-server sql-server-2008 jboss


    【解决方案1】:

    错误消息看起来不完整。我猜是“错误 ClassNotFoundEcxeption:无法从 [Module “deployment.TSM_UI.war:main” from Service Module Loader] 加载类 com.microsoft.sqlserver.jdbc.SQLServerDriver”? 然后,您尝试直接从部署中加载驱动程序,但您应该使用 JNDI 查找从您创建的数据源获取连接。 搜索您的部署 (TSM_UI.war) 是否在您的部署中有任何对 com.microsoft.sqlserver.jdbc.SQLServerDriver 的引用并将其删除。

    【讨论】:

    • 我也没有对 com.microsoft.sqlserver.jdbc.SQLServerDriver 的任何引用。
    • 。此外,当我运行与 java 应用程序相同的代码时,它工作正常。我认为 jboss 可能有问题
    • 当您运行与 java 应用程序相同的代码时,您需要自己加载驱动程序。因此,您必须在代码中对驱动程序进行一些引用。
    • 在 JBoss 中,您的部署中看不到驱动程序类。您可以查找配置的数据源并且数据源会看到驱动程序,但您的应用程序看不到驱动程序,这就是您收到错误的原因。 (请提供完整的错误信息)
    • 21:48:27,717 错误 [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/TSM_UI].[LoginController]] (http-localhost /127.0.0.1:8080-1) JBWEB000236: servlet LoginController 的 Servlet.service() 抛出异常:com.TSM.DBConnection.BO.doAuthenticate(BO.java:23) [classes:] at com 的 java.lang.NullPointerException .TSM.Filter.ValidUserSessionFilter.doFilter(ValidUserSessionFilter.java:77) [classes:] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:246) [jbossweb-7.5.
    猜你喜欢
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2019-01-31
    • 2010-10-27
    相关资源
    最近更新 更多