Skip to content

[R-es] Problemas de conexion con base de datso

10 messages · Jesús Para Fernández, David Luna, Javier Marcuzzi

#
Buenas,

Tengo un problema y es que intentando conectarme a una base de datos SQL Server, tras cosneguirme conectarme usando el paquete odbc, me deja acceder al contenido de  algunas tablas (mediante un select), pero sin embargo en otras me pone lo siguiente:


Error in new_result(connection en ptr, statement) : std::bad_alloc


No entiendo muy bien porque me salta ese error, ya que desde SQL si que puedo acceder a dicha tabla...

La base de datos ahora mismo esta casi vacia...(2 registros como mucho)

Lo que hago para ver el codigo de la tabla es pinchar en View de Rstudio, pero haciendo l aconsulta con

dbSendQuery(conexion,"SELECT * FROM Tabla1;")

tb me da el mismo error.



?Qu? puede estar pasando?

Gracias!!
Jes?s
#
Según el siguiente bug:

https://github.com/r-dbi/odbc/issues/71

Puede haber problemas con las columnas de tipo y text... ¿Puede ser eso?


El vie., 2 mar. 2018 14:24, Jesús Para Fernández <
j.para.fernandez en hotmail.com> escribió:

  
  
#
No,

Acabo de dar con la solucion, y es que estaba haciendo la consutla asi:


dbSendQuery(con,"SELECT Id FROM BaseDatos.dbo.References")



Cuando realmente es asi:


dbSendQuery(con,"SELECT Id FROM [BaseDatos].[dbo].[References]")



Gracias David!
Jes?s
#
Perdon, corrijo, es justo eso...

En cuanto hay uan cadena de tipo varchar falla. Es por temas de codificaciones en el driver. ?Como cambio la codificacion?


Un saludo
Jesus
#
Estimado Jesús Para Fernández

Pruebe realizar algo desde cero solo con el fin de comprobar la respuesta,
algo genérico como puede ser:

   cn <- odbcDriverConnect(connection="Driver={SQL Server Native Client

   11.0};server=localhost;database=AdventureWorksDW2012;trusted_connection=
yes;")



dataFetchEUR <- sqlFetch(cn, 'vResellerSalesAmountEUR', colnames=FALSE,

   rows_at_time=1000)



Reemplace lo menos posible, si falla posiblemente hay un mensaje de error
con alguna pista.

Javier Rubén Marcuzzi

El 2 de marzo de 2018, 11:19, Jesús Para Fernández <
j.para.fernandez en hotmail.com> escribió:

  
  
#
Buenas

El problema es el tipo dr columnas. Haynun bug q hace que haya q mostrar el tipo de columna mas largo al final de la consulta...

Es un bug de los odbc de Windows..

Gracias
Jes?s

Obtener Outlook para Android<https://aka.ms/ghei36>
#
Estimado Jesús

Si, leí el hilo del problema, por eso si por las dudas al cambiar las
librerías de casualidad se salta el inconveniente.

La otra solución es utilizar R desde Sqlserver, se podría enviar el código
dentro de la base de datos utilizando RServer o Sqlserver, esto depende de
la instalación. Una alternativa es cambiar R a Rserver.

Javier Rubén Marcuzzi

El 2 de marzo de 2018, 20:08, Jesús Para Fernández <
j.para.fernandez en hotmail.com> escribió:

  
  
#
La descripción del bug que leí tiene DBI y otras dos librerías, por las
dudas que se pisen entre ellas

El 2 de marzo de 2018, 20:15, Javier Marcuzzi <
javier.ruben.marcuzzi en gmail.com> escribió:

  
  
#
Y como se usa r dentro de sql?

Obtener Outlook para Android<https://aka.ms/ghei36>
#
Hoy por hoy, la licencia de SqlServer trae R, la licencia de RServer está
junta, se pueden instalar por separados, juntos, hay posibilidades, sin
embargo cosas que funcionaban como RNet hoy son obsoletas.

El 2 de marzo de 2018, 20:20, Jesús Para Fernández <
j.para.fernandez en hotmail.com> escribió: