首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQLCLR中的Powershell?

SQLCLR中的Powershell?
EN

Stack Overflow用户
提问于 2009-07-29 12:58:26
回答 3查看 1.2K关注 0票数 1

在过去,我已经能够在SQLCLR中嵌入脚本语言(如JScript),因此脚本可以作为函数的参数传递,以执行特定的计算。下面是一个简单的示例(函数ssScriptExecute返回脚本中所有打印的串联):

代码语言:javascript
复制
select dbo.ssScriptExecute( 'print("Calculation: "+(1+2/3) );' )

-- Calculation: 1.6666666666666665

我希望能够以同样的方式嵌入Powershell运行时。但是我遇到过各种各样的问题,因为运行库尝试按路径查找程序集,而SQlCLR中没有路径。我很乐意提供关于我得到的错误的更多信息,但我想知道是否有人尝试过这种方法!

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-06 16:50:04

我使用il代码注入来修改System.Automation.Management。将GetPSVersionTable()中的变量版本设为"2.0“,这样我就可以在SQL Server中运行Powershell代码了。

请确保在visual studio项目中引用此修改后的dll。

http://www.box.net/shared/57122v6erv9ss3aopq7p

顺便说一句,在SQL中运行powershell时,自动注册所需的所有dll

您可以使用以下ps1代码

http://www.box.net/shared/tdlpu1875clsu8azxq4b

票数 1
EN

Stack Overflow用户

发布于 2009-08-05 23:24:55

我认为唯一的方法是创建一个托管powershell的WCF服务,并让SQLCLR发送请求dbo.ssScriptExecute(...)用于执行的服务。除此之外,我还成功地将paxScript.net嵌入到SQLCLR (一个没有DLR语言的内存泄漏问题的解释器)中。

票数 1
EN

Stack Overflow用户

发布于 2009-07-29 17:30:19

我认为SQLCLR仅限于一组特定的程序集,而PS Automation不在其中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1200065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档