如何在 Microsoft SQL Server Analysis Services 中使用 MySQL 作为数据源?

Posted

技术标签:

【中文标题】如何在 Microsoft SQL Server Analysis Services 中使用 MySQL 作为数据源?【英文标题】:How do I use MySQL as data source in Microsoft SQL Server Analysis Services? 【发布时间】:2010-05-06 09:30:11 【问题描述】:

我已经安装了latest .net connector,我可以添加 mysql 数据库作为数据源,甚至可以浏览 Business Intelligence Studio 中的数据。

问题是我无法创建数据源视图,或者如果我确实创建了一个没有表的视图,但在出现相同错误后尝试添加它们。

具体来说,看起来数据源视图向导尝试使用方括号/大括号针对 MySQL 数据库提交查询,并且查询炸弹。

我收到如下错误消息:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[my_db].[cheatType]' at line 2

如何做到这一点?

【问题讨论】:

我建议改用 OLEDB 现在有很多连接器可供使用,但其中一些仍然存在一些严重的错误。请查看我的 awnser 以了解正确的用法! 【参考方案1】:

获取 MySQL (6.3.5) .net 连接器(来自 MY SQL) 编辑连接字符串(在设计器中粘贴连接字符串),使其具有新的“SQL SERVER MODE=True”选项。

显然它会影响性能 - 但你能做什么

我的示例连接字符串...(密码和用户 ID 省略)

server=svr215;User Id=;password=;Persist Security Info=True;database=dw;sql server mode=true

【讨论】:

将 SQL SERVER MODE 设置为 True 对我有用。很好的提示,谢谢理查德! 这对我也有用,但只有当我从对话框中将 Sql server 模式属性切换为 true 时。简单地编辑数据源的代码是行不通的。 我应该在哪里设置连接字符串?!我已经在创建数据源时设置了它,它是这样的:“Dsn=fard-pc/iranianMall32;uid=;sql server mode=true”但没有任何改变!【参考方案2】:

对于最近遇到此问题的任何人,您可能还需要考虑两种方法

    在http://www.devart.com/dotconnect/mysql/ 使用 DevArt dotConnect 连接器。使用 .NET 数据源,您可以将 SSAS 多维数据集直接连接到 MySQL。 有些人通过为 DSV 连接到 SQL Server,然后使用与 MySQL 的链接服务器连接来与 MySQL 建立 OpenQuery 连接。其中一些细节在http://dennyglee.com/2012/09/26/sql-server-analysis-services-to-hive/ 中注明。

【讨论】:

【参考方案3】:

在将其添加到连接字符串时尝试使用 Caps:"....;Sql Server Mode=True"

【讨论】:

【参考方案4】:

尝试使用命名查询而不是表?

在 DSV 中创建一个新的命名查询,如 SELECT * FROM MySQLTable,然后在其之上构建 DSV。

【讨论】:

【参考方案5】:

我建议使用 SQL Server。尝试这样做可以为您节省大量时间和头痛。如果您的表不需要转换,只需使用 SSIS 将数据从 MySQL 移动到 SQL Server。

这是我们在我以前的雇主所做的 - OLTP 是 MySQL,我们在 SQL Server 中构建了仓库,然后使用该仓库的 SSAS 来构建多维数据集。

【讨论】:

【参考方案6】:

我曾在 Windows 7 机器上尝试使用 Visual Studio 2015 和 SQL Server Data Tools 2015,但遇到以下版本的问题:

网络连接器 7.0.4 网络连接器 7.0.3 网络连接器 7.0.2 网络连接器 6.9.8 网络连接器 6.9.7 网络连接器 6.9.6 网络连接器 6.9.5 网络连接器 6.9.4 网络连接器 6.9.3 网络连接器 6.9.2 网络连接器 6.9.1 网络连接器 6.9.0 网络连接器 6.3.5 从这里:https://downloads.mysql.com/archives/c-net/

结果:

SSIS 工作正常,但 SQL 构建器总是失败。 SSAS 无法正常工作,因为它无法检索数据库架构。

最后,下班后,我通过 以下安装 MYSQL 社区的新产品从这里 工作:http://dev.mysql.com/downloads/file/?id=466291

现在,我遇到的唯一问题是连接器由于架构映射而无法转换某些查询,因此将 sqlservermode=true 设置为连接字符串将 修复这个问题!

【讨论】:

以上是关于如何在 Microsoft SQL Server Analysis Services 中使用 MySQL 作为数据源?的主要内容,如果未能解决你的问题,请参考以下文章