Можно ли из управляемой хранимой процедуры дернуть нативный код?
Спасибо.
Re: Managed stored procedures + native code
От:
Аноним
Дата:
24.11.10 20:48
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Можно ли из управляемой хранимой процедуры дернуть нативный код? А>Спасибо.
Это SQL CLR? Сборка с процедурой должна быть зарегистрирована как Unsafe. (Заменить Project на имя вашего проекта).
-- This script lets to register the assembly as unsafe.USE master
GO
CREATE ASYMMETRIC KEY ProjectKey FROM EXECUTABLE FILE = 'C:\Users\Me\Documents\Visual Studio 2010\Projects\Project\bin\Release\ProjectSqlClr.dll'
CREATE LOGIN ProjectLogin FROM ASYMMETRIC KEY ProjectKey
GRANT UNSAFE ASSEMBLY TO ProjectLogin
GO
Здравствуйте, meerius, Вы писали:
M>Здравствуйте, Аноним, Вы писали:
M>Да, да именно DllImport интересует. M>Спасибо! А больше никаких ограничений на сборку нет?
Нет, но
1) при ошибке в UNSAFE вы имеете пущщай маленький, но шанс завалить весь sql server.
2) рассчитывайте примерно на те же грабли, что и при написании сервиса + шанс нарваться на ограниченные разрешения.
Once you delve into unmanaged code running inside the SQL Server process, all bets are off in terms of robustness and SQL Server's ability to handle any issues such as memory leaks. If you're not fully confident in the quality of the unmanaged code and you care about the reliability of your server you should probably not be running it inprocess. There are also significant security concerns running unmanaged code that youdo not fully trust.
Re[4]: Managed stored procedures + native code
От:
Аноним
Дата:
25.11.10 08:27
Оценка:
Здравствуйте, Sinix, Вы писали:
M>>Да, да именно DllImport интересует. M>>Спасибо! А больше никаких ограничений на сборку нет? S>Нет, но S>1) при ошибке в UNSAFE вы имеете пущщай маленький, но шанс завалить весь sql server. S>2) рассчитывайте примерно на те же грабли, что и при написании сервиса + шанс нарваться на ограниченные разрешения.
S>Ответ от сотрудника МС: S>
S>Once you delve into unmanaged code running inside the SQL Server process, all bets are off in terms of robustness and SQL Server's ability to handle any issues such as memory leaks. If you're not fully confident in the quality of the unmanaged code and you care about the reliability of your server you should probably not be running it inprocess. There are also significant security concerns running unmanaged code that youdo not fully trust.
Я выношу весь функционал в сервисы, заодно и асинхронность появляется. Если только трафик небольшой, милое дело.
Здравствуйте, Аноним, Вы писали:
А>Я выношу весь функционал в сервисы, заодно и асинхронность появляется. Если только трафик небольшой, милое дело.
Тогда надо копать в сторону service broker'а