Skip to content

Using text columns from sqlserver #148

@aseques

Description

@aseques

Hi, I am using the ODBC 17.00.0004 to read data from a postgres 17 database from a SQLServer 2022. Everyting works as expected (after setting the search_path to the proper schema) and I can read the data using

SELECT * FROM PGDATABASE...issues

The problem is with one of the columns for issues called description that is the type text on the postgres side.

I get this error message

Msg 7347, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' for linked server 'PGDATABASE' returned data that does not match expected data length for column '[PGDATABASE]...[issues].description'. The (maximum) expected data length is 8000, while the returned data length is 12070.

Possible fix 1

The most promising solution seems to be to configure the Max LongVarChar value in the ODBC to a value greater than 12070. I tried setting it to 32000 but the message remains the same.
Some references here

Possible fix 2

Another solution that's partial would be to truncate the extra elements so the limit i always respected, as explained here

SELECT 
field1,
field2, ...
CAST(description AS varchar(7900)) AS description,
...
 FROM PGDATABASE...issues

Questions

So my question would be:

  • Is this attribute the one I have to modify (I already have marked the Text as LongVarChar)
  • Is there anything to be done on the sqlserver side to reload the values for the odbc settings?

Thanks for your help

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions