sql >> Databasteknik >  >> RDS >> Oracle

Hur installerar du perl DBD::Oracle på OSX Snow Leopard 10.6

Att få en mac-installation av perl att spela bra med Oracle är lite jobbigt - när den väl är igång är den fantastisk, att få den att fungera är lite frustrerande.

Nedanstående har fungerat för mig på några olika Intel Mac-datorer, det kan mycket väl finnas överflödiga steg där och det kommer sannolikt inte att vara samma sak för andra plattformar.

Detta kommer att kräva användning av skal, root-användaren och lite CPANing - inget för betungande

Skapa först en katalog för oracle pap - bibliotek, snabbklient etc.

sudo mkdir /usr/oracle_instantClient64

Ladda ner och extrahera alla 64-bitars instant-klientpaket från oracle till ovanstående katalog

Skapa en symbollänk i den katalogen för en av filerna där

sudo cd /usr/oracle_instantClient64
sudo ln -s /usr/oracle_instantClient64/libclntsh.dylib.10.1 libclntsh.dylib

Följande dir är hårdkodad i oracle-instant-klienten - gud vet varför - så måste skapa och symlinka den

sudo mkdir -p /b/227/rdbms/
sudo cd /b/227/rdbms/
sudo ln -s /usr/oracle_instantClient64/ lib

Behöver lägga till ett par miljövariabler, så redigera /etc/profile och lägg till dem så att de finns för alla användare:

export ORACLE_HOME=/usr/oracle_instantClient64
export DYLD_LIBRARY_PATH=/usr/oracle_instantClient64

Försök nu och installera DBD::Oracle via CPAN - detta kommer att misslyckas, men det betyder att alla beroenden kommer att laddas ner och det hämtar modulen åt oss

sudo perl -MCPAN -e shell
install DBD::Oracle

När detta misslyckas avsluta CPAN och gå till din .cpan/build-katalog - om du använde automatisk konfiguration av CPAN kommer det att vara

cd ~/.cpan/build

om du inte konfigurerade automatiskt kan du hitta din byggkatalog med följande kommando i CPAN

o conf build_dir

Väl i build dir leta efter DBD::Oracle dir som just har skapats (det kommer att heta något som DBD-Oracle-1.28-?) och cd in i den.

Nu måste vi byta till root-användaren. Root är inte aktiverat som standard i osx - för detaljer om att aktivera se det här inlägget på apples webbplats a>

När vi väl är inloggade som root måste vi ställa in ovanstående miljövariabler för root:

export ORACLE_HOME=/usr/oracle_instantClient64
export DYLD_LIBRARY_PATH=/usr/oracle_instantClient64

Nu när vi fortfarande är inloggade som root måste vi köra makefilen för modulen, sedan göra och sedan installera

perl Makefile.pl
make
make install

Förutsatt att allt fungerade utan fel, logga ut från root:vi är DBD'd up! Om det här inte fungerade är det dags att avbryta Google för de fel du ser

Nu är det bara att installera DBI-modulen

sudo perl -MCPAN -e shell
install DBI

Nu är du redo - njut av ditt nya liv

Ytterligare information från user852637:

  1. Rättelse till detta steg

    perl Makefile.pl
    make
    install
    

    Det sista steget bör vara make install

  2. Under tillverkningen kan du stöta på ett fel som ser ut som:

    För att rätta till detta måste du redigera filen "Makefile" som skapades efter steget "perl Makefile.pl" och ta bort alla förekomster av följande text:

    -arch ppc 
    

    Detta kommer att eliminera felet.

  3. Samma fel som beskrivs i (2.) kommer att inträffa under installationen av DBI-modulen. Du måste redigera Makefile skapad efter perl Makefile.pl steg och ta bort alla förekomster av följande text :

    -arch ppc 
    


  1. Enklaste sättet att göra en rekursiv självanslutning?

  2. sql-frågor för att hitta matchningsattributen

  3. Går det att länka till en annan databaslänk?

  4. MySQL sök exakt ord med $ i word