You can either 1) create a connection directly from SSRS (an ODBC connection is required on the SSRS server, as well as on your dev machine) http://dev.mysql.com/downloads/connector/odbc/
or
2) you can wrap this openquery MySQL call inside a SQL Server stored procedure. This will allow you to pass the parameter from the report to the stored SQL Server process, and then to the processed MySQL. However, this requires the use of dynamic SQL inside the SQL Server process.
If you go to the first option, you can call Stored Proc right away, but I just did it with an Oracle connection that is not ODBC-related, so SSRS can disable this option.
Using the second option, you may encounter additional problems when authenticating using two hosts, depending on which server operating systems you are using. Calling MySQL proc from SSMS is only 1 xp, so this problem did not occur.
Edit: Apparently, you can add the ADO.NET MySQL connector to SSRS: http://www.mazsoft.com/blog/post/2010/11/04/Using-SQL-Server-2008-Reporting-Services- (SSRS ) -c-mysql.aspx
It sounds complex, but if you do a lot of MySQL, it will be better than using ODBC.
source share