Hola a todos. Me gustaría saber si es posible conectarme a una base de datos PostgreSQL desde R para windows sin tener previamente activado un DSN, esto es, que pueda generarlo o conectarme directamente desde el R.
Lo he intentado con la librería RODBC y no he sido capaz.
Gracias y un saludo.
Hola, no sé si en windows se trabaje igual que en linux, yo realicé la conexión en ubuntu y si es necesario configurar el DNS, te dejo el código, intenta hacerlo de esta forma.
El siguiente código representa la configuración del DNS en el archivo odbc.ini
[ODBC Data Sources]
aracelidata = PostgreSQL
[aracelidata]
ReadOnly = 0
Driver = /usr/lib/odbc/psqlodbcw.so
Servername = localhost
Username =nombre del usurio de la base de datos
Password =contraseña de la base
Database =nombre de la base de datos
[ODBC]
InstallDir = /usr/lib
También deberás editar el siguiente archivo:
odbcinst . Contiene un conjunto de drivers para realizar la interface de Bases de datos.
[PostgreSQL]
Description = PostgreSQL driver for Linux & Windows
Driver = /usr/lib/odbc/psqlodbcw.so
Setup = /usr/lib/odbc/libodbcpsqlS.so
Una vez editado el archivo odbc.ini y odbcinst.ini ya puedes ejecutar la conexión desde R, por ejemplo en mi caso:
library(RODBC)
channel <- odbcConnect(" aracelidata")
Espero que te sirva...
El siguiente código representa la configuración del DNS en el archivo odbc.ini
[ODBC Data Sources]
aracelidata = PostgreSQL
[aracelidata]
ReadOnly = 0
Driver = /usr/lib/odbc/psqlodbcw.so
Servername = localhost
Username =nombre del usurio de la base de datos
Password =contraseña de la base
Database =nombre de la base de datos
[ODBC]
InstallDir = /usr/lib
También deberás editar el siguiente archivo:
odbcinst . Contiene un conjunto de drivers para realizar la interface de Bases de datos.
[PostgreSQL]
Description = PostgreSQL driver for Linux & Windows
Driver = /usr/lib/odbc/psqlodbcw.so
Setup = /usr/lib/odbc/libodbcpsqlS.so
Una vez editado el archivo odbc.ini y odbcinst.ini ya puedes ejecutar la conexión desde R, por ejemplo en mi caso:
library(RODBC)
channel <- odbcConnect(" aracelidata")
Espero que te sirva...
Gracias por la respuesta. Un saludo.