在 SQL Server 上运行 Python (.py 脚本)

4

我一直想从SSIS中运行Python。所以我需要在SQL Server中创建一个包。我可以在SQL Server中运行小脚本,但是我不确定如何运行脚本。

以下方法可行。但我的Python代码在test_db.py中。我该如何在SQL Server中运行该Python脚本?

EXEC sp_execute_external_script @language = N'Python', 
@script = N'print(3+4)'

来自外部脚本的STDOUT消息:

7


你可以尝试使用CLR集成 https://learn.microsoft.com/zh-cn/sql/relational-databases/clr-integration/clr-integration-overview?view=sql-server-2017 - Samuel A C
EXEC sp_execute_external_script @language = N'Python', @script = N'import test_db' 这段代码是否有效?假设 test_db.py 与你的 SQL 脚本在同一个文件夹中。 - TuanDT
2个回答

0

有两种方法可以在SSIS中执行Python脚本:

(1) 使用Execute Process Task执行Python脚本

您可以使用Execute Process Task从Flat文件中执行Python脚本,然后从Flat文件读取到SQL Server,您可以参考以下链接获取更多信息:

(2) 使用IronPython

IronPython是Python编程语言的一个开源实现,与.NET Framework紧密集成。 IronPython可以使用.NET Framework和Python库,其他.NET语言可以像使用Python代码一样轻松地使用它。

您可以使用Script Component集成IronPython库:

我以前没有使用过这个库,也不知道我能否帮忙。我读了@billinkc写的评论,其中链接到下面的答案,里面包含了一个惊人的指南,告诉你如何做到这一点:

参考资料


0
如果在您尝试运行此脚本的服务器上安装了Python引擎,您可以使用执行进程任务并调用python.exe。将.py文件作为参数传递给任务,这将运行该脚本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接