2012-05-30 2 views
3

Когда я смотрю на журналы событий для моего проекта на основе Quartz.NET окна-службы, я получаю:Quartz.NET пара соединения-транзакция не может быть пустым

Connection-Transaction Pair cannot be null

parameter name: cth

Я гугле , конечно, но не нашел никакой документации по исключению. Кто-нибудь знает, что это значит или как это исправить?

Заранее спасибо.

Edit: вот расширенная (но не полное) исключение/трассировки стека:

Service cannot be started. Parameters: refire = False, unscheduleFiringTrigger = False, unscheduleAllTriggers = False Quartz.JobExecutionException: System.ArgumentNullException: Connnection-transaction pair cannot be null Parameter name: cth at Quartz.Impl.AdoJobStore.JobStoreSupport.CheckNotZombied(ConnectionAndTransactionHolder cth) in c:\Work\OpenSource\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 3487 at Quartz.Impl.AdoJobStore.JobStoreSupport.RollbackConnection(ConnectionAndTransactionHolder cth) in c:\Work\OpenSource\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 3300 at Quartz.Impl.AdoJobStore.JobStoreSupport.ExecuteInNonManagedTXLock(String lockName, Func2 txCallback) in c:\Work\OpenSource\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:line 3467 at Quartz.Impl.AdoJobStore.JobStoreTX.ExecuteInLock(String lockName, Func2 txCallback) in c:\Work\OpenSource\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreTX.cs:line 76 at Quartz.Impl.AdoJobStore.JobStoreSupport.Store...

Кроме того, есть ли способ, чтобы получить полный трассировки стека? Я не могу сделать это программно, потому что он не работает до начала обслуживания.

ответ

3

Место Debugger.Launch(); выше первой строки кода окна обслуживания поэтому при запуске службы вы сможете пройти через код и найти точную строку кода, где выбрасывается исключение ...

+1

+1 для обучения «человеку» для рыбалки –

+0

Не помогает, если программа никогда не делает это так далеко. И не помогает, потому что по какой-то безумной причине моя компания не чувствует, что компилятор JIT стоит подняться до статуса администратора через ViewFinity. –

+0

Но спасибо, потому что вы напомнили мне жаловаться кому-то об этом –

5

я имел такую ​​же проблему, а также попытался багфикс Sanjay10 предложил, но не работает. Это просто отложило проблему до другой позиции.

Эта ошибка возникает, если Quartz пытается отменить соединение, так как при попытке создать правильное подключение к базе данных произошла ошибка. В моем случае это не сработало, потому что моя база данных не была настроена для удаленного подключения (была локально настроена тестовая БД). Переключение на другую (проверенную) базу данных решило проблему для меня.

Таким образом, мое предложение состоит в том, что это либо та же проблема, что и у меня, или какая-то другая проблема, связанная с БД (например, назначенный пользователь не имеет некоторых разрешений). Возможно, попробуйте другую БД или предоставите назначенному пользователю больше разрешений

Смежные вопросы