BASKALE.NETGOO

BASKALE.NETGOO

BLUE-MOON-HACKERTEAM
 
AnasayfaAnasayfa  GaleriGaleri  Üye ListesiÜye Listesi  Kullanıcı GruplarıKullanıcı Grupları  Kayıt OlKayıt Ol  Giriş yapGiriş yap  
Arama
 
 

Sonuç :
 
Rechercher çıkıntı araştırma
En son konular
» Delphi Derleyicileri Başlığı
Paz Şub. 20, 2011 12:53 am tarafından byhuysuz

» Modemi hızlandırma
C.tesi Şub. 19, 2011 2:17 pm tarafından byhuysuz

» Visual Studio 2010 Yükle Sadece [10mb]
C.tesi Şub. 19, 2011 12:16 pm tarafından byhuysuz

» Adobe'nin Bütün Versiyonları İçin Crack
Salı Şub. 15, 2011 9:25 pm tarafından byhuysuz

» 1st javascript Editor Professional Edition v5.1 | 8.11 Mb
Salı Şub. 08, 2011 3:35 pm tarafından byhuysuz

» 30 Sn'de [Pc Çökertme + Panzehir]
Ptsi Şub. 07, 2011 4:13 pm tarafından byhuysuz

» Java Görsel Eğitim Seti
Ptsi Ağus. 09, 2010 9:32 pm tarafından admin

» Programlamaya Nereden Baslamali?
Ptsi Ağus. 09, 2010 9:30 pm tarafından admin

» C / C++ E-Book Paylaşımı
Ptsi Ağus. 09, 2010 9:29 pm tarafından admin

» C dilinde basit bir mayın tarlası programı
Ptsi Ağus. 09, 2010 9:05 pm tarafından admin

» Delphi 7 Katılımsız Full | 150mb |
Ptsi Ağus. 09, 2010 8:58 pm tarafından admin

» Delphi 1
Ptsi Ağus. 09, 2010 8:57 pm tarafından admin

» İnternetle İlgili Doğru Sanılan Efsaneler
Ptsi Ağus. 09, 2010 8:54 pm tarafından admin

» Tek Tip Şarj Cihazı Dönemi Başlıyor ..
Ptsi Ağus. 09, 2010 8:53 pm tarafından admin

» Türk mucitten 7 boyutlu sinema
Ptsi Ağus. 09, 2010 8:52 pm tarafından admin

» Schrödinger’in Kedisi | Hem Ölü Hem Canlı
Ptsi Ağus. 09, 2010 8:51 pm tarafından admin

» Win Vista Püf Noktaları ve Optimizasyon
Ptsi Ağus. 09, 2010 8:48 pm tarafından admin

» Bölüm İndex
Ptsi Ağus. 09, 2010 8:47 pm tarafından admin

» Win 7 Püf Noktaları ve Optimizasyon
Ptsi Ağus. 09, 2010 8:45 pm tarafından admin

» Win Xp Püf Noktaları ve Optimizasyon
Ptsi Ağus. 09, 2010 8:44 pm tarafından admin

» Yeni Güvenlik Uygulamalarımız (2010)
Ptsi Ağus. 09, 2010 8:43 pm tarafından admin

» Önemli Olan Güvenlik İse?
Ptsi Ağus. 09, 2010 8:42 pm tarafından admin

» Perl ve Python Exploit Bilgisi (Bug-Res)
Ptsi Ağus. 09, 2010 8:41 pm tarafından admin

» Sonu Olmayan Bir Hack Dökümanı Bug-Res
Ptsi Ağus. 09, 2010 8:40 pm tarafından admin

» Hacking Interface Kitabı - X-Master
Ptsi Ağus. 09, 2010 8:38 pm tarafından admin

» Bug Nedir? Nasıl Oluşur/Bulunur? Bug-Res
Ptsi Ağus. 09, 2010 8:37 pm tarafından admin

» Gerçek Pc Hızlandırma(Uçak Gibi)
Cuma Ağus. 06, 2010 8:46 pm tarafından admin

» 50 Adet Hack Videosu Türkçe [Videolar]
Cuma Ağus. 06, 2010 8:45 pm tarafından admin

» İndexinize Bilgisayarınızdan Arka Plan Müziği||Mr.SoLucaN
Cuma Ağus. 06, 2010 8:44 pm tarafından admin

» Hatırlamadığınız Şifreyi Kırın! 2010
Cuma Ağus. 06, 2010 8:41 pm tarafından admin

» Adsl Hack - Adsl Hackleme - Adls Hack 2010
Cuma Ağus. 06, 2010 8:01 pm tarafından admin

» 2009 Full Anti-Virus Programları
Cuma Ağus. 06, 2010 7:58 pm tarafından admin

Giriş yap
Kullanıcı Adı:
Şifre:
Beni hatırla: 
:: Şifremi unuttum

Paylaş | 
 

 Perl ile Veritabanı Programlama

Önceki başlık Sonraki başlık Aşağa gitmek 
YazarMesaj
YENİAJAN
spyajan
spyajan
avatar

Aktiflik :
0 / 9990 / 999

Mesaj Sayısı : 134
Yaş : 28
Kayıt tarihi : 23/07/08

MesajKonu: Perl ile Veritabanı Programlama   Perş. Tem. 24, 2008 7:26 pm

Unix ve Linux sistemler genelde text tabanli yönetildigi icin (telnet ya da rlogin) komut isteminde (shell) calistirabileceginiz perl tabanli “script” ler kullanmak cok pratiktir. Özellikle de zaten text dosya, log ya da benzer isler icin perl kullaniyorsaniz buna ek olarak veritabanina baglanip belarli sorgulari otomatik olarak calistirmak mümkün. Bir de rutin olarak ya da problemleri analiz etmek amaciyla yaptigimiz veritabani sorgulamalarini da sql arabirimi (sqlplus, dbaccees, mysql vs.) yerine bu sorgulari bir perl programina yaptirip daha güzel formatlamak daha pratik ve düzenlidir.



Neden Perl ile Veritabanina baglanayim?

Unix ve Linux sistemler genelde text tabanli yönetildigi icin (telnet ya da rlogin) komut isteminde (shell) calistirabileceginiz perl tabanli “script” ler kullanmak cok pratiktir. Özellikle de zaten text dosya, log ya da benzer isler icin perl kullaniyorsaniz buna ek olarak veritabanina baglanip belarli sorgulari otomatik olarak calistirmak mümkün. Bir de rutin olarak ya da problemleri analiz etmek amaciyla yaptigimiz veritabani sorgulamalarini da sql arabirimi (sqlplus, dbaccees, mysql vs.) yerine bu sorgulari bir perl programina yaptirip daha güzel formatlamak daha pratik ve düzenlidir.

Örnek kullanim sekilleri neler?
Veritabaninda;
-kullanicilarin listesi (test.pl)
-tablespace lerin listesi ve bos alan miktari
-extent sayilari
-datafile larin listesi
-temp kullanim orani
-tablolari belarli formatta export etmek

Bütün bunlari tabii ki grafik tabanli “Database management” (Enterprise manager, Toad vs.) sistemleriyle de yapabilirsiniz tabii ki ama yukarida da belirttigim gibi ufak ve rutin olarak yapilan isler cin perl kullanmak bircok avantaj getirecektir.



Her bir kriter icin bir parametre tanimlayip tek bir perl programiyla yazilabilir. Temel olarak bütün DML (data manipulation language, select, delete, update vs.) ve DDL (data definition language, create, drop, alter vs.) ler calistirilabilir.

Daha fazla teorik bilgi vermek yerine hemen kuruluma baslamakta yarar görüyorum.

Perl programlama dilini az cok taniyanlar modül kavramina yabanci degillerdir. Bir veritabanina perl ile baglanmak icin en cok kullanilan modül DBI modülüdür ve bircok veritabanina baglanma imkani saglar ve veritabanindan bagimsizdir. Biz bu örnekte bir oracle veritabanina baglanacagiz. Diger veritabanlarina baglanmak da cok farkli degil.

Bu yaziyi 2 bölüm halinde sunmak istiyorum. Bu bölümde daha cok kurulum ve temel ögelerden bahsedecegim. 2. bölümde ise daha cok kullanim alanlarina iliskin örnekler bulabileceksiniz.

Gerekli Sistem, Modül ve Programlar


Perl 5.6.1 (tavsiye edilen 5.8.X)
Perl DBI-1.50
Perl DBD-Oracle-1.17
Oracle Database Server (8,9 ya da 10)
Linux

Kurulum


Hangi isletim sistemlerinden baglanabilirim?
Perl ve Oracle in destekledigi her türlü isletim sisteminden oracle a perl ile baglanmak mümkündür. Perl ün acik kaynak kodlu olmasindan dolayi en cok Linux sistemlerde kullanildigi bir gercek olmakla beraber cok yaygin olarak UNIX sistemlerde de kullanilmaktadir.

Perl 5.6.1 (tavsiye edilen 5.8.x)
Linux sisteminize „root“ kullanicisi ile giris yapin ve „perl –v“ komutunu calistirin, bu sekilde perl ün yüklü olup olmadigini , yüklüyse hangi versiyonun oldugunu ögrenmis olursunuz

Perl sisteminizde yüklü ise “perl –v“ komutu su sekilde calisacaktir :

lnxsrv:~# perl -v

This is perl, v5.6.1 built for i386-linux

Copyright 1987-2001, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at
-= Üye Olmadan İndirme Linkini Göremessiniz =-
Üyel Olmak İçin Tıklayiniz,
the Perl Home Page.

Eger perl yüklü degilse komut suna benzer sekilde hata verecektir :
lnxsrv:/oracle# perl -v
bash: perl: command not found
lnxsrv:/oracle#

Yüklemek icin Linux dagitiminiza uygun CD ya da paket türünden (rpm, deb, vs.) perl ü kurun (en az 5.6.1). Perl genelde bütün Linux sistemlerde standart kurulumla yüklenen paketlerin arasindadir.
Oracle Client ya da Server in yüklü oldugundan emin olun. Yüklü degilse oracle kullanicisi olusturup kurlumu yapin.


