Sql Server Reporting Services’ın ikinci yazısında bir raporun nasıl tasarlanacağını, RDL dosyasının nasıl oluşturulacağını, raporların nasıl yayınlanacağını, Report Manager arabirimini, gerektiği zaman raporların otomatikleştirilmesi ve Matrix, Table, List, Chart kontrollerinin örneklendirilmesini yazacağız. SSRS tasarımı ve düzeni VS.NET içerisinde “Business Intelligence” türünde bir projeyle gerçekleştirilir. Bu projeyi hem manual hem de VS.NET’in sunduğu sihirbaz aracılığıyla gerçekleştirebiliriz. Bununla ilgili basit bir örnek yapalım. Read the rest of this entry »
Günümüz uygulamalarında veritabanı işlemleri önemli bir alana sahiptir. Bununla birlikte verilerin daha verimli kullanılması için farklı teknikler kullanılarak analizler yapılır. Bu sürecin en önemli bacağı güçlü kolay ve ihtiyaçları karşılayan bir raporlama aracının kullanılmasıdır. Gerek OLTP gerekse OLAP kaynakları için birçok firmanın raporlama aracı bulunmaktadır. Bunlardan en çok kullanılanları Business Objects (Crystal Reports), Cognos ve Actuate aracıdır. Bu bölümde Microsoft’un ürünü olan SQL Server Reporting Services aracını inceleyeceğiz. İş dünyasının farklı birimlerden kısa zaman geniş yer bulmuş olan bu aracın mimarisini, bileşenlerini, örnek kullanımını göreceğiz.
SQL Server Reporting Services (Raporlama Servisleri), SQL 2000 ile birlikte bir ek olarak sunulmuş olup SQL Server veya OLE DB ve ODBC tabanlı farklı veri kaynakları üzerinde raporlama yapmak için kullanılır. SQL 2005 ile birlikte daha da olgunlaşan bu ürün piyasadaki diğer araçlara göre yapılandırılması ve kullanımı kolay olan bir araçtır. Reporting Services, SQL Server 2005′in bir parçası haline getirilmiş olup SQL Server içerisinde bir servis olarak sunulur. Bu aracı kullanarak veri kaynaklarındaki sorguların sonuçları XML, CSV, TIFF, EXCEL, PDF, Tek dosyalı Web sayfası(Multipart MIME Message-MHTML) formatında dışarı verilebilir. Bu aracın en güzel yanı Microsoft tabanlı birçok ürünle ilişkili çalışıyor olması, SOAP ve WMI arabirimlerini destekliyor olması ve .NET uygulamalarında gömülü olarak kullanılıyor olmasıdır. Ayrıca web üzerinden raporlara erişilmesini sağlayan arayüze ve rapora abone olmuş kişilere otomatik belirlenmiş formatta gönderilebilir özelliğe sahiptir. Burada bu işlemlerin detayına girmeyeceğiz fakat vereceğimiz örnekle genel olarak Reporting Services üzerinde nasıl bir rapor oluşturulacağı konusunda fikir sahibi olabileceğimizi düşünüyorum. Bir windows servisi olarak çalışan reporting services aracı, ilk kurulduğunda IIS üzerinde otomatik olarak ilgili web ayarlarını kurar. Read the rest of this entry »
BCP programı, Import / Export Wizard, SQL Server 2000′deki Data Transformation Services (DTS) ve SQL Server 2005′teki SQL Server Integration Services araçlarını kullanarak SQL Server içerisinde html formatında data çekilebilir. Aslında SQL Server’de bu tür formatta verilerin çekilmesinin Reporting Services aracılığıyla yapılması daha mantıklıdır. Fakat bu yazıda Reporting Services’i kurmadan bir sorgunun sonucunu html biçiminde nasıl dışarı veririz onu örneklendireceğiz. Read the rest of this entry »
SQL Server’de bir kullanıcıya verdiğimiz yetkileri başka bir kullanıcıya nasıl kopyalayabiliriz. T-SQL’de bunu doğrudan yapabileceğimiz bir komut yapısı bulunmamaktadır. Her defasında her kullanıcı için GRANT ve DENY ifadelerini kullanarak manual olarak aynı yetkilerin verilmesi gerekir. Veya Management Studio veya Enterprise Manager üzerindeki Generate Script bölümü kullanılarak veritabanına ait script kodları oluşturulur. Orada ilgili kopyalama ve değiştirme işlemi yapılır. Bu yazıda nasıl bir script yazılarak bu işlemin daha kolay yapılacağını örneklendireceğiz. Read the rest of this entry »
SQL Server sahip olduğu Export/Import aracıyla diğer veritabanlarına göre bir adım önde diyebiliriz. SQL Server üzerinde çalışırken sorgu sonucunu Excel formatında dışarı çıkarmak her zaman ihtiyaç duyulan bir durum olmuştur. Excel’de SQL Server’e import veya ters yönde export işlemi için en çok kullanılan yöntemler SQL 2000′de Data Transformation Services (DTS), SQL 2005′te SQL Server Integration Services (SSIS) ve her iki sürümde Bulk Copy (BCP) araçlardır. Bu araçların özelliği grafiksel ortam sunmaları ve genellikle Job’lar aracılığıyla çalıştırılıyor olmasıdır. DTS, SSIS ile nasıl yapılacağı kolay bir işlemdir. Bu yazıda BCP ve farklı T-SQL alternatiflerini inceleyeceğiz. Read the rest of this entry »
SQL Server üzerinde programlama yaparken metinleri ayrıştıran split fonksiyonunun T-SQL’de olmayışının eksikliğini hep hissetmişizdir. Bir metni bölmenin birçok yöntemi olsa da hepsinin mantığı döngü kurup metin içerisinde virgül gibi bir ayıraçın konumu bularak her virgül arasındaki değeri listelemektir. SQLTeam’da denk geldiğim aşağıdaki yöntemin daha hızlı olduğu ve pratik olduğunu düşünüyorum.
IF OBJECT_ID('dbo.Split') IS NOT NULL
DROP FUNCTION dbo.Split
GO
CREATE FUNCTION dbo.Split(@data NVARCHAR(MAX), @delimiter NVARCHAR(5))
RETURNS @t TABLE (data NVARCHAR(max))
AS
BEGIN
DECLARE @textXML XML;
SELECT @textXML = CAST('' + REPLACE(@data, @delimiter, ' ') + ' ' AS XML);
INSERT INTO @t(data)
SELECT T.split.value('.', 'nvarchar(max)') AS data
FROM @textXML.nodes('/D') T(split)
RETURN
END
GO
dbo şemasına altında oluşturulan bu fonksiyonu kullanalım.
DECLARE @text NVARCHAR(max) SELECT @text = 'C#, VB.NET, SQL Server, AJAX' SELECT * FROM dbo.Split(@text, ',')
C#
VB.NET
SQL Server
AJAX
SQL Server belli sayı aralığında işlem yapmak için genellikle while döngüsü kullanılır. Oysa elimizin altında ardışık sayıların bulunduğu bir tablo bulunursa her defasında while ile sözkonusu aralıktaki sayıları bulmaktansa basit Join işlemleriyle başı ve sonu verilmiş tarihsel, sayısal ve metinsel bir aralık oluşturulabilir. Bu yazıda böyle bir tablonun nasıl oluşturulacağı ve ne tür durumlarda kullanabileceğimizi örneklendireceğiz. Bu çalışmanın T-SQL ile ilgili iyi bir egzersiz olacağını düşünüyorum. Read the rest of this entry »
Fragmentation (parçalama) kavramı bilgisayar biliminde bellek, disk gibi kaynaklar üzerindeki birimlerin düzensiz parçalar (fragment) haline dönüşmesi ve bunun sonucunda düzenli boş alanın azalmasıdır. Dağılmış bu parçaları birleştirme işlemine defragmentation (birleştirme) denilir. SQL Server’da uzun süre veritabanı üzerinde yapılan silme, güncelleme, ekleme işlemleri sonucunda veritabanı dosyasında data veya index kayıtları arasında boş alanlar oluşur. Boş alanlar birbirleriyle ilişkili dolu kayıtların arasında olduğu için herhangi bir kayda erişme durumunda dağılmış kayıtlar arasında çok dolaşılacağından ciddi zaman kaybedilmektedir. Veritabanı dosyasındaki boş ve dolu alanları bir tarafa toplayıp dosyayı daha ekonomik, ergonomik kullanmak için belli dönemlerde defragmantasyon yapmak gerekir. Read the rest of this entry »
Daha önce yazdığımız ipuçlarına ek olarak bu yazıda aşağıdaki ipuçlarını vereceğiz.
- SQL Server servisi her çalıştığında bazı komutları nasıl çalıştırabiliriz.
- SQL Server Enterprise Management konsolde açılmıyor.
- “IS NULL” ve “= NULL” arasındaki fark nedir.
- COALESCE(), ISNULL() ve NULLIF() fonksiyonlar arasındaki fark nedir.
- NEWSEQUENTIALID() ve NEWID() arasındaki fark nedir.
- TRUNCATE ile DELETE arasındaki fark nedir.
- T-SQL aracılığıyla uzaktan erişim nasıl açılır/kapatılır.
- Veritabanı dosyalarının büyüklüğünü her gün mail ile nasıl alabilirim.
- İki saat arasındaki farkı saat olarak yazdırmak
Microsoft firması .NET Framework 3.0 ile birlikte ADO.NET’in yeni bir versiyonunu yayınlamadı. .NET Framework 3.5 ile birlikte yeni eklentiler kazandırılmış ADO.NET 3.5 sürümü yayınlandı.
Microsoft, ADO.NET 3.5 sürümleriyle birlikte veritabanı uygulama mimarisinde büyük kolaylık sağlayan Object Relational Mapping (O/R Mapping) yöntemini destekleyecek önemli adımlar attı. Bu amaçla ADO.NET Entity Framework aracı geliştirildi. Konunun ayrıntılarına geçmeden önce bu kavramları tanımlayalım ve neden yeni bir yaklaşıma ihtiyaç duyulduğunu açıklayalım. Read the rest of this entry »




Recent Comments