sql >> Database >  >> RDS >> Oracle

Hoe installeer je perl DBD::Oracle op OSX Snow Leopard 10.6

Een Mac-installatie van perl krijgen om mooi met Oracle te spelen is een beetje lastig - als het eenmaal draait is het fantastisch, het draaiend krijgen is een beetje frustrerend..

Het onderstaande heeft voor mij gewerkt op een paar verschillende Intel-Macs, er kunnen overbodige stappen in zitten en het zal waarschijnlijk niet hetzelfde zijn voor andere platforms.

Dit vereist het gebruik van shell, de root-gebruiker en een beetje CPANing - niets te belastend

Maak eerst een map voor de oracle pap - bibliotheken, instant client enz.

sudo mkdir /usr/oracle_instantClient64

Download en extraheer alle 64-bits instant-clientpakketten van oracle naar de bovenstaande map

Maak een symbolische link binnen die map voor een van de bestanden daar

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

De volgende map is hard gecodeerd in de orakel instant-client - god weet waarom - dus moet deze maken en symboliseren

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

Moet een aantal omgevingsvariabelen toevoegen, dus bewerk /etc/profile en voeg ze toe zodat ze voor alle gebruikers bestaan:

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

Probeer nu DBD::Oracle te installeren via CPAN - dit zal mislukken, maar het betekent dat alle afhankelijkheden worden gedownload en de module voor ons wordt opgehaald

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

Als dit niet lukt, verlaat u CPAN en gaat u naar uw .cpan/build-directory - als u de automatische configuratie van CPAN heeft gebruikt, is dat

cd ~/.cpan/build

als je niet automatisch hebt geconfigureerd, kun je je builddirectory vinden met de volgende opdracht in CPAN

o conf build_dir

Zoek in de build-map naar de DBD::Oracle-map die zojuist is gemaakt (het zal zoiets als DBD-Oracle-1.28- heten?) en cd erin.

Nu moeten we overschakelen naar de rootgebruiker. Root is niet standaard ingeschakeld in osx - voor details over het inschakelen, zie dit bericht op de apple-website

Eenmaal ingelogd als root moeten we de bovenstaande omgevingsvariabelen voor root instellen:

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

Nu, terwijl we nog steeds zijn ingelogd als root, moeten we de makefile voor de module uitvoeren, dan make, en dan installeren

perl Makefile.pl
make
make install

Ervan uitgaande dat alles werkte zonder fouten log uit van root:we zijn DBD'd! Als dit niet werkt, is het tijd om Google uit te schakelen voor alle fouten die je ziet

Nu alleen nog de DBI-module installeren

sudo perl -MCPAN -e shell
install DBI

Nu ben je helemaal klaar - geniet van je nieuwe orakelachtige leven

Aanvullende informatie van gebruiker852637:

  1. Correctie op deze stap

    perl Makefile.pl
    make
    install
    

    De laatste stap moet zijn make install

  2. Tijdens het maken kunt u een fout tegenkomen die er als volgt uitziet:

    Om dit te corrigeren, moet u het bestand "Makefile" dat is gemaakt na de stap "perl Makefile.pl" bewerken en alle exemplaren van de volgende tekst verwijderen:

    -arch ppc 
    

    Dit zal de fout elimineren.

  3. Dezelfde fout beschreven in (2.) zal optreden tijdens de installatie van de DBI-module. Je moet het Makefile bewerken gemaakt na de perl Makefile.pl stap en verwijder alle exemplaren van de volgende tekst:

    -arch ppc 
    


  1. Niet-bestaande gegevens selecteren met MySQL

  2. Aangepaste MySQL-kolomindeling afdwingen?

  3. Tel hoeveel vermeldingen er in een database zijn met tussenpozen van 5 minuten

  4. DECIMALE lengte voor microtime(true)?