0

我有一个 Quartz for .Net 服务,它使用System.Data.OracleClient从 Oracle 12c 数据库中检索数据。从控制台应用程序尝试此操作时,我能够连接并获取值,但是一旦我迁移代码并将其捆绑到 Quartz 调度程序服务中,我就会收到错误

不支持连接参数:'DATABASE'

我已经在几个连接到 Sql Server 的 Quartz.net 作业上实现了这一点,没有任何问题。这个问题似乎是 Oracle 提供程序的连接字符串所特有的。

我的 Quartz 服务实现取自这里的示例:

https://medium.com/better-programming/asp-net-core-windows-service-task-scheduler-daily-weekly-monthly-700a569d502a

我的连接字符串如下:

<connectionStrings>
<add name="FCUBS" connectionString="user id=MYUSERNAME;password=mypassword*;data source=10.167.67.667:6767/COMPANYLIVE" />

对于上下文,随附的查询操作是:

public static double GetExchangeRate()
    {
        var flex = new FrontOfficeTransaction();
        double rate = 0.00;
        try
        {
            using (OracleConnection connp = new OracleConnection(FCUBSConnection))
            {
                connp.Open();
                OracleCommand cmd1 = new OracleCommand("select * from fgpreprod.xxxx_rates where ccy4 in ('USD','GBP') AND ccy2 in ('USD','GBP') and branch_code='089' and RATE_TYPE='MIDRATE'", connp);
                OracleDataReader dr1 = cmd1.ExecuteReader();
                while (dr1.Read())
                {                        
                    flex.ExchangeRate = Convert.ToDouble(dr1["MID_RATE"]);                       
                    rate = flex.ExchangeRate;
                }
            }
        }
        catch (Exception ex)
        {
            ExceptionLogging.SendErrorToText(ex);
        }
        return rate;
    }

根据某些来源的建议,我尝试使用服务器而不是数据源,但我仍然遇到相同的错误:

<connectionStrings>
<add name="FCUBS" connectionString="user id=MYUSERNAME;password=mypassword*;Server=10.167.67.667:6767/COMPANYLIVE" />   
4

0 回答 0