Sql server 使用jitterbit脚本删除数据库中的记录
我正在尝试删除数据库中的记录Id。我正在使用jitterbit脚本 我尝试了以下脚本:Sql server 使用jitterbit脚本删除数据库中的记录,sql-server,sql-delete,sql-server-2019,jitterbit,Sql Server,Sql Delete,Sql Server 2019,Jitterbit,我正在尝试删除数据库中的记录Id。我正在使用jitterbit脚本 我尝试了以下脚本: <trans> $recIdVar = "003M000001I8PtGIAV"; DBExecute("<TAG>endpoint:database/My Database</TAG>", "Delete From Contact where Id ="+Quote($recIdVar), "1&
<trans>
$recIdVar = "003M000001I8PtGIAV";
DBExecute("<TAG>endpoint:database/My Database</TAG>", "Delete From Contact where Id ="+Quote($recIdVar),
"1");
$recIdVar=“003M000001I8PtGIAV”;
DBExecute(“端点:数据库/My数据库”,“从联系人中删除,其中Id=“+Quote($recIdVar)”),
"1");
这给了我以下的错误:
未能测试表达式:DBExecute未能执行SQL语句“从联系人中删除,其中Id=“003M00001I8PTGIAV”终结点:“数据库/我的数据库”不是有效的源/目标标识符。计算第3行DBExecute处的函数时出错(
不要使用script
标记。每个SO问题都是关于脚本的。这并不比添加code
作为标记好。该标记只是噪音,它在过去被删除,很快就会被删除。你能给我建议一种方法,在上面的脚本中添加数据库连接作为目标吗?在SQL语言中,双quotes用于引用数据库对象,如表名、列等。您可以从“myTable”中编写egselect*
。您需要使用单引号来指定字符串:从Id='003M00001I8PTGIAV'
的联系人中删除。但最大的问题是您刚刚遇到的SQL注入问题。如果reIdVar
包含”;drop table users;
?任何引用、转义或清理都无法防止此类攻击。这是非常重要的通过使用参数化查询/服务器绑定参数避免,但它看起来像是DbExecute
不允许输入参数。
</trans>