嗨,我有一个很长的sql查询,并且正在使用python将查询执行到DB2,我在jenkins作业上将查询作为字符串参数传递了
我得到以下信息:
connectToServer(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4])
File "mavisdb2scripts.py", line 10, in connectToServer
stmt = ibm_db.exec_immediate(conn, sqlquery)
Exception: [IBM][CLI Driver][DB2/AIX64] SQL0104N An unexpected token "END-OF-STATEMENT" was found following "CREATE". Expected tokens may include: "JOIN <joined_table>".
SQLSTATE=42601 SQLCODE=-104
sys.argv [4]是sql查询...一些如何采用第一个字符串而不是整个字符串查询...我尝试将其直接传递给代码,并且效果很好,也尝试使用qoutes / double
构建步骤'Execute shell'将构建标记为失败 完成:失败
答案 0 :(得分:0)
听起来,它没有接多行。因此,仅通过从所有行的末尾删除返回码,尝试将SQL写在一行中。 如果您仍要使用多行,请尝试在所有行的末尾添加反斜杠符号“ \”。
希望这会有所帮助。