Retrieving Snowflake data using ODBC DSN based Linked Server connection not rendering UNICODE properly in MS-SSMS

MuraliDeena 0 Reputation points
2024-01-31T06:32:58.41+00:00

User's image

I am trying to read Snowflake data in MS-SSMS using ODBC DSN based Linked Server connection. Non-Latin characters are showing up as box or arrow symbols rather than what it is. I could insert / view non-Latin chars in simple SQL insert statements properly. Why DSN based data retrieval of unicode is not working here. What is the work-around?

SQL Server
SQL Server
A family of Microsoft relational database management and analysis systems for e-commerce, line-of-business, and data warehousing solutions.
13,361 questions
{count} votes

2 answers

Sort by: Most helpful
  1. LiHongMSFT-4306 25,651 Reputation points
    2024-01-31T07:13:39.9333333+00:00

    Hi @

    Try to enable Unicode SQL Types function on the ODBC driver.See this similar thread: On SSMS, ODBC linked server queries show unicode text data. Best regards, Cosmog Hong


    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment". Note: Please follow the steps in our Documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


  2. Erland Sommarskog 107.2K Reputation points
    2024-02-01T21:36:22.7866667+00:00

    Here is one thing that you can try (although I'm not overly optimistic):

    EXEC sp_serveroption SNOWFLAKE_PROD, 'use remote collation', true
    EXEC sp_serveroption SNOWFLAKE_PROD, 'Latin1_General_100_CI_AS_SC_UTF8'
    

    As I mentioned, I don't have access to Snowflake, but I did some experiments with MySQL which also requires MSDASQL + ODBC. When I tried some Greek characters, they came through just fine.

    To note, though, is that there are two versions of the MySQL Driver: There is the ANSI driver and the Unicode driver. My Greek characters worked with the Unicode driver. With the ANSI driver I got all question marks. And that is not at all surprising: that's the normal fallback character when no other good fallback is available. But you got 0x1A, which is a non-standard choice for a fallback.

    I don't know if there is a similar issue with the Snowflake ODBC driver.

    I'm also a little curious what happens if you try the work räksmörgås. This word has three Swedish characters that are in the code page of your collation. Are they also distorted?