gpt4 book ai didi

sql-server - 如何在 SQL Server 中创建 Python CLR 过程?

转载 作者:太空狗 更新时间:2023-10-30 02:11:44 24 4
gpt4 key购买 nike

我们想从 sql server 2008 上的 tsql 调用一些 python。

python 脚本已完全开发并且运行良好。我们无法从客户端应用程序触发任何内容,因为它是封闭源代码且无法修改。

因此我们拥有对 SQL Server(2005 和 2008)的完全访问权限,并且可以看到插入了“触发”记录......并且需要在发生这种情况时触发我们的 python 代码。

我们不想使用 xp_cmdshell 来启动老式的 python 脚本,而是希望尽可能地以“sql native”的方式执行此操作。 (xp_cmdshell 可以工作,但在某些级别上很可怕。)

执行此操作的路径是什么?

最佳答案

[编辑] 根据 Paul White 的评论,IronPython(以及任何其他依赖动态生成代码的东西)不能在 SQLCLR 对象中使用。

这使得下面的说法不正确。我会把它留在这里供以后的访客使用。

In order to use Python to program SQL CLR objects, you will need to use IronPython, and manually create .py files containing the proper directives necessary for the .Net runtime to target the required .Net SQL CLR libraries. I have no idea of the precise directives you would need to use in Python.

http://IronPython.net contains the .Net version of Python that can be used for this purpose.

综上所述,Visual Studio 2012 适合使用 C# 或 VB.Net 创建 SQL Server CLR 程序集。为了以一种良好的自动化方式执行此操作,您需要创建一个“SQL Server 数据库”项目,然后根据需要将解决方案的默认语言更改为 C# 或 VB.Net。然后单击“项目 -> 添加新项”并选择“SQL CLR 触发器”。这会自动设置函数声明等以与 SQL Server 一起“正常工作”。

关于sql-server - 如何在 SQL Server 中创建 Python CLR 过程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20584374/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com