Я использую установку MS SQL Server 2008 R2, которая находится в процессе ввода в эксплуатацию.
Я написал приложение, которое шифрует и дешифрует столбцы в таблицах по требованию, и это прекрасно работает.Это приложение использует объект DataTable для обработки строк в любой заданной таблице.
Чтобы интегрировать это в SQL, я вынужден сначала создать следующую сборку, чтобы удовлетворить использование объекта DataTable.:
create assembly [system.data.datasetextensions]
from 'C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\System.Data.DataSetExtensions.dll'
with permission_set = unsafe
Нет проблем;конечно, я должен объявить это как небезопасный, так как он содержит статическое поле, не помеченное только для чтения, поэтому оно не является потокобезопасным, поэтому непредсказуемым от выполнения к выполнению.быть безопасным (очевидно, подписав, введя в GAC и т. д.) и не может делать этого без проблем.Однако, когда я запускаю код, я получаю неприятную ошибку 'index out of range', которая не поднимает уродливую голову, если я объявлю свою основную библиотеку CLR DLL также небезопасной.Я предполагаю, что это связано с тем, что я пытаюсь получить доступ к небезопасной сборке, что является нет для безопасных сборок ???
Во-вторых, если эта основная библиотека CLR работает как небезопасная,«истекшие» вызовы CLR для этого не очищены SQL Server / .Net ???Потребление памяти увеличивается, когда я запускаю его, но память никогда не освобождается;Я действительно не хочу ждать, пока домен приложения не будет выгружен, чтобы освободить память !!
Спасибо вам, ребята ..