Pd: Perdón por el duplicado de mensaje, se me olvido poner el asunto al anterior y me han surgido nuevas consultas. Buenos días, llevo unos dias peleando para realizar una consulta con INSERT en Windows SQL. He probado varios paquetes de R y con ninguno lo he conseguido. Ahora mismo estoy probando con DBI y odbc. Probé con dbSendStatementy al ejecutar la consulta: dbSendStatement(con,paste("INSERT INTO DATOSPERFIL VALUES (", idPerfil,",", Fecha, ",", Seguidores,",", Seguidos,",", Likes,",", Descripcion,",", url,")")) obtengo el siguiente error: rs <- dbSendStatement(con,query)Error: <SQL> 'INSERT INTO DATOSPERFIL VALUES ( 1 , 13/06/2019 , 170604 , 90 , , Periodista de Antena 3 Autor de El rastro de los rusos muertos Antena 3 Tv News Spain managing editor presenter and author , NA )' nanodbc/nanodbc.cpp:1587: 42000: [Microsoft][ODBC SQL Server Driver][SQL Server]Sintaxis incorrecta cerca de ','. ¿Qué estoy haciendo mal? Conseguí añadir datos en la base con la función dbWriteTable del mismo paquete DBI: dbWriteTable(con, "imdbpelis_copia", dtf, append=FALSE, overwrite=FALSE ,row.names = FALSE) El problema es que no me deja añadir nuevos datos en la tabla, solo la sobreescribe. ¿Se puede hacer con dbWriteTable? Como duda general, ¿cual es la mejor forma de trabajar con SQL desde R? Un saludo y muchas gracias -- Rubén. [[alternative HTML version deleted]]
Hola Ruben, yo uso el paquete RODBC y no suelo tener problemas. Lo mejor es que la sentencia la metas en una cadena y luego la ejecutes directamente en la consola de SQL que uses, sin pasar por R, para ver que la sentencia está bien. Así viendo el código pienso que igual el problema es que las cadenas de caracteres deben ir encerradas con comillas sino no te irá. de manera que quede algo o así ' ", Seguidores," ',' ", Seguidos," ' todo lo que sea un varchar debe ir con comillas. Mira a ver si eso te puede ayudar. Jorge El jue., 13 jun. 2019 a las 12:42, Ruben Tobalina Ramirez (< lagrimaescrita en gmail.com>) escribió:> Pd: Perdón por el duplicado de mensaje, se me olvido poner el asunto al > anterior y me han surgido nuevas consultas. > > Buenos días, > llevo unos dias peleando para realizar una consulta con INSERT en Windows > SQL. He probado varios paquetes de R y con ninguno lo he conseguido. > Ahora mismo estoy probando con DBI y odbc. > > Probé con dbSendStatementy al ejecutar la consulta: > dbSendStatement(con,paste("INSERT INTO DATOSPERFIL VALUES (", idPerfil,",", > Fecha, ",", Seguidores,",", Seguidos,",", Likes,",", Descripcion,",", > url,")")) > obtengo el siguiente error: > > rs <- dbSendStatement(con,query)Error: <SQL> 'INSERT INTO DATOSPERFIL > VALUES ( 1 , 13/06/2019 , 170604 , 90 , , Periodista de Antena 3 > Autor de El rastro de los rusos muertos Antena 3 Tv News Spain > managing editor presenter and author , NA )' > nanodbc/nanodbc.cpp:1587: 42000: [Microsoft][ODBC SQL Server > Driver][SQL Server]Sintaxis incorrecta cerca de ','. > > ¿Qué estoy haciendo mal? > > Conseguí añadir datos en la base con la función dbWriteTable del mismo > paquete DBI: > dbWriteTable(con, "imdbpelis_copia", dtf, append=FALSE, overwrite=FALSE > ,row.names = FALSE) > > El problema es que no me deja añadir nuevos datos en la tabla, solo la > sobreescribe. ¿Se puede hacer con dbWriteTable? > > Como duda general, ¿cual es la mejor forma de trabajar con SQL desde R? > > Un saludo y muchas gracias > > -- > Rubén. > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es >[[alternative HTML version deleted]]
Hola Jorge, he probado con RODBCy me ha funcionado a la primera! Como diría áquel: "¡Ójala te hubiera conocido antes!" Muchísimas gracias!! Un abrazo! Rubén, El jue., 13 jun. 2019 a las 12:51, Jorge Pradas (<jorpramo en gmail.com>) escribió:> Hola Ruben, > > yo uso el paquete RODBC y no suelo tener problemas. > Lo mejor es que la sentencia la metas en una cadena y luego la ejecutes > directamente en la consola de SQL que uses, sin pasar por R, para ver que > la sentencia está bien. > Así viendo el código pienso que igual el problema es que las cadenas de > caracteres deben ir encerradas con comillas sino no te irá. > de manera que quede algo o así ' ", Seguidores," ',' ", Seguidos," ' > > todo lo que sea un varchar debe ir con comillas. > Mira a ver si eso te puede ayudar. > Jorge > > El jue., 13 jun. 2019 a las 12:42, Ruben Tobalina Ramirez (< > lagrimaescrita en gmail.com>) escribió: > >> Pd: Perdón por el duplicado de mensaje, se me olvido poner el asunto al >> anterior y me han surgido nuevas consultas. >> >> Buenos días, >> llevo unos dias peleando para realizar una consulta con INSERT en Windows >> SQL. He probado varios paquetes de R y con ninguno lo he conseguido. >> Ahora mismo estoy probando con DBI y odbc. >> >> Probé con dbSendStatementy al ejecutar la consulta: >> dbSendStatement(con,paste("INSERT INTO DATOSPERFIL VALUES (", >> idPerfil,",", >> Fecha, ",", Seguidores,",", Seguidos,",", Likes,",", Descripcion,",", >> url,")")) >> obtengo el siguiente error: >> >> rs <- dbSendStatement(con,query)Error: <SQL> 'INSERT INTO DATOSPERFIL >> VALUES ( 1 , 13/06/2019 , 170604 , 90 , , Periodista de Antena 3 >> Autor de El rastro de los rusos muertos Antena 3 Tv News Spain >> managing editor presenter and author , NA )' >> nanodbc/nanodbc.cpp:1587: 42000: [Microsoft][ODBC SQL Server >> Driver][SQL Server]Sintaxis incorrecta cerca de ','. >> >> ¿Qué estoy haciendo mal? >> >> Conseguí añadir datos en la base con la función dbWriteTable del mismo >> paquete DBI: >> dbWriteTable(con, "imdbpelis_copia", dtf, append=FALSE, overwrite=FALSE >> ,row.names = FALSE) >> >> El problema es que no me deja añadir nuevos datos en la tabla, solo la >> sobreescribe. ¿Se puede hacer con dbWriteTable? >> >> Como duda general, ¿cual es la mejor forma de trabajar con SQL desde R? >> >> Un saludo y muchas gracias >> >> -- >> Rubén. >> >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es en r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >-- Rubén. [[alternative HTML version deleted]]