访问Mule ESB中的多个数据库

时间:2014-01-23 14:54:05

标签: jdbc groovy mule

我有一个Mule流需要连接到用户指定的数据库,而不是配置到流中的静态数据源。

我有连接参数 - URL,用户等 - 我正在尝试使用以下代码编写一个简单的Groovy脚本块来建立与目标数据库的连接:

sql = Sql.newInstance(“jdbc:mysql://localhost:3306/DB", “root”, “pass”, “com.mysql.jdbc.Driver");  

我已经尝试了几种Sql.newInstance的变种,但无论我尝试过什么,我都会得到 的 javax.script.ScriptException: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306 即可。

MySQL驱动程序(mysql-connector-java-5.1.26-bin.jar)包含在我的Mule项目中(我将其视为“引用库”)。我已经尝试将Jar文件放在其他海报推荐的几个地方,但没有变化。

我不相信这是一个丢失的Jar文件问题。如果我在我的Mule项目中声明一个静态数据源,那么这样的代码就可以完美地运行:

JdbcConnector jdbcConnector = (JdbcConnector) muleContext.getRegistry().lookupConnector("MyDB");
DataSource datasource = (DataSource) jdbcConnector.getDataSource();
Connection connection = (Connection) datasource.getConnection();
sql.setConnection(connection);

我有MuleStudio 3.5.0 Build 201312201424,但在先前版本中的行为似乎相同。

我的问题:

  1. 让Sql.newInstance()在Groovy中工作有什么魔力吗?
  2. 有没有更好的方法来动态创建JDBC连接?

0 个答案:

没有答案