Есть ли способ, позволяющий мне загружать определенные данные и, возможно, читать из базы данных на только загрузка сборки ?
Это зависит от того, насколько вы гибки с расположением этих «определенных данных» и / или PERMISSION_SET
сборки.
Если сборка должна оставаться как SAFE
(что предпочтительно, если это вообще возможно), то только два источника, которые можно прочитать из внешних по отношению к сборке:
- переменные окружения
- файл app.config (подробности см. В моем ответе на этот вопрос S.O.: Поддерживает ли SQL Server CLR Integration файлы конфигурации? - и да, он также работает с разделом
appSettings
). ОБНОВЛЕНИЕ: Пока что кажется, что чтение из файла конфигурации не работает в Linux (новая платформа с SQL Server 2017).
Хотя ни один из них не является «динамическим», как чтение из этой таблицы, можно настроить триггер в этой таблице настроек для записи соответствующих данных в файл sqlservr.exe.config . Я бы точно не рекомендовал это для таблицы с высокой степенью транзакций, но я предполагаю, что значения для этих целей не меняются так часто, тем более что планируется все равно кэшировать их в static readonly
переменных класса.
Если сборка уже установлена на EXTERNAL_ACCESS
, то вы можете сделать обычный / внешний SqlConnection
для получения данных из БД. Однако, если по этой причине only вы устанавливаете сборку на EXTERNAL_ACCESS
, я бы выбрал параметр конфигурации, упомянутый выше, поскольку производительность лучше для детерминированных методов, если сборка установлена на SAFE
.