GC.Collect в цикле?

похоже, у вас есть данные, которые нельзя преобразовать в число / десятичное число

привести / преобразовать как varchar

select top 100 
    pickticket_number,
    date_allocated,
    l2.action
from  
    [JMNYC-AMTDB].[AMTPLUS].[dbo].PickTickets P (nolock)
left join
    [A1Warehouse].[dbo].[RF_LOG2] (NOLOCK) l2 ON cast(l2.PACKSLIP as varchar) = cast(p.PickTicket_Number as varchar)

, а затем устранить неполадки в каждой таблице, чтобы увидеть, какие нецифровые символы находятся это поле

с помощью isnumeric

21
задан 6 revs, 2 users 100% 14 June 2010 в 13:43
поделиться

7 ответов

Я не думаю, что Вы собираетесь получить лучшее объяснение, что "один из программистов Microsoft довольно невежествен, и по-видимому, никто больше не потрудился смотреть на его код, прежде чем в нем зарегистрировались".;)

Это действительно выглядит страшным все же.

Это - довольно распространенный ответ на ошибки, которые Вы не понимаете все же. По любой причине Вы пытаетесь назвать GC, и так или иначе, звоня это, кажется, не решает Вашу проблему (возможно, настоящая проблема состояла просто в том, что необходимо ожидать потока финализатора или чего-то), таким образом, наивное решение, очевидно, "ну, я буду просто продолжать называть его тогда".

Подобный нажимающей 'печати' неоднократно, пока Ваш документ не печатается.

, Возможно, необходимо отправить его thedailywtf.com все же.

5
ответ дан 29 November 2019 в 21:21
поделиться

Действительно ужасные взгляды:)

7
ответ дан 29 November 2019 в 21:21
поделиться

Разве вещам не должно нравиться это быть указанными Microsoft? Это принесло бы пользу для регистрации этого на сайте Подключения?

2
ответ дан 29 November 2019 в 21:21
поделиться

Да, это ужасно. Во-первых, Вы не должны должны быть делать это вообще. Однако, если Вы действительно хотите вызвать сборку "мусора" настолько трудно, как Вы можете, и ожидать ее для окончания, необходимо, вероятно, использовать:

GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);
GC.WaitForPendingFinalizers();
// Collect anything that's just been finalized
GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced);

Действительно не хорошая идея все же.

14
ответ дан 29 November 2019 в 21:21
поделиться

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

1
ответ дан 29 November 2019 в 21:21
поделиться

Это не хорошая идея, потому что действительно необходимо доверять сборщику "мусора", чтобы сделать его задание, не будучи вызванным конкретно от кода.

99,9% времени Вы никогда не должны называть GC от своего кода.

0
ответ дан 29 November 2019 в 21:21
поделиться

В первую очередь, это не хорошая идея звонить GC.Collect(). Вызов его многократно имеет мало эффекта.

Однако Вы иногда видите шаблон вызова Collect(), тогда WaitForPendingFinalizers(), и затем наконец Collect() снова. Идея позади этого состоит в том, чтобы гарантировать, что экземпляры с финализаторами также исправлены, поскольку они переживут первый набор. Следует иметь в виду жесткий, что это вызовет задержку приложения, и оно должно очень редко быть необходимым.

0
ответ дан 29 November 2019 в 21:21
поделиться
Другие вопросы по тегам:

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