我有一个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,但在先前版本中的行为似乎相同。
我的问题: