2011-03-29 22 views
8

Estoy tratando de usar el paquete RODBC para consultar datos de una base de datos Oracle utilizando R. Parece haber una gran cantidad de documentación sobre el acceso a bases de datos MySQL desde R, pero no mucha información sobre bases de datos Oracle.¿Cómo me conecto a una base de datos Oracle en R?

¿Cómo creo un DSN para mi base de datos Oracle?

Cualquier ayuda sería muy apreciada. Gracias ,

Respuesta

4

No obstante estoy familiarizado con "R",:

Oracle ODBC DSN se fija generalmente por -

  1. instalar el instant client
  2. mediante el gestor de ventanas para ODBC crear el DSN
1

Descubrí que en realidad hay algunos desafíos con la conexión a Oracle desde R. Podría ser el im la implementación y la configuración que tenemos en mi empresa, pero esto es lo que hice para que funcione.

library(RODBC) 

ch=odbcConnect("<AliasForYourDatabase>",pwd = "xxxxxxxx", believeNRows=FALSE) 

odbcGetInfo(ch) 

El paso crítico para mí fue 'believeNRows=FALSE' de lo contrario, recibe el siguiente error cuando presenté una consulta:

"Error en .Llame (C_RODBCFetchRows, attr (canal, "handle_ptr"), máximo, buffsize ,:. vectores de longitud negativos no se les permite"

Esto es porque Oracle no está proporcionando el número real de filas de nuevo a la conexión

8

Aquí están las instrucciones que he desarrollado en nuestro sitio:

  1. Instale Oracle Instant Client. Los archivos a extraer son: instantclient-basic-win32-11.1.0.7.0.zip instantclient-odbc-win32-11.1.0.7.0.zip instantclient-sqlplus-win32-11.1.0.7.0.zip (opcional)

Nota: Los paquetes Basic Instant Client y ODBC Instant Client deben descomprimirse en el mismo directorio. Por ejemplo, C: \ Oracle \ instantclient_11_1.

Oracle sitio de descarga: http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/winsoft.html

  1. Añadir la ubicación de los archivos extraídos a la variable de entorno de la ruta (por ejemplo, C: \ oracle \ instantclient_11_1) a. Haga clic derecho en "Mi PC" en el escritorio, haga clic en "Administrar". b. Haga clic derecho en "Computer Management (Local)", haga clic en "Propiedades". c. En la pestaña avanzada, haga clic en el botón Configuración en "Variables de entorno". d. Busque la entrada "Ruta" en "Variables del sistema" y haga clic en el botón Editar. e. Agregue la ruta de ubicación al final del cuadro "Valor de la variable". Tenga en cuenta que los elementos están separados por un punto y coma. f. Haga clic en Aceptar para confirmar los cambios. Cierre la ventana de Administración de Computadora.

  2. Haga doble clic en el archivo odbc_install.exe en el directorio Instant client.

  3. Open C: \ WINDOWS \ system32 \ odbcad32.exe

  4. añadir una fuente de datos para la base de datos Oracle. a. Haga clic en el botón Agregar b. Seleccione "Oracle en el cliente instantáneo11_1" y haga clic en Finalizar. c. Escriba lo siguiente en el cuadro de diálogo Configuración del controlador ODBC de Oracle: Nombre de origen de datos: DSN Descripción: Roacle (o lo que sea) Nombre del servicio TNS: SERVER: 1521/DSN - Cambie ID de usuario: nombre de usuario de Oracle d. Haga clic en el botón Probar conexión. Se le pedirá su contraseña, y si todo salió bien, recibirá un mensaje de "Conexión exitosa".

A continuación, puede crear un canal en R con:

 odbcConnect(dsn, uid = uid, pwd = pwd, readOnly = TRUE) 
+1

Gracias por el nivel de detalle – tamersalama

0

En caso de que alguien se tropieza más en esta cuestión de edad y las necesidades de ayuda para conectar Oracle y R, este PDF explica el proceso completo y proporciona necesita descargar información.

{} http://cran.fhcrc.org/web/packages/RODM/RODM.pdf

Cuestiones relacionadas