Загрузите несколько копий dll в том же процессе

Нет.

Все результаты единственной строки от выбора являются атомарными. Таким образом, можно просмотреть их всех, как будто они происходят параллельно и не могут зависеть друг от друга.

, Если Вы обращаетесь к вычисляемым столбцам, тогда необходимо обновить вход формулы для результата измениться во время выбора.

Думают о вычисляемых столбцах как о макросах или мини-представлениях, которые вводят немного вычисления каждый раз, когда Вы называете их.

, Например, эти столбцы будут идентичны, всегда:

-- assume that 'Calc' is a computed column equal to Salaray*.25
SELECT Calc, Salary*.25 Calc2 FROM YourTable

Также имеют в виду, что persisted опция не изменяет ни одного из этого. Это сохраняет значение, вокруг которого хорошо для индексации, но атомарность не изменяется.

9
задан Shay Erlichmen 19 October 2009 в 07:35
поделиться

2 ответа

Единственный способ сделать это - создать несколько копий одной и той же библиотеки DLL, а затем загрузить их динамически.

5
ответ дан 4 December 2019 в 19:35
поделиться

Unfortunately, the NT core DLL loader routines don't expose a public interface to skip the pool of already-loaded DLLs. As such, you're left with just a few choices:

  • Copy, hardlink, symlink, and/or use reparse points to fool the loader into thinking you have multiple distinct DLLs.
  • Use multiple processes, and load one DLL per process.
  • Write a new DLL loader (very much not for the faint of heart!)
  • Convince the DLL's vendor to fix it (likely to be harder than writing a DLL loader :)
7
ответ дан 4 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: