Hi,
tenemos una entidad en nuestro modelo de cds que contiene una barra diagonal '/' en un nombre de columna. En el pasado esto se solucionó en el compilador para poder manejarlo, pero ahora está causando problemas al cargar datos a través de un archivo csv al ejecutar el servidor con 'cds watch'. Estamos utilizando la versión de NodeJs de CAP.
El error es:
[ERROR] SQLITE_ERROR: cerca de "/": error de sintaxis
A continuación (una versión simplificada de) el modelo y el csv, y también algunas cosas que ya intenté.
Con suerte alguien tiene una idea de cómo solucionar esto.
Saludos Ramon
ps
: Tuve el mismo problema antes al usar la variante JAVA de CAP y pude solucionarlo sobrescribiendo la clase
com.sap.cds.impl.sql.
InsertStatementBuilder
y agregando comillas dobles alrededor de los nombres de columna
ejemplo simplificado del modelo
entidad![TEST]{
clave ![id] : Cadena(3);
![nombre] : Cadena(50);
![/abc/def] : Cadena(12);
![ciudad] : Cadena(50);
}
archivo csv:
id;nombre;/abc/def;ciudad
1;John;zzz;Nueva York
2;Pete;yyy;París
Cosas que intenté:
1) poner comillas simples/dobles alrededor del nombre de la columna en el csv.
2) crear un 'Select as' encima de la entidad TEST y darle al nombre de la columna con barra diagonal un alias así:
entidad![TEST_1] como select from [TEST]{
clave![id] : Cadena(3);
![nombre] : Cadena(50);
![/abc/def] : Cadena(12) como abc_def;
![ciudad] : Cadena(50);
}
con csv:
id;nombre;abc_def;ciudad
1;John;zzz;Nueva York
2;Pete;yyy;París