【问题标题】:Azure asp.net web app trying to connect to Oracle runtime integration linked serviceAzure asp.net Web 应用程序尝试连接到 Oracle 运行时集成链接服务
【发布时间】:2022-01-14 15:51:27
【问题描述】:

我在 Azure 上创建了一个 web app service 和一个带有运行时集成链接服务的数据工厂Oracle(连接测试和工作)。 web app serviceasp.net core 并用 c# 编写。

问题是:如何建立从 Web 应用服务到此 Oracle 链接服务连接的连接?

使用odbc connection,我可以使用此字符串格式从我的计算机本地连接到oracle database

Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MyHost)(PORT=MyPort))(CONNECT_DATA=(SERVICE_NAME=MyOracleSID)));User Id=myUsername;Password=myPassword;

我如何在这个 c# 代码中引用 Oracle 链接服务? (有可能吗?)

【问题讨论】:

    标签: c# asp.net oracle azure cloud


    【解决方案1】:

    您可以按照以下步骤使用混合连接将 azure web 应用程序连接到 oracle 服务器:

    要创建混合连接,请转到 Azure 门户并选择您的应用服务,然后选择网络 > 配置您的混合连接端点

    如上图所示,点击添加混合连接,您将看到以下屏幕:

    单击创建新的混合连接链接,将显示以下刀片:

    创建新的混合连接边栏选项卡中,您必须为您的 Oracle 服务器混合连接填写以下字段:

    单击确定按钮后,Azure 将开始创建您的混合连接。 请注意,创建后混合连接的状态在下面的屏幕截图中为“未连接”。

    这没关系,因为我们尚未部署 HCM 或建立连接。

    要完成我们的混合连接设置,我们必须从门户中的链接下载并安装混合连接管理器 (HCM):

    下载包后,运行它并执行以下步骤:

    点击安装按钮

    打开混合连接管理器用户界面

    单击添加新的混合连接链接,登录您的 Azure 订阅并选择您在其中创建混合连接的订阅。

    登录后,您应该会看到以下窗口:

    要将状态更改为已连接,您需要重新启动 Azure 混合连接管理器服务

    这是服务重启或计算机重启后的 HCM 窗口:

    这是服务重启或计算机重启后 Azure 门户中的混合连接状态:

    注意:我们无法在 Azure 应用服务上安装 Oracle 客户端。但是我们必须使用 Oracle Managed Data Access

    您需要从 NuGet 引用 Oracle 托管数据访问:

    在您的 .NET 应用程序中使用以下命名空间:

    需要另一个重要的更改:Oracle 连接字符串。 如果您使用旧的连接字符串,那么当您将其发布到 Azure 应用服务时它将不起作用。以下是您的 Oracle 连接字符串的外观:

    connectionString = "数据源=(DESCRIPTION=(ADDRESS = (PROTOCOL = TCP)(HOST = ora-server-1)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = orcl.internal))));用户 id=walid;密码=xyz;"

    【讨论】:

    • 您好 Rajkumar,感谢您的回复。我能够连接它,但是当我尝试建立连接时它会抛出“错误:ORA-12537:网络会话:文件结束”的错误。你知道为什么会这样吗?
    猜你喜欢
    • 2019-08-17
    • 1970-01-01
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2020-08-09
    • 2020-06-13
    相关资源
    最近更新 更多