Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: IBExtact Ve IBScript  (Okunma sayısı 2340 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
IBExtact Ve IBScript
« : 08 Ekim 2005 14:55:57 »
IBExtact
Öncelikle Belirteyim Bu Bileşenler hakkında internette pek bilgiye rastlayamadım. 2-3 doküman buldum onlarda ne İngilizce nede Türkçeydi. Arapça ve Japoncada değildi onları nerde görsem tanırım :)
Bu bileşenle Veritabanını oluşturan nesnelerin SQL  kodlarına ulaşabiliriz. Kayıtlara bile. Database ve Transaction özelliklerini söylememe gerek yok sanırım.
IBExtract1.ExtractObject(param1,param2);
Yukarıdaki kod Extact işlemini uygulayan komuttur. 1. parametreye hangi nesne veya nesleri oluşturacağını ikinci parametreye 1.parametrede verilen nesnenin hangi özelliklerinin SQL  kodunu çıkaracağımızı belirtebilriz. Örneğin 1. parametreye tablo yazıp ikinci parametreyede index yazarsak tablolara ait index oluşturma kodlarını listeleyecektir.
Birinci parametrenin  alabileceği değerler aşağıdadır. Her iki parametreyede birden fazla öğe aktarabilirsiniz.
Kod: [Seç]
eoDatabase > veritabanını alır.  ikinci parametreye bir şey yazmazsanız veritabanını toptan alır.
eoDomain > ikinci parametreye tabo ismi göstermezseniz tüm domainleri alır.bunu çok sevdim çünkü domainlerim standarttır. Artık her vt oluşturduğumda domainleri tek tek oluşturmam heral. Sizinle beraber öğrendiğim için daha kullanmadım.
eoTable > Tablolar
eoView > View ( Görünümler )
eoProcedure > Stored Procedureler
eoFunction > UDFler
eoGenerator > Generatorlar
eoException > Exceptionlar
eoBLOBFilter  > Bloblardan fazla anlamıyorum 
eoRole  > Roleler
eoTrigger > Triggerlar
eoForeign > Foreign Keyler
eoIndexes > indexler  
eoChecks > Kısıtlamalar
eoData  > Kayıtlar.
Hepsinin açıklamaları aynı olduğu için detaya girmedim. Parametreye birden fazla değer atanacaksa aralarına virgül eklenmeli.
İkinci parametrenin alabileceği değerler aşağıda.
Kod: [Seç]
etDomain, etTable, etRole, etTrigger, etForeign,  etIndex, etData, etGrant, etCheck
IncludeSetTerm özelliği ise Sp de anlattığım SET TERM sözcüğünün sorguda yer alıp almayacağı. Ben True yaptım. False halini denemedim.
Alınan SQL cümlesini aşağıdaki şekilde bir dosyaya kaydedebilirsiniz.
Kod: [Seç]
IBExtract1.Items.SaveToFile('d:\a.txt');Aşağıdaki şekildede memoya atabilirsiniz
Kod: [Seç]
MEMO1.Text:= IBExtract1.Items.Text;
Gelelim Örneklere
1 )
Kod: [Seç]
IBExtract1.ExtractObject(eoDatabase);  //vtyi al
MEMO1.Text:= IBExtract1.Items.Text; //memoya at

2)
Kod: [Seç]
IBExtract1.ExtractObject(eoTable, 'EMPLOYEE'); //EMPLOYEE tablosunu al
IBExtract1.Items.SaveToFile('d:\a.txt'); //dosyaya kaydet


3)
Kod: [Seç]
IBExtract1.ExtractObject(eoTable, 'EMPLOYEE', [etDomain, etForeign, etIndex, etGrant]);  // Employe Tablosunu Ve Belirtilen Özelliklerini Çıkar
4)
Kod: [Seç]
IBExtract1.ExtractObject(eoTable); //vt’den tüm tabloları  al

5)
Kod: [Seç]
IBExtract1.ExtractObject(eoData, 'CUSTOMER'); //customer tablosundan kayıtları al

6)
Kod: [Seç]
IBExtract1.ExtractObject(eoProcedure, 'SHIP_ORDER’);  //SHIP_ORDER SP’sini al


IBScript
Herhangi bir sonuç döndürmeyen SQL Cümlelerini çalıştırmak için kullanabileceğiniz ideal bir bileşen. Mesela ben kullanıcı oluşturduktan sonra o kullanıcıya yetki verilmesini sağlayan grant komutunu bu bileşen aracılığı ile çalıştırırım. Veritabanı,tablo vb, nesneleri yaratmak için kullandığımız SQL kodlarını buraya ekleyip
Kod: [Seç]
IBScript1.ExecuteScript; komutu ile scripti  çalıştırıyoruz. SQL Cümlenizi bileşenin script özelliğine atamalısınız.   Aşağıdaki seçeneklerden biriyle Run-Time ( Çalışma zamanında ) SQL Cümlenizi bileşenin Script özelliğine atayabilirsiniz.
Kod: [Seç]
IBScript1.Script.LoadFromFile('scriptin .çinde bulunduğu dosya adı ve yolu'); //dosyadaki metni scripte ekler
IBScript1.Script.Text:=Memo1.Text; //memodaki metni scripte ekler
IBScript1.Script.Add('SQL Cümlesi'); //Script özelliğinin sonuna cümleyi ekler


aşağıda örnek bir kullanımı inceleyebilirsiniz.
Kod: [Seç]
IBScript1.Script.Clear; // script özelliğini temizle
IBScript1.Script.LoadFromFile('d:\a.txt'); //dosyadaki metni scripte ekle
IBScript1.ExecuteScript; //çalıştır
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı cerhate

  • Yeni Üye
  • *
  • İleti: 1
  • Rep: +0/-0
Ynt: IBExtact Ve IBScript
« Yanıtla #1 : 04 Şubat 2010 23:41:01 »
Hocam Makalen için çok teşekkür ederim öncelikle.

IBExtract ile tablondaki verileri deneme.sql diye kaydediyorum fakat IBScript ile açtığımda hata mesajı alıyorum. Hata mesajını incelediğimde IBExtract ile oluşturduğum sql kodda tarih formatını gg.aa.yyyy değilde aa.gg.yyyy olarak kaydetmiş. Bu yüzden hata veriyor IBScript ile geri yükleme yaptığımdan. Windows ayarlarına baktım fakat onlarda bi sorun yok. Bu tarih formatını nasıl çözebilirim ?

Kolay Gelsin