DBI ve DBD-Oracle
Bu modülleri


sayfalarindaki linklerden ücretsiz indirip Linux sisteminizde /tmp ye kopyalayin. Ilk olarak DBI-1.50.tar.gz dosyasini asagidaki komutlarla acip kurun :

cd /tmp
tar zxvf DBI-1.50.tar.gz
cd DBI-1.50

ÖNEMLI: README yi okumadan gecmeyin (genel kural) J

perl Makefile.PL
make
make test
make install

(Oracle in /oracle da kurlu oldugunu kabul edersek)
export ORACLE_HOME=/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/bin:$LD_LIBRARY_PATH
export ORACLE_SID=oracle9
export ORACLE_USERID=scott/tiger
export PATH=$ORACLE_HOME/bin:$PATH

“sqlplus $ORACLE_USERID” komutuyla basarili bir sekilde girip sorgu yapabiliyorsaniz bundan sonraki adimlar icin isinizi kolaylastiracaktir.
Daha sonra DBD-Oracle modülünü kurun

cd /tmp
tar zxvf DBD-Oracle-1.17.tar.gz
cd DBD-Oracle-1.17

ÖNEMLI: README yi okumadan gecmeyin (genel kural) J

perl Makefile.PL
make
make test
make install



Bu komutlar sirasinda bazi hatalar almaniz normaldir, önemli olan bütün komutlarin sonuna kadar calisip calismadigidir. “make install” den sonra artik perl Oracle veritabanina baglanmaya hazir demektir. Hemen asagidaki kücük programla herseyin eksiksiz kuruldugundan emin olun (asagidaki kodu son satira kadar bir dosyanin icine kopyalayip kaydedin (test.pl).

#!/usr/local/bin/perl -w

use DBI;
use DBD::Oracle;

$userpass = 'system/manager';

print "\n";
print "Connecting to \"'dbi:Oracle:',$userpass\"........";
$dbh = DBI->connect('dbi:Oracle:',$userpass) ||
die "Error connecting $DBI::errstr\n";
if ($dbh) {print "OK\n"};

$sql="select USERNAME, USER_ID ,CREATED from dba_users";

$sth = $dbh->prepare("$sql");
$sth->execute();

print"\n\n";
print"USERNAME USERID CREATED\n";
print"========== ========== ==========\n";
while (@row = $sth->fetchrow_array()) {
printf "%-10s %-10s %-10s\n", @row;
}
$sth->finish;
$dbh->disconnect;

# son satir

1.sisteminize uygun user ve password girin
2.”test.pl” connect string inde ORACLE_SID belirtilmedigi icin $ORACLE_SID gecerli olacaktir ($dbh = DBI->connect('dbi:Oracle:',$userpass), yani connect stringiniz $dbh = DBI->connect('dbi:Oracle:oracle9',$userpass) seklinde de olabilir.
3.DBD-Oracle modülünün dökümantasyonunu yine asagidaki linkten bulabilirsiniz:


Dosyaya calistirilabilir hakki (chmod +x test.pl) verin. “test.pl” i calistirmadan önce ORACLE_HOME, ORACLE_SID, LD_LIBRARY_PATH ve PATH in (environment variables) dogru olup olmadigini control edin (örn. echo $ORACLE_SID, vs.)

lnxsrv:/oracle# echo $ORACLE_SID
sr4
lnxsrv:/oracle#

“test.pl” programinin ciktisi asagidakine benzer olacaktir :
lnxsrv:/oracle# ./test.pl

Connecting to "'dbi:Oracle:',system/manager"........OK



USERNAME USERID CREATED
========== ========== ==========
SYS 0 14-OCT-02
SYSTEM 5 14-OCT-02
OUTLN 11 14-OCT-02
DBSNMP 16 14-OCT-02
TRACESVR 19 14-OCT-02
FORSMGR 20 15-OCT-02
ODBC 21 15-OCT-02
ATOSODBC 22 15-OCT-02
lnxsrv:/oracle#



Eger asagidakine benzer bir hata aliyorsaniz büyük ihtimalle DBD kurulumunuzda bir hata olusmustur :
lnxsrv2:/tmp# ./test.pl
Can't locate DBD/Oracle.pm in @INC (@INC contains: /usr/local/lib/perl/5.6.1 /usr/local/share/perl/5.6.1 /usr/lib/perl5 /usr/share/p
erl5 /usr/lib/perl/5.6.1 /usr/share/perl/5.6.1 /usr/local/lib/site_perl .) at ./test.pl line 4.
BEGIN failed--compilation aborted at ./test.pl line 4.
lnxsrv2:/tmp#
Sayfa başına dön Aşağa gitmek
Kullanıcı profilini gör http://www.baskale.netgoo.org
 
Perl ile Veritabanı Programlama
Önceki başlık Sonraki başlık Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
BASKALE.NETGOO :: BİLİM ve TEKNOLOJİ (giriş) :: BİLİM ve TEKNOLOJİ (giriş) :: Programlama-
Buraya geçin: