How do I use MySQL as data source in Microsoft SQL Server Analysis Services?

怎甘沉沦 提交于 2019-12-21 12:44:29

问题


I have installed the latest .net connector, I can add MySQL databases as Data Sources, I can even browse through the data from Business Intelligence Studio.

The problem is that I cannot create a datasource view, or if I do create one without tables, trying to add them after the fact gives me the same error.

Specifically it looks like the data source view wizard tries to submit queries against the MySQL database using square brackets/braces, and the query bombs.

I get an error message like:

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

How can this be done?


回答1:


Get the MySQL ( 6.3.5 ) .net connector ( from MY SQL ) Edit the connection string ( in the designer paste in the connection string ) so that it has the new "SQL SERVER MODE=True" option.

Apparently it affects performance - but what can you do

My sample connection string...(passwords & userids omitted )

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




回答2:


For any of you facing this issue more recently, there are two approaches that you may want to consider as well

  1. Use the DevArt dotConnect connector at http://www.devart.com/dotconnect/mysql/. Using the .NET data source, you can connect your SSAS cube directly to MySQL.
  2. Some have worked with doing OpenQuery connections to MySQL by connecting to SQL Server for the DSV and then using a linked server connection to MySQL. Some of those details are noted within http://dennyglee.com/2012/09/26/sql-server-analysis-services-to-hive/.



回答3:


Try using Caps when adding it to the connection string:"....;Sql Server Mode=True"




回答4:


Tried using named queries instead of tables?

Create a new named query in the DSV, as SELECT * FROM MySQLTable, then build in the DSV on top of that.




回答5:


I would recommend using SQL Server. You will save yourself a lot of time and headache trying to do it this way. If your tables don't need transforming, just use SSIS to move the data from MySQL to SQL Server.

This is what we did at my previous employer - OLTP was MySQL and we built the warehouse in SQL Server, then used SSAS off of that warehouse for the cube.




回答6:


I have tried with Visual Studio 2015 and SQL Server Data Tools 2015 on Windows 7 Machine, experiencing problems with the following versions:

  • net connector 7.0.4
  • net connector 7.0.3
  • net connector 7.0.2
  • net connector 6.9.8
  • net connector 6.9.7
  • net connector 6.9.6
  • net connector 6.9.5
  • net connector 6.9.4
  • net connector 6.9.3
  • net connector 6.9.2
  • net connector 6.9.1
  • net connector 6.9.0
  • net connector 6.3.5 from here: https://downloads.mysql.com/archives/c-net/

As a result:

  • The SSIS is working but SQL builder always failing.
  • The SSAS is not woriking as it cannot retrieve the database schema.

Finally, after hours i got it working with the following installation of new product of MYSQL Community from here: http://dev.mysql.com/downloads/file/?id=466291

Now, the only problem i expirienced was that the connector was unable to translate some queries due schema mapping, so setting sqlservermode=true to the connection string will fix that problem too!



来源:https://stackoverflow.com/questions/2779976/how-do-i-use-mysql-as-data-source-in-microsoft-sql-server-analysis-services

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!