美好的一天。 我在Anypoint Studio中创建了一个Mule应用程序,在其中我向Oracle和MsSQL数据库发出了请求。 当我在本地机器上运行应用程序工作正常时,没问题。 现在我尝试在C:\ mule-standalone-3.4.0 \ app文件夹中的独立服务器上部署应用程序。应用程序已成功部署。 之后,我尝试向Web服务发出请求并收到错误:
java.sql.SQLException:找不到适合jdbc:sqlserver的驱动程序: // ....
应用程序文件夹中有sqljdbc4-4.0.jar和ojdbc6-11.2.0.jar ... \ lib: 我刚看过这篇文章Mule 3.5 Community throwing No Suitable Driver found 我在配置文件中添加了下一个字符串:
<spring: beans>
<spring: bean id = "jdbcDataSource" class = "org.enhydra.jdbc.standard.StandardDataSource" name = "jdbcDataSource">
<spring: property name = "url" value = "jdbc: sqlserver: // MYSERV: 1433; databaseName = MYDB" />
<spring: property name = "driverClassName" value = "com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<spring: property name = "username" value = "user_login" />
<spring: property name = "password" value = "PASS" />
</ spring: bean>
<spring: bean id = "jdbcDataSource" class = "org.enhydra.jdbc.standard.StandardDataSource" name = "jdbcDataSource">
<spring: property name = "url" value = "jdbc: oracle: thin: @ // MYSERVER.is.loc: 1521 / ORACLEINST" />
<spring: property name = "driverClassName" value = "oracle.jdbc.driver.OracleDriver" />
<spring: property name = "username" value = "user_login" />
<spring: property name = "password" value = "PASS" />
</ spring: bean>
</ spring: beans>
之后,应用程序无法在服务器上部署,并出现以下错误:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: 配置问题:Bean名称'jdbcDataSource'已在使用中 这个元素
请帮助部署可以访问数据库的应用程序。 我需要添加到配置中还是有另一种方法允许应用程序与DB通信?
答案 0 :(得分:0)
将此依赖项添加到您的pom.xml
<dependency>
<groupId>com.oracle.jdbc</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.2.0</version>
</dependency>
答案 1 :(得分:0)
我可以看到你创建了两个bean:一个用于mssql,另一个用于oracle数据库。但是你已经将两个spring bean命名为'jdbcDataSource',这会混淆spring。我建议更改名称和引用,以获取合适的名称,例如'msqlDataSource'和'oracleDataSource'。