![]() |
|
| |||||||
|
| WebMasTer SiTeSi |
| | Seçenekler |
|
#1
| |||
| | |||
SQL Server ile Dinamik Sayfalar ÜretmekSQL 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 |
![]() |
| Arama Etiketleri: dinamik, sayfalar, server, sql, uretmek |
| 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 |
![]() |