Oharra
Orrialde honetara sartzeak baimena behar du. Saioa hasteko edo direktorioak aldatzen saia zaitezke.
Orrialde honetara sartzeak baimena behar du. Direktorioak aldatzen saia zaitezke.
En este artículo se proporcionan pasos para la solución de problemas de lectura de texto UTF-8 desde archivos .csv o archivos Parquet con un grupo de SQL sin servidor en Azure Synapse Analytics.
Cuando se lee texto UTF-8 desde un archivo .csv o Parquet con el grupo de SQL sin servidor, algunos caracteres especiales, como ü y ö, se convierten incorrectamente si la consulta devuelve columnas varchar con intercalaciones que no son de UTF-8. Se trata de un problema conocido en SQL Server y Azure SQL. La intercalación que no es de UTF-8 es el valor predeterminado en Synapse SQL, por lo que las consultas de clientes se verán afectadas. Es posible que los clientes que usan caracteres estándar en inglés y algún subconjunto de caracteres latinos extendidos no perciban los errores de conversión. La conversión incorrecta se explica con más detalle en Usar siempre intercalaciones de UTF-8 para leer texto UTF-8 en un grupo de SQL sin servidor.
Solución alternativa
La solución a este problema es usar siempre la intercalación UTF-8 al leer texto UTF-8 desde archivos CSV o Parquet.
En muchos casos, solo tiene que establecer la intercalación de UTF-8 en la base de datos (operación de metadatos).
alter database MyDB COLLATE Latin1_General_100_BIN2_UTF8;Puede definir explícitamente la intercalación en la columna VARCHAR de OPENROWSET o en una tabla externa:
select geo_id, cases = sum(cases) from openrowset( bulk 'latest/ecdc_cases.parquet', data_source = 'covid', format = 'parquet' ) with ( cases int, geo_id VARCHAR(6) COLLATE Latin1_General_100_BIN2_UTF8 ) as rows group by geo_idSi no especificó la intercalación de UTF-8 en las tablas externas que leen datos de UTF-8, debe volver a crear las tablas externas afectadas y establecer la intercalación de UTF-8 en las columnas varchar (operación de metadatos).