Pim-community-dev: Grupo de servidores MSSQL por problema

Creado en 13 nov. 2017  ·  4Comentarios  ·  Fuente: akeneo/pim-community-dev

URL:
/resto/atributo/

error:
Ocurrió una excepción al ejecutar 'SELECT p0_.[id] AS id_0, p0_.[sort_order] AS sort_order_1, p0_.[useable_as_grid_filter] AS useable_as_grid_filter_2, p0_.[max_characters] AS max_characters_3, p0_.[validation_rule] AS validation_rule_4, p0_.[ validación_regexp] AS validación_regexp_5, p0_.[wysiwyg_enabled] AS wysiwyg_enabled_6, p0_.[número_mín] AS número_min_7, p0_.[número_máx] AS número_máx_8, p0_.[decimales_permitidos] AS decimales_permitidos_9, p0_.[negativo_permitido] AS negativo_permitido_10, p0_.[fecha_mín] AS fecha_mín_11, p0_.[fecha_máx] AS fecha_máx_12, p0_.[familia_métrica] AS familia_métrica_13, p0_.[unidad_métrica_predeterminada] AS unidad_métrica_predeterminada_14, p0_.[tamaño_máx_archivo] AS tamaño_máx_archivo_15, p0_.[extensiones_permitidas] AS extensiones_permitidas_16, p0_.[longitud_entrada_mínima] AS entrada mínima , p0_.[es_requerido] AS is_required_18, p0_.[is_unique] AS is_unique_19, p0_.[is_localizable] AS is_localizable_20, p0_.[is_scopable] AS is_scopable_21, p0_.[code] AS code_22, p0_.[entity_type] AS entity_type_ 23, p0_.[tipo_atributo] AS tipo_atributo_24, p0_.[tipo_backend] AS tipo_backend_25, p0_.[propiedades] AS propiedades_26, p0_.[creado] AS creado_27, p0_.[actualizado] AS actualizado_28, p0_.id_grupo AS id_grupo_29 DESDE pim_catalog_attribute p0_ UNIRSE A LA IZQUIERDA pim_catalog_attribute_group p1_ ON p0_.group_id = p1_.id GRUPO POR p0_.[id] ORDENAR POR (SELECCIONAR 0) DESPLAZAR 0 FILAS BUSCAR LAS PRÓXIMAS 20 FILAS SOLAMENTE':

SQLSTATE [42000, 8120]: [Microsoft][Controlador ODBC 13 para SQL Server][SQL Server]La columna 'pim_catalog_attribute.sort_order' no es válida en la lista de selección porque no está contenida en una función agregada ni en la cláusula GROUP BY.
SQLSTATE [42000, 8180]: [Microsoft][Controlador ODBC 13 para SQL Server][SQL Server]No se pudieron preparar declaraciones.

el problema esta en:
/src/Pim/Bundle/EnrichBundle/Doctrine/ORM/Repository/AttributeSearchableRepository.php
línea: 160

Comentario más útil

Hola @ahocquard ,
Conozco los requisitos del sistema.
La pregunta realmente es si Akeneo aceptaría mejoras en ese aspecto o no.

Tenemos un cliente para el que estamos haciendo que Akeneo funcione en MSSQL.
Si está interesado en las mejoras en esta área, podemos preparar solicitudes de incorporación de cambios después de discutir con alguien del equipo central de Akeneo, qué solución es aceptable para usted.
Si no, nos quedaremos con las mejoras.

También tenga en cuenta que las mejoras en esta área también ayudan con MySQL, ya que MySQL también se está volviendo más estricto con los estándares SQL. También abre una forma de usar Akeneo con otros DBMS como postgresql.

Si tiene alguna pregunta o inquietud, envíeme un mensaje en el Slack de Akeneo.

Todos 4 comentarios

Hola,

Akeneo PIM no debe instalarse con MS SQL Server.
Verifique los requisitos del sistema: https://docs.akeneo.com/latest/install_pim/manual/system_requirements/system_requirements.html

Tiene que estar instalado con Mysql >= 5.7.8 como base de datos.

Saludos,
Alejandro

Hola @ahocquard ,
Conozco los requisitos del sistema.
La pregunta realmente es si Akeneo aceptaría mejoras en ese aspecto o no.

Tenemos un cliente para el que estamos haciendo que Akeneo funcione en MSSQL.
Si está interesado en las mejoras en esta área, podemos preparar solicitudes de incorporación de cambios después de discutir con alguien del equipo central de Akeneo, qué solución es aceptable para usted.
Si no, nos quedaremos con las mejoras.

También tenga en cuenta que las mejoras en esta área también ayudan con MySQL, ya que MySQL también se está volviendo más estricto con los estándares SQL. También abre una forma de usar Akeneo con otros DBMS como postgresql.

Si tiene alguna pregunta o inquietud, envíeme un mensaje en el Slack de Akeneo.

Hola @tmotyl ,

¡Definitivamente estaríamos abiertos a mejoras en ese punto!
Incluso podría jugar con el parámetro de configuración de MySQL ONLY_FULL_GROUP_BY para que pueda obtener un error muy similar al que obtiene con MSSQL.
https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_only_full_group_by

Una vez reproducido en MySQL, ¡estaremos encantados de echar un vistazo a las mejoras!

No dudes en abrir otro PR con tu código.

Gracias de antemano !

Hola @tmotyl ,

Después de hablar con el equipo, parece que ya cumplimos con la sintaxis GROUP BY adecuada (con el modo ONLY_FULL_GROUP_BY). ¡Así que estoy corregido (gracias @ahocquard );)!

La consulta que proporcionó es válida según la sección T301 "Dependencias funcionales" de las especificaciones de SQL99.

En nuestro caso, la columna id es la que se usa en el GROUP_BY . Y como esta columna es la clave principal, valida el hecho de que todos los datos que pertenecen a la misma fila que la clave principal están vinculados a este id , por lo que se pueden seleccionar de id , y no necesitan ninguna función de agregación ni necesitan estar presentes en el lado GROUP BY.

Entonces, el problema radica en el servidor MSSQL (o tal vez en su versión) que no parece implementarlo en Transact-SQL.

¿Fue útil esta página
0 / 5 - 0 calificaciones