Perl MySQL API:n käyttäminen CSC:llä
Perl MySQL API on saatavilla Puhti-ympäristössä CSC:llä osana bioperl-ympäristöä. Seuraavat tehtävät suoritetaan yleensä, kun Perl-skripti käyttää MySQL-tietokantaa:
- Perl DBI -moduuli tuodaan
- Yhteys MySQL-palvelimeen avataan
- Komennot suoritetaan ja niiden tulosjoukot haetaan
- Palvelinyhteys suljetaan
Seuraava ohjeistus olettaa, että sinulla on tietokantakäyttäjätili CSC:n tietokantapalvelussa. Jos käytät toista MySQL-palvelinta, korvaa skriptissä palvelimen nimi (kaivos.csc.fi
) käyttämälläsi palvelimen nimellä.
Kirjoita MYSQL-tietokantayhteysskripti
Käytä suosikki tekstieditoria luodaksesi nimetty skriptitiedosto, esim. mydb_script.pl. Kopioi sitten seuraava teksti skriptiin.
# mydb_script.pl skripti MySQL-palvelimen version näyttämiseksi
use strict;
use DBI;
my $dbh = DBI->connect ("DBI:mysql:your_database_name:kaivos.csc.fi",
"your_database_user_account", "your_database_password") or die "Cannot connect:" . $DBI::errstr;
my $sth = $dbh->prepare ("SELECT VERSION()") or die "Cannot prepare:" . $dbh->errstr();
$sth->execute () or die "Cannot execute: " . $sth->errstr();
while (my @row = $sth->fetchrow_array())
{
print "@row\n";
}
$dbh->disconnect ();
Yhteys tietokantaan luodaan kutsumalla connect()
-metodia yhteysparametreilla. Nämä parametrit ovat: käytettävä tietokanta, tietokantapalvelin, tietokantakäyttäjätili ja tietokantasalasana. Korvaa nämä arvot vastaamaan tietokantaasi, tietokantakäyttäjätiliäsi ja tietokantasalasanaasi. prepare()
-metodi valmistelee SQL-komennon ja execute()
-metodi lähettää komennon tietokantapalvelimelle. fetchrow_array()
-metodi hakee rivejä tulosjoukosta silmukassa, ja tuloksena olevat rivit tulostetaan. Lopuksi yhteys suljetaan disconnect()
-metodilla.
MYSQL-tietokantayhteysskriptin suorittaminen
Suorita skripti komentoriviltä Perl-tulkin avulla. Suosittelemme käyttämään bioperlia CSC-ympäristössä, koska se sisältää tarvittavat moduulit.
tai lisää seuraava skriptin alkuun:
Tee sitten skriptistä suoritettava ja suorita se suoraan:
Komentojen suorittamismenetelmät
prepare()
-metodi on SQL-komennon valmistelua varten ja execute()
-metodi on SQL-komentojen suorittamista varten. Kuitenkin, voit käyttää do()
-metodia kertaluonteisiin ei-SELECT-komentoihin (esim. INSERT, UPDATE, DELETE), koska tietokannasta ei palauteta dataa:
Transaktio
Oletuksena AutoCommit-tila on päällä. Sinun ei tarvitse käyttää commit()
-metodia suorittaessasi transaktioita. Vain InnoDB-tallennusmoottori on transaktionaalinen. Oletuksena oleva MyISAM on ei-transaktionaalinen tallennusmoottori.