【问题标题】:.NET web portal & SSRS on LinuxLinux 上的 .NET 门户网站和 SSRS
【发布时间】:2014-08-06 14:42:41
【问题描述】:

我们需要使用 .NET 开发应用程序 - ASP.NET 或 ASP.NET MVC、SSRS 或任何报告工具,以及 Oracle 或 SQL Server;但这些需要部署在 Linux 环境中。

该应用程序将是一个基于 Internet 的中型门户,我们必须从头开始开发它。客户更喜欢在 Linux 上部署,因为他们已经有一个他们想要使用的 Linux 机器。

  • Q1) 我了解到我们可以在 .NET 中开发应用程序并使用 Grasshopper 在 Linux 上部署它。

  • Q2) 我不确定我们是否可以在 Linux 中安装 SQL Server?

  • Q3) 我不确定我们是否可以在 Linux 中安装 SSRS?

  • Q4) 我用谷歌搜索,但没有找到关于 Q2 和 Q3 的任何信息。我们可以选择第二季度的替代方案是甲骨文,但第三季度的替代方案是什么?

除了用 Java 开发应用程序之外,这里还有哪些选择 :)

【问题讨论】:

    标签: .net sql-server linux reporting-services mono


    【解决方案1】:

    除了在上述 Linux 机器上运行 Windows VM 之外,不,不可能运行您在 Linux 上列出的完整堆栈。见a related JavaRanch discussion

    一个问题一个问题:

    • Q1) 我没有使用过Grasshopper。它看起来是一个值得考虑的合理选择,但我对它本质上将 Mono 交叉编译为 Java 字节码持怀疑态度。另一方面,如果它运行良好,在 VS 中开发会很好。或者考虑targeting Mono directly
    • Q2) 不,您不能在 Linux 上运行 SQL Server:Oracle 是一种 RDBMS 替代品,但当然还有其他替代品。
    • Q3) 不,您不能在 Linux 上运行 SSRS:Oracle Reports 看起来像是一个替代报告平台,如果您在 Q2 中使用 Oracle,它会很有意义。另一个 SO 帖子与 displaying Oracle Reports' reports in ASP.NET 交谈。

    话虽如此,客户​​有一个 Linux 机器,他们希望将其用于尚未开发的“基于 Internet 的中型门户”……闻起来。任何中型互联网通常都会使用不同的 Web 和数据库服务器——甚至是另一个涉及报告平台的不同服务器。这甚至不涉及 冗余和容错 - 即水平扩展每个逻辑服务器层。基本上,围绕单个机器(Linux 或 Windows)进行规划听起来不像是成功的秘诀。

    【讨论】:

    • 感谢您的回复。那么我可以将 oracle 报告与 asp.net 集成吗?
    • @user2463514:我编辑了我的答案,引用了一篇关于在 ASP.NET 中显示 Oracle Reports 报告的 SO 帖子。
    • 更好的选择是使用 PostGreSQL 和 Birt 作为报告解决方案。是的,直接针对单声道。使用 C#,不要使用 Visual Basic .NET。这样,您就可以在 Windows 和 Linux 上运行您的堆栈。
    • 这个答案不再正确。 Microsoft 现在有一个 SQL Server for LINUX 版本可用。 SQL Server on Linux
    • @Brian H:Linux 上的 SQL-Server 不包括 SSRS。 Linux 上的 SQL-Server 只是引擎,BI 将“稍后”移植。所以不,这个答案仍然是正确的。单声道和 Grasshopper 也无济于事,因为 ReportViewer 使用 WinAPI 调用(dll-pinvokes)。它也不适用于 Wine。
    【解决方案2】:

    任何被引导到这个问题和答案的人都会得到一个不再正确的答案。

    您可以使用.Net Core,现在可以从Microsoft 获得一个可以解决这些问题的SQL Server on Linux 版本。至于 SQL Server 的 BI 组件,到目前为止我还没有看到有人提到它们,但是如果 Stackoverflow 用户对我的帖子进行任何更正,我们将不胜感激。

    【讨论】:

    • Linux 上的 SQL-Server 不包括 SSRS。 Linux 上的 SQL-Server 只是引擎,BI 将“稍后”移植。而且 ReportViewer 不能在 .NET Core 上运行(ReportViewer 不是 .NET Core,它是普通的 Windows-Only .NET,它使用 WinAPI dll-pinvokes,因此它也不能用于 mono 或 Grasshopper)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多