Azure C# 应用服务 ODBC 连接到 Redshift
Posted
技术标签:
【中文标题】Azure C# 应用服务 ODBC 连接到 Redshift【英文标题】:Azure C# App Service ODBC connection to Redshift 【发布时间】:2018-01-19 07:22:24 【问题描述】:我开发了一个 Azure Api 服务 (Rest API),它需要偶尔连接到 aws Redshift 数据库。这在我的开发环境中运行良好(一旦我安装了 Redshift ODBC 驱动程序并创建了一个 DSN 条目)但是在我发布时在 Azure 上失败了。
我假设这是因为我必须手动安装 RS 驱动程序并配置 DSN,但不知道如何执行此操作。
我们将不胜感激。
【问题讨论】:
【参考方案1】:根据您的描述,我假设您使用的是Azure Web Apps。正如Azure Web App sandbox 所述:
所有 Azure Web 应用程序(以及移动应用程序/服务、WebJobs 和函数)在称为沙盒的安全环境中运行。每个应用程序都在自己的沙箱内运行,将其执行与同一台机器上的其他实例隔离开来,并提供额外的安全性和隐私性,否则这些应用程序将无法使用。
对于Install and Configure the Amazon Redshift ODBC Driver on Microsoft Windows Operating Systems,您需要拥有您服务器的管理员权限并在您的服务器中安装 ODBC 驱动程序,但 Sandbox 有一些限制,您无法在您的 Azure Web App 中安装 ODBC 驱动程序。您可能需要将 Api 服务迁移到 Azure 云服务或 Azure VM。
【讨论】:
感谢布鲁斯的回复,你是对的。此后,我将此解决方案迁移为响亮的服务。一个副作用似乎是,现在在调试中模拟器无法在我的开发系统上看到驱动程序 - 这是预期的,如果是这样,我将提出另一个问题,如果可能的话,我可以将驱动程序安装到模拟实例 对于 Azure 云服务方法,您可以 RDP 到您的云实例并手动安装 ODBC 驱动程序并创建一个 DSN 条目,但此时,如果您的云角色,您的安装将不会持久实例重新启动,然后安装将丢失。此外,您可以在云角色实例启动之前利用Start-up Task 安装组件。 我不检查我这边的 Azure 云服务方法,因此您可以提出另一个问题,提供更多详细信息。我以前只是利用 Azure VM 并通过 RDP 安装组件。 感谢您的建议,您确实是对的。我确实被绊倒了,因为您需要在 VM 上安装 x64 redshift 驱动程序,但现在一切正常。谢谢以上是关于Azure C# 应用服务 ODBC 连接到 Redshift的主要内容,如果未能解决你的问题,请参考以下文章
使用 ODBC 和用户输入连接字符串在 C# 应用程序中连接到 Oracle 11g
C# MVC Web 应用服务连接到 Azure 存储 Blob