微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Visual Studio 19 打开 Api 3.0 Swagger 应用程序 - 数据库连接问题

如何解决使用 Visual Studio 19 打开 Api 3.0 Swagger 应用程序 - 数据库连接问题

我必须为 .NET5.0 制作应用程序。 (核)。我已经安装了软件包 Devart.Data (5.0.2658) 和 Devart.Data.Oracle(9.14.1234)。 我在我的电脑上使用 32 位 oracle 客户端。 我已将我的应用程序切换到 x86 模式。

我需要连接到 Oracle 12 服务器。

这是我的代码

    [Route("GetMyData")]
    [HttpGet]
    public List<Cis_titul_pred> GetCiselnik()
    {
        List<DataModule.BO.Cis_titul_pred> testlist = 
        DataModule.DAL.Cis_titul_predDB.Instance.GetList();
        return testlist;
    }

    public  List<Cis_titul_pred> GetList()
    {
        List<Cis_titul_pred> cis_titul_predList = null;
        using (OracleConnection oraConnect = new OracleConnection(AppConfig.ConnectionString))
        {
            OracleCommand oraCommand = new OracleCommand(selectList,oraConnect);
            oraCommand.CommandType = CommandType.Text;
            oraConnect.open();
                using (OracleDataReader oraReader = oraCommand.ExecuteReader())
                {
                    if (oraReader.HasRows)
                    {
                        cis_titul_predList = new List<Cis_titul_pred>();
                        while (oraReader.Read())
                        {
                            cis_titul_predList.Add(FillCis_titul_pred(oraReader));
                        }
                    }
                    oraReader.Close();
                }
                oraConnect.Close();
        }
        return cis_titul_predList;
    }

当我创建 .NET5.0 桌面 (WinForms) 应用程序时,一切正常 - 我可以连接到 Oracle 服务器并读取数据。

当我创建 .NET5.0 WEB 应用程序时,一切正常 - 我可以连接到 Oracle 服务器并读取数据。

当我创建 .NET5.0 OpenApi 应用程序时,我收到错误消息“Devart.Data.Oracle.OracleException (0x80004005): 服务器没有在指定的超时间隔内响应 在 Devart.Data.Oracle.dp.a(cj A_0,di A_1) 在 Devart.Data.Oracle.OracleInternalConnection..ctor(cj connectionoptions,OracleInternalConnection proxyConnection) 在 Devart.Data.Oracle.ci.a(ae A_0,Object A_1,DbConnectionBase A_2) 等等...等等..."

我在所有三个应用程序中使用相同的代码连接到 Oracle 服务器

我尝试将目标框架更改为 NET.Core 3.0 或 NET.Cre 3.1,但没有成功。

有什么想法吗?

我能做什么?

解决方法

.NET5.0 OpenApi 应用程序是什么意思?它与 .net5 web 的架构相同...请检查您的 appSettings.json 文件中是否有正确且相同的连接字符串。还可以考虑使用依赖注入而不是在控制器内创建 OracleConnection 实例

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。