SQL Server SQL 2008 DB列更改时运行python脚本

hl0ma9xz  于 2023-01-20  发布在  Python
关注(0)|答案(1)|浏览(135)

假设我有一个SQL 2008数据库,其中包含我的企业的库存数据。我需要触发一个python脚本,一旦一个项目的数量发生变化。这可能会导致在几种情况下,它可能是一个销售订单,或只是一个数量变化。python脚本将转换数据,并上传到谷歌工作表。
我需要实时触发,比如当指定的列更改或创建记录时,我需要启动脚本。
最好的解决方案是在DB服务器上运行,而不必为其他集成工具(如Zapier)付费。(此外,Zapier在这里也帮不上忙)
制约因素:我无法将数据库移动到云(业务限制)也无法将数据库升级到新版本(预算)也无法将数据库更改为开源(其他应用程序依赖项)
这是一个真正的难题,但我试图找到一个解决方案的实时触发。失败,我几乎可以实现一个定期扫描的方法,但这将产生新的问题。
还没有尝试过任何东西,因为我不知道在这里该尝试什么。一些谷歌搜索,但未能找到解决方案。

fnvucqvd

fnvucqvd1#

来源:https://www.sqlshack.com/use-xp-cmdshell-extended-procedure/
答案是使用xp_cmdshell配置所需的触发器,然后可以使用xp_cmdshell运行. bat或. py文件。
请注意xp_cmdshell运行时的权限,这很可能是运行文件的SQL用户,您必须确保此用户在操作系统级别具有执行文件和写入任何需要写入的目录的权限。
如果有人处于类似的情况,他们可以考虑升级到SQL Express(这是免费的),不确定这是否会破坏应用程序,但很有可能不会(SQL Server 2008R2 Express upgrade to SQL Server 2012 Express)。
不用说,这肯定不是最佳实践,如果您可以完全避免这种情况,最好运行计划任务。

相关问题