如何从tomcat';java中jdbc连接的s context.xml?

如何从tomcat';java中jdbc连接的s context.xml?,java,tomcat,jdbc,sybase,bouncycastle,Java,Tomcat,Jdbc,Sybase,Bouncycastle,我们在struts2中开发了一个应用程序。使用的应用服务器是Weblogic。我们正在使用Sybase ASE数据库。我们使用普通JDBC连接到数据库 最近,我们在weblogic server中打开了加密。所以我们增加了3个属性 key="ENCRYPT_PASSWORD" value="true" key="JCE_PROVIDER_CLASS" value="org.bouncycastle.jce.provider.BouncyCastleProvider" key="RETRY_W

我们在struts2中开发了一个应用程序。使用的应用服务器是Weblogic。我们正在使用Sybase ASE数据库。我们使用普通JDBC连接到数据库

最近,我们在weblogic server中打开了加密。所以我们增加了3个属性

key="ENCRYPT_PASSWORD" value="true"

key="JCE_PROVIDER_CLASS" value="org.bouncycastle.jce.provider.BouncyCastleProvider"

key="RETRY_WITH_NO_ENCRYPTION" value="true" 
weblogic服务器用于PROD环境。在weblogic中,它运行良好。但是我们使用Tomcat7.0进行本地开发。在tomcat中,我们将context.xml与以下标记一起使用

<Resource name="CONN.DS" auth="Container"      
   type="javax.sql.DataSource" 
   username="abc" 
   password="dfg"      
     driverClassName="com.sybase.jdbc4.jdbc.SybDriver"    
      url="jdbc:sybase:Tds:xyz:1234/DbName"      
        maxActive="10" maxIdle="4"/>
实际上,在weblogic中,通过添加上述3个属性,它可以正常工作。但是在tomcat中,我们使用context.xml。那么,在eclipse和tomcat中建立连接时,如何通过context.xml传递上述三个属性呢

目前,在第“
ds.getConnection()
”行,它给出了错误信息:

'An exception occurred: org.apache.tomcat.dbcp.dbcp.SQLNestedException'

    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)

请告知。

使用以下连接字符串:

jdbc:sybase:Tds:xyz:1234/DbName?ENCRYPT_PASSWORD=true&JCE_PROVIDER_CLASS=org.bouncycastle.jce.provider.BouncyCastleProvider&RETRY_WITH_NO_ENCRYPTION=true

此外,请检查

这不起作用,因为它会出现以下错误:由于语法错误或其他异常,无法加载上下文的上下文配置。对实体“JCE_PROVIDER_CLASS”的引用必须以“;”结尾定界符。我还将&替换为“;”但仍然不起作用。当我用“;”替换“&”时,给出错误:无法创建PoolableConnectionFactory(JZ011:解析连接属性ENCRYPT_PASSWORD时遇到格式异常)。如果此配置字符串位于XML文件中,则必须将
&
替换为
&,因此它将成为
jdbc:sybase:Tds:xyz:1234/DbName?ENCRYPT_PASSWORD=true&;JCE_PROVIDER_CLASS=org.bouncycastle.JCE.PROVIDER.BouncyCastleProvider&;使用\u NO\u ENCRYPTION=true重试\u这一答案非常有用
jdbc:sybase:Tds:xyz:1234/DbName?ENCRYPT_PASSWORD=true&JCE_PROVIDER_CLASS=org.bouncycastle.jce.provider.BouncyCastleProvider&RETRY_WITH_NO_ENCRYPTION=true