Powershell в SQLCLR? - PullRequest
       19

Powershell в SQLCLR?

1 голос
/ 29 июля 2009

В прошлом я мог встраивать язык сценариев (например, JScript) в SQLCLR, поэтому сценарии можно передавать в качестве параметров функций для выполнения определенных вычислений. Вот упрощенный пример (функция ssScriptExecute возвращает объединение всех отпечатков в скрипте):

select dbo.ssScriptExecute( 'print("Calculation: "+(1+2/3) );' )

-- Calculation: 1.6666666666666665

Мне бы хотелось иметь возможность встроить среду исполнения Powershell таким же образом. Но у меня были всевозможные проблемы, потому что среда выполнения пытается найти сборки по пути, а внутри SQlCLR нет путей. Я рад предоставить больше информации об ошибках, которые я получаю, но мне было интересно, если кто-нибудь пробовал это!

Спасибо!

Ответы [ 3 ]

1 голос
/ 06 августа 2009

Я думаю, что единственный способ сделать это - создать службу PowerShell для WCF и позволить SQLCLR отправить запрос dbo.ssScriptExecute (...) в эту службу для выполнения. Кроме того, я также успешно внедрил paxScript.net в SQLCLR (интерпретатор, у которого нет проблем с утечкой памяти в языках DLR).

1 голос
/ 06 июля 2011

Я использую вставку кода il в модифицированный System.Automation.Management. сделать переменную версию в GetPSVersionTable () равной "2.0" тогда я могу запустить Powershell Code в SQL Server.

Обязательно укажите этот измененный dll в вашем проекте Visual Studio.

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

Кстати, автоматическая регистрация всех необходимых вам DLL с помощью powershell в SQL

Вы можете использовать этот код PS1

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

0 голосов
/ 29 июля 2009

Я думал, что SQLCLR ограничен только определенным набором сборок, и PS Automation не входит в их число.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...