mysqlsqltype-conversionlinked-servermsdasql

MySQL > SSMS 2012 Linked Server "Requested conversion is not supported."


This little gem has kept me going for a wee while now and I'm still not much further forward.

Environment

I am trying to port the tables from MySQL onto SSMS. A majority of the tables work fine....until I hit a column that is cast > 8000 chars.

As I was having an issue I tried to just select the offending Columnm

Running a simple

SELECT RogueCol  FROM LinkServer...MyTbl

returns the error

OLE DB provider "MSDASQL" for linked server "LinkServer" returned message "Requested conversion is not supported.".
Msg 7341, Level 16, State 2, Line 1
Cannot get the current row value of column "[MSDASQL].RogueCol" from OLE DB provider "MSDASQL" for linked server "LinkServer". 

So I then tried

SELECT * FROM OPENQUERY(LinkServer, 'SELECT RogueCol  FROM MyTbl')

This returns the same error

I'm totally confused as I cannot seem to even view the data in SSMS, let alone SELECT it into a table (I have a script that will cast the fields according to some rules based on their original MySQL castings)

As I say, for a majority of other fields its not an issue.

The MySQL casting of the RogueCol is varchar(32767)

The settings enabled on the MSDASQL Provider is:

So far I've tried a raft of things which I've 'discovered' on various forums including:

Can I call upon your collective knowledge and request some further suggestions please as this driving me nuts?

Many thanks


Solution

  • UPDATE

    So guys and girls, no responses

    I ended up having to talk to the DBA responsible for the MySQL DB and asked him to alter the casting of the RogueCol from varchar(32767) to TEXT

    Job jobbed