【问题标题】:Merge MySQL and SQL Server Data Sources for Reporting合并 MySQL 和 SQL Server 数据源以进行报告
【发布时间】:2014-03-04 17:13:40
【问题描述】:

我们在 MySQL(Web 应用程序)中为客户存储数据,在 SQL Server 中存储其他数据(计费数据),现在我们需要在面向客户的应用程序中报告这些数据。

有人有合并这两个数据源的经验吗?有没有有效的方法来做到这一点?

是否有现有的解决方案,最好是 OSS,可以聚合数据源并允许查询它们,就好像它们是一个一样(这将是理想的)?

否则,在不要求“最佳”解决方案的情况下,在这种情况下什么是最佳解决方案?我们应该每晚将不同的来源合并到一个数据库中吗?这是我唯一能想到的事情,我想知道(希望)是否存在其他更优雅或更强大的解决方案。

理想情况下,我们能够实时查询数据,而不是每天上传或其他什么。

【问题讨论】:

  • 您在面向客户的应用程序中使用什么?您可以有两个连接,一个连接到 MySQL,一个连接到 SQL 服务器并同时查询
  • 我的方法是使用 ODBC 连接到两个数据库并检索您需要的数据。
  • 查询两个数据库不是问题,我可以轻松地处理几个数据库连接。问题是,所有这些数据都是相关的,因此拥有一个单一的查询接口将提供更高级别的稳健性。我希望完成的基本上是编写一个 SQL 语句,该语句在一个“表面”数据库上运行,该数据库是从其他两个数据库的聚合中创建的。这有意义吗?我在这里祈求奇迹吗?
  • 您可以从聚合函数中创建视图,并将聚合从两个数据库同步到一个新的 mysql 实例。这是另一种方法
  • @SamD 我考虑过,这是一个内部开发的网站。

标签: mysql sql-server reporting


【解决方案1】:

如果您想跨两个数据库编写查询,那么您可以将 MySQL 链接到 SQL Server - 像这样的

http://coresystems.ch/en/about-us/newsroom/category/blog/how-add-linked-server-connection-mysql-mssql/

【讨论】:

  • 你知道有什么相反的方法可以让我将 MSSQL 数据库链接到 MySQL 数据库吗?我想阻止将任何 Windows 服务器添加到我们的堆栈中。否则这看起来正是我们所需要的。
  • 不幸的是,我只在 SQL Server 内部完成了链接(一旦链接,您就可以将 dbs 查询为一个非常方便的数据库)。我已经看到这个链接表明现在可以从 MySQL (en.wikipedia.org/wiki/MySQL_DataController) 内部进行类似的操作,但我不能保证
【解决方案2】:

如果您不介意使用第三方报告引擎,那么您可以试一试DBxtra,它可以让您combine different databases in one single query 生成报告,它甚至可以让您以图形方式执行此操作,所以您不需要不必自己编写查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多