R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

RODBC: Tietokantayhteydet R:llä, osa 1

R mahdollistaa tiedon hakemisen tietokannoista mm. ODBC-yhteyden kautta. Tätä varten tulee ottaa käyttöön RODBC-funktiokirjasto. Tässä ja muutamassa tulevassa artikkelissa käydään RODBC-paketin yleisimpiä käyttötapoja läpi. DBMS:nä toimii Microsoftin sivuilta ilmaiseksi ladattava SQL Server Express ja tietokantana Microsoftin esimerkkikanta Adventureworks.

SQL Serverin asennuksen ja kannan attachin jälkeen kanta pitäisi näkyä Management Studiossa näin (mukana myös muutama muu esimerkkikanta):

Tämän jälkeen tulee luoda Data Source Name eli DNS-yhteys. Windowsissa tämä tapahtuu käyttäen GUI:ta, joka käynnistyy esim. kirjoittamalla Start –> Run valikkoon komento odbcad32 . Yhteyden luomisen voi opetella vaikka tämän ohjeen avulla: Creating a new odbc dsn.

Yhteys kantaan

Yhteyden luomisen jälkeen voidaan käynnistää R ja asentaa sinne RODBC-paketti.
Tarkastellaan aluksi mitä DSN-yhteyksiä on käytössä käyttäen odbcDataSources-funktiota. Luodaan lopuksi ODBC-yhteys kantaan (tunnuksen ja salasanan voi jättää tästä myös pois eli niitä ei tarvitse kovakoodata skriptiin. Windows kysyy niitä käyttäjältä mikäli niitä ei komennosta löydy).

install.packages("RODBC")
library(RODBC)
as.data.frame(odbcDataSources(type = "all"))
ch <- odbcConnect("aw", uid = "tunnus", pwd = "salasana")

Yhteyden tiedot ja kannan taulut

Tarkastellaan yhteyden tietoja ja haetaan listaus kaikista tauluista Adventureworks kannasta. sqlColumns-funktiolla voidaan tarkastella jonkun tietyn taulun attribuutteja

as.data.frame(odbcGetInfo(ch))
sqlTables(ch)
sqlTables(ch, schema = "Person") #Tai käyttäen vain Persons skemaa

Seuraavassa osassa tarkastellaan yksinkertaisia hakuja kannasta.


Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *