为什么我不能用 oracle 初始化 quartz.net adoJobStore?

Why i can't initialize quartz.net adoJobStore with oracle?

我正在尝试使用 oracle 设置 quartz.net AdoJobStore。 我有一个包含石英表的有效模式。 但是每次我在这段代码的最后一行遇到相同的异常"Could not Initialize DataSource: default"。

        NameValueCollection properties = new NameValueCollection();
        properties["quartz.scheduler.instanceName"] = "TestScheduler";
        properties["quartz.scheduler.instanceId"] = "instance_one";
        properties["quartz.jobStore.type"] = "Quartz.Impl.AdoJobStore.JobStoreTX, Quartz";
        properties["quartz.jobStore.useProperties"] = "true";
        properties["quartz.jobStore.dataSource"] = "default";
        properties["quartz.jobStore.tablePrefix"] = "QRTZ_";
        properties["quartz.dataSource.default.connectionString"] = "Data Source=//192.168.0.221:1521/ESPDB;User Id=quartz;Password=quartz";
        properties["quartz.dataSource.default.provider"] = "OracleODP-20";
        //
        ISchedulerFactory schedulerFactory = new StdSchedulerFactory(properties);
        IScheduler scheduler = await schedulerFactory.GetScheduler();

我在尝试使用配置文件时遇到了同样的异常。 我正在使用 quartz 3.0 版。

最后一个属性尝试修改如下

properties["quartz.dataSource.default.provider"] = "OracleODP";

它对我有用。 我认为 OracleODP-20 可能是以前版本 Quartz.net 的 Oracle 数据提供程序的旧值,您可以阅读 here.