SQLCLR与IronPython

4 投票
1 回答
552 浏览
提问于 2025-04-16 02:55

我最近有点疯狂,决定想写一个用户自定义函数,用Python来在SQL Server 2008上运行。我之所以想这样做,是因为我有几千行为PostgreSQL写的PL/Python函数,现在想知道能不能把这个项目转到SQL Server上。

我第一次接触IronPython,想看看能不能把这样的C#代码...

using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;

public partial class UserDefinedFunctions
{
    [Microsoft.SqlServer.Server.SqlFunction]
    public static SqlString Function1()
    {
        // Put your code here
        return new SqlString("Hello");
    }
};

... 转换成Python。

有没有人对此有什么想法?这样做可能吗?

让我特别困惑的是这个注解:

[Microsoft.SqlServer.Server.SqlFunction]

我该怎么用Python来写这个?看起来有点像装饰器 :)

欢迎所有建议。

谢谢,
汤姆

1 个回答

2

根据这篇文章,你在尝试的时候其实是在浪费时间。显然,在SQL CLR中,即使是在不安全的程序集里,你也根本不能使用动态语言。

撰写回答