使用Quartz.net时,我们需要同时支持Sql Server和Oracle。在之前的冲刺中,我们使用Sql Server作为数据存储区开发,现在我正在尝试切换到Oracle。我们使用Oracle v11.2。我设置了提供者:
<add key="quartz.dataSource.default.provider" value="OracleODP-1123-40" />
我确保重定向到我打算使用的Oracle驱动程序的确切版本:
<dependentAssembly>
<assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.112.3.0" newVersion="4.112.4.0"/>
</dependentAssembly>
不幸的是,当Quartz启动时,我得到了异常,似乎是由于将booleans .Net参数转换为布尔db值(我实际上使用Quartz源代码调试了这个)。当我调试,并用0或1替换布尔值,然后启动运行正常。
所以这让我想知道,Quartz仍然支持Oracle 11吗?还是有一些我忽略的配置?作为一项实验,我还尝试使用ODP托管提供商:
<add key="quartz.dataSource.default.provider" value="OracleODPManaged-1211-40" />
但问题相同。
非常感谢任何反馈。
答案 0 :(得分:0)
知道了。你需要
<add key="quartz.jobStore.driverDelegateType" value="Quartz.Impl.AdoJobStore.OracleDelegate, Quartz" />
答案 1 :(得分:0)
是;仍然支持Oracle。 但是他们更改了较新版本中的提供程序值。 因此,您必须更改提供程序的值,如下所示:
<add key="quartz.dataSource.default.provider" value="OracleODP" />