C#.NET WinForms:通过服务器连接到 oracle 云数据库

问题描述

我有以下情况:

我们有一个 C#.NET WinForms-Application 来处理来自 oracle 数据库的数据。 该 oracle 数据库与表单应用程序位于同一公司网络上。从应用程序到 oracle 数据库的连接由 tnsnames.ora 文件提供,该文件位于公司网络的共享文件夹中。因此,每个使用此表单应用程序的客户端都具有指向其系统环境变量中的 tnsnames.ora 文件的位置。

现在,由于我们更改了 ERP 系统,oracle 数据库已移至云端。我们公司网络中只有一台服务器,它具有到云的专用 vpn 连接。

所以只能从这些特定的服务器查询到云oracle db。

表单应用程序没有独立的后端,因此每个客户的机器上都有本地的前端和后端。

因此,我正在尝试配置 tnsnames.ora 文件,以便它可以首先通过特定服务器并从该服务器到云数据库

有没有人有任何线索或经验如何做到这一点?

这是 tnsnames.ora 文件的示例:

DB1.MYCOMPANY.COM =
  (DESCRIPTION =
    (LOAD_BALANCE = OFF)
    (FAIlovER = ON)
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = db01.mycompany.com)(PORT = 5000))
      (ADDRESS = (PROTOCOL = TCP)(HOST = db02.mycompany.com)(PORT = 5000))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = erpDb1.db01.mycompany.com)
    )
  )
  
 
DB1 =
  (DESCRIPTION =
    (LOAD_BALANCE = OFF)
    (FAIlovER = ON)
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = db01.mycompany.com)(PORT = 5000))
      (ADDRESS = (PROTOCOL = TCP)(HOST = db02.mycompany.com)(PORT = 5000))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = erpDb1.db01.mycompany.com)
    )
  )

是否可以像这样配置主机:HOST = \\myserver/db01.mycompany.com ?

我已经用谷歌搜索了这个问题,但我找不到任何有用的东西。对于最坏的情况,我构建了一个 API,该 API 运行在具有 oracle 云连接的服务器上,它可以进行 sql 查询并从云中返回数据。但在这种情况下,我必须重构 WinForms 应用程序,这并不容易。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)