[R-es] PROBLEMAS NOMBRES DE COLUMNAS CON ESPACIOS CONEXION R-SQL

Javier Marcuzzi j@v|er@ruben@m@rcuzz| @end|ng |rom gm@||@com
Mar Abr 16 17:49:24 CEST 2019


Estimada Ana Rebollo

Intente algo simple, str(datos) y compare los nombres de R con los de sql
en la base de datos, lo ideal es que coincidan, es mucho más simple, la
segunda alternativa es leer como se generan los códigos SQL (INSERT …..),
esto complica un poco el trabajo pero también es posible.

Javier Rubén Marcuzzi

El mar., 16 abr. 2019 a las 11:59, Javier Nieto (<mac_javi using hotmail.com>)
escribió:

> Hola Ana
>
> Seguramente, como dices, es problema de los nombres internos. Sucede que
> lo habitual y como buena práctica los nombres de los campos no deben llevar
> espacios ni caracteres como acentos o la letra ñ. Mi sugerencia es que
> cambies los nombres con espacios a nombres sin espacios.
>
>
> Saludos
> ________________________________
> De: R-help-es <r-help-es-bounces using r-project.org> en nombre de Ana Jimenez
> Rebollo <anajim03 using gmail.com>
> Enviado: martes, 16 de abril de 2019 08:55 a. m.
> Para: r-help-es using r-project.org
> Asunto: [R-es] PROBLEMAS NOMBRES DE COLUMNAS CON ESPACIOS CONEXION R-SQL
>
> Buenas tardes,
>
> Estoy tratando de realizar un update en SQL desde R:
> sqlUpdate(conexion1, data.frame(AUXILIAR), tablename = "AUXILIAR")
>
> y me devuelve el siguiente error:
> *Error in sqlUpdate(conexion1, data.frame(AUXILIAR), tablename =
> "AUXILIAR",  : *
> *  data frame column(s) Corteoptimo Cortediario not in database table*
>
> El problema es que sí existen esas columnas en SQL pero parece que R está
> almacenando internamente los nombres sin espacios ya que si ejecuto la
> función names en R para el data.frame AUXILIAR (que es con el que quiero
> actualizar en R):
> names(AUXILIAR)
>  [1] "Date"                    "Time"                    "Seasson"
>        "TimeH"                   "Day"                     "Holiday"
>
>  [7] "Corte optimo"            "Corte diario"
>
> Y si obtengo los nombres de la tabla SQL:
> sqlColumns(conexion1, "AUXILIAR")
> TABLE_CAT TABLE_SCHEM TABLE_NAME COLUMN_NAME
> OS MKOnline dbo AUXILIAR Date
> OS MKOnline dbo AUXILIAR Time
> OS MKOnline dbo AUXILIAR Seasson
> OS MKOnline dbo AUXILIAR TimeH
> OS MKOnline dbo AUXILIAR Day
> OS MKOnline dbo AUXILIAR Holiday
> OS MKOnline dbo AUXILIAR Corte optimo
> OS MKOnline dbo AUXILIAR Corte diario
>
>
> Los nombres son idénticos por lo que intuyo que el problema viene en el
> nombre almacenado internamente. He probado a renombrar las columnas del
> data.frame sustituyendo los espacios por puntos y por guiones bajos pero me
> devuelve el mismo error.
> PD: El data.frame con el que quiero actualizar en SQL y la tabla llevan el
> mismo nombre, siento si eso lleva a algún tipo de confusión.
> ¿Alguna sugerencia?
>
> Muchas gracias de antemano.
>
> Saludos,
> AJR.
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-help-es
>

	[[alternative HTML version deleted]]



Más información sobre la lista de distribución R-help-es