Mik*_*son 6 mysql groovy jdbc jenkins jenkins-pipeline
我想在管道脚本中创建一个数据库,供部署的应用程序使用.但首先我开始测试连接.我遇到了这个问题:
java.sql.SQLException: No suitable driver found for jdbc:mysql://mysql:3306/test_db
Run Code Online (Sandbox Code Playgroud)
我安装了数据库插件和MySQL数据库插件.
我如何获得JDBC驱动程序?
import groovy.sql.Sql
node{
def sql = Sql.newInstance("jdbc:mysql://mysql:3306/test_db", "user","passwd", "com.mysql.jdbc.Driver")
def rows = sql.execute "select count(*) from test_table;"
echo rows.dump()
}
Run Code Online (Sandbox Code Playgroud)
albciff回答后更新:
我的版本:
Jenkins = 2.19.1
Database plugin = 1.5
Mysql database plugin = 1.1
Run Code Online (Sandbox Code Playgroud)
最新的测试脚本.
import groovy.sql.Sql
Class.forName("com.mysql.jdbc.Driver")
Run Code Online (Sandbox Code Playgroud)
哪个投掷:
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Run Code Online (Sandbox Code Playgroud)
从MySQL 数据库插件文档中,您可以看到包含MySQL的jdbc驱动程序:
请注意,MySQL JDBC 驱动程序遵循 GPLv2,但 FOSS 例外。该插件本身符合 FOSS 例外规定,但如果您要重新分发该插件,请务必检查许可条款。Drizzle(+MySQL) 数据库插件可作为此插件的替代品,并且该插件采用 BSD 许可证。
更具体地说,该插件的实际最新版本 (1.1) 包含连接器版本 5.1.38:
版本 1.1(2016 年 5 月 21 日)mysql-connector 版本 5.1.38
因此,为了让驱动程序可用,您可能必须强制注册驱动程序。
为此,请Class.forName("com.mysql.jdbc.Driver")在代码中实例化连接之前使用:
import groovy.sql.Sql
node{
Class.forName("com.mysql.jdbc.Driver")
def sql = Sql.newInstance("jdbc:mysql://mysql:3306/test_db", "user","passwd", "com.mysql.jdbc.Driver")
def rows = sql.execute "select count(*) from test_table;"
echo rows.dump()
}
Run Code Online (Sandbox Code Playgroud)
更新:
为了在Jenkins 管道groovy 脚本中使用JDBC连接器类,您需要将数据库插件更新到最新版本:
版本 1.5(2016 年 5 月 30 日)管道支持
| 归档时间: |
|
| 查看次数: |
9062 次 |
| 最近记录: |