##----------------------------------------------------------------------------- ## Para importar dados em formato CSV para R: dados <- read.csv("produto.csv", sep=";") ## a funcao read.csv devolve um data frame print(dados) ##----------------------------------------------------------------------------- ##----------------------------------------------------------------------------- ## Para abrir uma conexao com um BD mantido em um servidor PostgreSQL: # Primeiro, e' preciso carregar o pacote "RPostgreSQL", que implementa # a interface DBI para o PostgreSQL. # Para isso funcionar, e' preciso que o pacote "RPostgreSQL" tenha sido # previamente instalado library(RPostgreSQL) ## Carrega o driver do PostgreSQL, disponível no pacote "RPostgreSQL" drv <- dbDriver("PostgreSQL") ## Abre uma conexao com um banco de dados ## **** IMPORTANTE **** ## altere o valor dos parametros da funcao dbConnect para poder se ## conectar ao seu BD na rede Linux con <- dbConnect(drv, host="postgresql.linux.ime.usp.br", port="5432", dbname="login_rede_linux", user="login_rede_linux", password="senha") ## Usando a conexao aberta, envia ao BD uma consulta SQL. ## A funcao dbSendQuery devolve um Result Set -- uma especie de cursor ## (como os das Stored Procedures), que permite acessar o resultado da ## consulta em lotes rs <- dbSendQuery(con, "select * from produto") ## Carrega as 10 primeiras tuplas do result set (= conjunto resposta) resultado_parte1 <- fetch(rs,n=10) print(resultado_parte1) ## Carrega todas as linhas restantes no result set (= conjunto resposta) resultado_parte2 <- fetch(rs,n=-1) print(resultado_parte2) ## Submete e executa uma consulta SQL, devolvendo o resultado em um data frame dados <- dbGetQuery(con, "select * from pc") print(dados) ## Cria no BD uma nova tabela (chamada "copia_pc") e grava nela os dados ## armazenados em um data frame dbWriteTable(con, "copia_pc", dados) ## Fecha a conexao com o BD dbDisconnect(con) ## Libera os recursos usados pelo driver dbUnloadDriver(drv) ##-----------------------------------------------------------------------------