我相信这是可以做到的。但是,F# 核心库是 Microsoft 的专有财产。这意味着您无法修改其代码并重新编译它以匹配和遵守 SQLCLR SAFE。我建议您使用 Microsoft 的 connect 网站向 Microsoft 添加建议。
Microsoft Connect 网址为:http://connect.microsoft.com(注册前您必须在 live.com 或 hotmail.com 上注册并拥有电子邮件帐户)。
要手动添加 .NET DLL 并将其集成到 SQL Server,您可以执行以下操作:
在此示例中,必须首先编译 F# 代码中的 DLL。我从 MSDN 库链接中执行此步骤: http://msdn.microsoft.com/en-us/library/ms254956(v =vs.80).aspx
只是不要忘记将 PERMISSION_SET = SAFE 添加到 CREATE ASSEMBLY 命令中。
以下是我从上面的链接引用的步骤:
在 SQL Server 中加载并运行“Hello World”存储过程
成功编译示例过程后,您可以在 SQL Server 中对其进行测试。为此,请打开 SQL Server Management Studio 并创建一个新查询,连接到合适的测试数据库(例如 AdventureWorks 示例数据库)。我们需要创建程序集,以便可以访问存储过程。对于此示例,我们假设您已在 C:\ 目录中创建了 helloworld.dll 程序集。将以下 Transact-SQL 语句添加到您的查询中。
Run Code Online (Sandbox Code Playgroud)CREATE ASSEMBLY helloworld from 'c:\helloworld.dll' WITH PERMISSION_SET = SAFE创建程序集后,我们现在可以使用 create procedure 语句访问 HelloWorld 方法。我们将调用我们的存储过程“hello”:
Run Code Online (Sandbox Code Playgroud)CREATE PROCEDURE hello AS EXTERNAL NAME helloworld.HelloWorldProc.HelloWorld创建该过程后,就可以像用 Transact-SQL 编写的普通存储过程一样运行它。执行以下命令:
Run Code Online (Sandbox Code Playgroud)EXEC hello这应该会在 SQL Server Management Studio 消息窗口中产生以下输出。
Run Code Online (Sandbox Code Playgroud)Hello world!
编辑:根据下面的评论者,他关于 F# 现在开源的说法是正确的!您可以修改并重新编译它以满足您的需要。
编辑:添加有关如何将 DLL 集成到 SQL Server CLR 集成的更多详细指南。
| 归档时间: |
|
| 查看次数: |
418 次 |
| 最近记录: |