SQL Server ile Dinamik Sayfalar Üretmek

Mysql SQL Server ile Dinamik Sayfalar Üretmek Veritabanı programcılığı hakkında bilgi paylaş; SQL Server ile Dinamik Sayfalar Üretmek Günlük olarak gazete sitelerini dolaşırken bir şey dikkatimi çekti. sitesinin dosya ...
Cevapla
WebMasTer SiTeSi
 
Seçenekler
  #1  
Arama 21-11-2007, 10:42
kadınca
Guest
Mesajlar: n/a
 
     WS-Ticareti: ()

SQL Server ile Dinamik Sayfalar Üretmek

SQL Server ile Dinamik Sayfalar Üretmek


Günlük olarak gazete sitelerini dolaşırken bir şey dikkatimi çekti. sitesinin dosya uzantısı HTML ! Sanıyorum bir yada bir kaç HTML editörü her gün ona haber sayfasını gün be gün oluştuyor. Ne dersiniz ?

Tabii günümüz teknolojisinin bize sunduğu imkanları düşününce pekte olur şey gibi gelmiyor. Peki ama bu HTML sayfaları nasıl oluşturuluyor ? Milliyet.com.tr sitesi mimarlarının uyguladıkları tekniği bilmiyorum ama birazdan bu işi SQL Server’a yaptırmanın yolunu inceleyeğiz.

Peki sunucu taraflı ( server side ) programlama dilleri mevcut ve gayet güzel işimizi görüyorken böyle bir cambazlık yapmamızın sebebi nedir ? Cevap : Performans.

Dinamik Mi ? Statik Mi ?


Dinamik Sayfalar : IIS üzerindeki ASPX uygulamaları istemci tarafından çağrıldığında ilgili sayfa kodları C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspne t_isapi.dll tarafından makine diline çevirilir ve kodda istenilen işlemleri gerçekleştirdikten sonra kullanıcıya HTML çıktı iletir. Örneğin :


Şekil 1. ASPX çalışma mantığı.

Statik Sayfalar : IIS üzerinde bulunan HTML, TXT, XML gibi uzantıya sahip dosyalar ise herhangi bir derleyici tarafından bir işleme tabi tutulmadan direk kullanıcıya gönderilir. Örneğin :

Şimdi bizde Örnek olarak bizde aşağıdaki tabloda bulunan 4 adet haberi bir HTML sayfada gösterelim.

Örnek tablomuz :


Bu yazının konusunu oluşturan System Stored Procedure’müz ise sp_makewebtask

sp_makewebtask toplamda 32 adet parametre kabul ederek oldukça geniş bir çalışma alanı sağlıyor. Biz basit olarak 4 parametresini kullanarak ortaya kullanışlı bir sayfa çıkaracağız.

Ancak SQL Server 2005 te bu System Stored Procedure’ü çalıştırmadan evvel ufak bir ayar yapmamız gerekiyor. SQL Server te güvenlik nedeniyle bu sp_makewebtask nin kapalı geliyor.

Gerekli izinleri vermek için -> All Programs -> Microsoft.SQL Server 2005 -> Configration Tools -> SQL Server Surface Area Configuration menüsü izlemek gerekiyor. Çıkan pencerede en alttaki Surface Area Configration for Features linkine tıklayıp yeni açılacak olan pencerede bulunan menüden Web Asistant seçilip Enable Web Asistanst checkbox’ını seçmemiz gerekiyor.



Öncelikle çıktının üretileceği bir Tamplate dosyaya ihtiyacımız var.

<HTML>
<HEAD>
<TITLE>BenimSitem</TITLE>
</HEAD>
<BODY>

<h1>BenimSitem</h1>

<%begindetail%>
<h4><%insert_data_here%></title></h4>
<font face="Verdana" size="1"><%insert_data_here%></font>
<hr>
<%enddetail%>


</BODY>
</HTML>

C:\Inetpub\wwwroot\benimsitem\ Haberler.TPL


Burada sarı ile belirtilen yerler arasında kalan bölge çalıştırılacak SQL ifadesinin döndüreceği satır sayısı kadar yazdırılacak. Turkuaz ile belirtilen bölgeler ise her satır için kolon sırasına göre döşenecek verilerin yazdıralacağı alanları belirtiyor.

Örneğin SELECT Baslik,Metin FROM Haberler şeklindeki bir SQL Sorgusunda <h4> etiketleri arasında Baslik <font> etiketleri arasında ise haber gelecektir.

Artık sp_makewebtask sp mizi kullanabiliriz.

EXECUTE sp_makewebtask
@templatefile = 'C:\Inetpub\wwwroot\benimsitem\Haberler.TPL',
@outputfile = 'C:\Inetpub\wwwroot\benimsitem\Haberler.HTML',
@query = 'SELECT Baslik,Metin FROM Haberler',
@codepage = 1254
GO

@templatefile : Oluşturulacak HTML belgesinin referans alınacağı tamplate dosyası.

@outputfile : HTML çıktının oluşturulacağı adres.

@query : Üretilecek HTML belgesinin içeriğini dolduracak SQL sorgusu.

@codepage : HTML sayfasının karakter seti.

Yukarıdaki SQL ifadesini çalıştırdığımızda C:\Inetpub\wwwroot\benimsitem\Haberler.HTML adresinde HTML dosyamızı görmüş olacağız.

Browser pencemize http://localhost/benimsitem/Haberler.HTML adresini yazdığımıda aşağıdaki gibi bir çıktı elde edeceğiz.




Peki tablomuza Haber eklendiğinde, silindiğinde veya değiştirildiğinde ne olacak ?

Yukarıdaki SQL ifadesini Haberler Tablosu için INSER-UPDATE-DELETE Trigger’ına yerleştirdiğimizde Haber tablomuzda meydana gelecek ufak bir değişiklik sonucu HTML dosyamıza iletilecektir.

CREATE TRIGGER tr_HaberlerHTM
ON Haberler
FOR INSERT,UPDATE,DELETE
AS
EXECUTE sp_makewebtask
@templatefile = 'C:\Inetpub\wwwroot\benimsitem\Haberler.TPL',
@outputfile = 'C:\Inetpub\wwwroot\benimsitem\Haberler.HTML',
@query = 'SELECT Baslik,Metin FROM Haberler',
@codepage = 1254
GO
Alıntı ile Cevapla
Cevapla
Arama Etiketleri: , , , ,



Seçenekler


Benzer Konular
Konu Konu Açanlar Forum Cevaplar Güncel Mesajlar
sayfalar ayrı pencerede açılıyor kabiem Yeni Başlayanlara WebmasterSitesi 2 14-11-2008 12:37
Kendİ Kendİne AÇilan Sayfalar kenger Donanım danışma 8 11-08-2008 02:16
Sarı Sayfalar ve Webrehber Webefendisi Diğer Web Siteleri 0 19-03-2008 01:04
Rasgele şifre üretmek egitimbilgisi Php kodları 1 12-03-2008 04:26
Beyaz sayfalar nedir? anlamı MaNeX Webmaster Sözlügü 0 27-02-2008 04:37


Webmaster web tasarım online reviews ~ Kadınlar blogu ~ Apple iPhone, iPod Touch ( iTouch ) Forum ~ iPhone