I have a SQL Server 2012.(120.120.55.15)
Today I linked MySQL server(120.120.55.30) to my SQLServer and gave it a name "MYSQL".
In Object Explorer everything seems fine. I can see MySQL server's database "exampleDataBase" and tables in it.
But when I try to run select query like this:
SELECT *
FROM openquery
(
MYSQL,
'
SELECT *
FROM [exampleDataBase].[msProcMatrix]
'
)
I get a mistake:
Msg 7399, Level 16, State 1, Line 1 The OLE DB provider "MSDASQL" for linked server "MYSQL" reported an error. The provider did not give any information about the error. Msg 7350, Level 16, State 2, Line 1 Cannot get the column information from OLE DB provider "MSDASQL" for linked server "MYSQL".
What should be additionally done to use my linked MySQL server?
When I working with linked server, I never use
Select * From
.Try with
Select Column1, Column2, ... ColumnN From
.Always works fine for me.
You Can try this query .
EXEC ( 'SELECT * FROM [exampleDataBase].[msProcMatrix]' ) AT MYSQL
If the default catalog ("exampleDataBase") is configured in ODBC, the following will work as well:
select * from MYSQL...msProcMatrix
You might need a schema name between the database name and the table name.
Please try the statement in the format below .. for me it works very well
Including the extra levels in the name may solve your issue.
Found the decision:
Without brackets!
Strange for me but works...