Koray Kırdinli

Yazılım ve İş Yaşamı Hakkında Paylaşımlar

Toad ile şemalar arası veri transferi

  • Toad ile Oracle’da bir tablonun verisi başka şemadaki tabloya aktarmak için:
    Önce işlem görecek iki şemayada bağlanılır.İki şemadaki tablolarda yaratılmış ve aynı kolonlara sahip olmalı. Daha sonra aktarılacak tabloya sağ tıklayıp Copy Data to Another Shema deyip Destination şema seçilir ve EXECUTE denir.
Reklamlar

Mart 29, 2009 Posted by | Oracle | , , | Yorum bırakın

PL SQL Örnek 3 : Tabloya satır no ekleyerek veri aktarma

Bir tablodan diğer bir tabloya tüm datayı satır numarası ekleyerek aktarmak.

INSERT INTO Tablo1 (SELECT  ROWNUM,* FROM TEMP )

Mart 21, 2009 Posted by | Oracle | , , | Yorum bırakın

SQL 2005 de PIVOT kullanımı

Bu yazıda internetteki araştırmalarım sonucunda hoşuma giden veritabanı ve programcılık konusundaki pratikleri paylaşacağım. Bu yazıyı her yeni pratik bulduğumda güncellemeyi düşünüyorum.

1 – SQL Server 2005 ve üzerinde PIVOT-UNPIVOT keywordları ile bir tablodaki sütunları satırlara satırları sütunlara çevirmeniz mümkün.Sql 2000’de bunu yapmak için çok efor sarfetmek gerekiyordu.Performans açısından fazla bir fark olmamasına rağmen kullanım olarak bizlere kolaylık sağladığı kesin.

İki tane tablomuz olsun.Bir tanesi stok kartlarımızı listesin diğeri de bu kart üzerinde yapılan işlemleri listelesin.

CREATE TABLE Stok(
stokkod int,
stokad
)
CREATE TABLE Hareket(
hareketno int,
stokkod int,
fistipi NVARCHAR(30),
deger SQL_VARIANT
)

Şimdi şöyle bir şeye ihtiyacımız olduğunu düşünelim. Her bir fiştipini sütunlarda göstererek şöyle bir tablo elde etmeliyiz
StokAdı -AlımFaturası – SatışFaturası
1                –  200                –  300
2               –  200                – 400

Eski teknikle şöyle bir sorgu yapardık muhtemelen
SELECT
(SELECT SUM(deger) FROM Hareket WHERE fistipi=’Alım Faturası’ AND stokkod=S.Stokkod) As AlimFaturasi,
(SELECT SUM(deger) FROM Hareket WHERE fistipi=’Satış Faturası’ AND stokkod=S.Stokkod) As SatisFaturasi
FROM Stok S

YENİ YÖNTEMLE

SELECT S.*
FROM Hareket
PIVOT
(
SUM( deger )
FOR ozellik IN( [Alım Faturası] , [Satış Faturası] )
) AS S
WHERE StokKod>0

Sorgunun çalışıp çalışmadığını sql server 2005 kurulu olmadığı için deneme fırsatım olmadı ancak burada önemli olan mantığı kavramak ve müşterilere daha anlamlı ve güzel raporlar sunabilmek.

Herkese iyi çalışmalar

Mart 20, 2009 Posted by | MSSql | , , | Yorum bırakın

Yazılım Geliştiriyorum O Halde Varım

Merhabalar bu yazıda yazılım konusunda daha önce edinmiş olduğum bazı tecrübelerimi paylaşmak istedim. Yazılım gerçekten emek ve sabır isteyen ve cidden zor bir iş. Düşününki binlerce satır kod yazıyorsunuz ve program bir yerde hata veriyor ve siz o hatayı binlerce satır kodun içerisinden bulup düzeltiyorsunuz . Veya müşteri istekleri doğrultusunda bir program geliştirdiniz ve müşteri son bir şey istiyor sizden ancak istediği şeyi yapabilmeniz için mevcut yapıyı baştan aşağı değiştirmeniz gerekiyor ve siz büyük bir sabırla bu işlemleri tekrardan yapıyorsunuz. Ya da şirket değiştirdiniz daha önce hep Windows uygulamalarında uzmanlaşmışsınız ancak yeni şirketiniz sizden web projeleri yapmanızı istiyor , tabi geçiş kolay değil ancak bunu da büyük bir sabırla atlatıyorsunuz.Ertesi gün proje yetişmesi lazım ancak daha yapmanız gereken çok iş var ve o gece uyumuyorsunuz ve ertesi gün o kafayla toplantıya giriyorsunuz.

Aslında diğer kişilere yaptığın işi anlatması en zor mesleklerden biri.Müşterilerden eminim şöyle bir söz işitmişsinizdir ; Bunu yapamayacak var ki sadece tablonun şurasına şöyle bir alan açacaksın , bu sırada senin büyün sinirin zıplamış olabilir , müşteriye orayı değiştirmesinin mümkün olmadığı çünkü aralarında ilişkili bir id bulunmadığını anlatıncaya kadar göbeğimiz çatlar.

Gerçekten kötü bir tablo ama hemen karamsarlığa kapılmanıza gerek yok aslında zaten yazılım işine gönül vermişseniz bunların bir çoğunu farkında bile olmadan yapıyorsunuz demektir.

Bir yazılımcı olmanın güzel yanı ise işi bitirdiğinde duyduğun haz olsa gerek.Bütün o yaşadığın stres , yorgunluk müşteriden alınan bir olumlu görüş ile kayboluyor sanki.Hele ki bir firma bütün işlerini sizin yazmış olduğunuz bir yazılımla yürütüyorsa o firmanın sanki patronu sizmiş gibi bir his kaplıyor içinizi J

                Diğer güzel bir yanı ise sürekli değişen teknoloji ve sürekli değişen ihtiyaçlar ve sürekli yeni şeyler öğrenmek. Ben sanmıyorum ki bu kadar hızlı ve sürekli öğrenmenin olduğu başka bir meslek olsun. İnsan gerçekten neyi öğrenmesi gerektiğini şaşırabiliyor.Tabi ki her şeyi öğrenmek mümkün değil ancak bazen insan kaptırıyor kendini ve birçok şeyi bir anda öğrenmeye çalışıyor , kendini hırpalıyor.Örnek ben J

Öyle zamanlarım oluyor ki işte C#’ta daha bilmediğim neler var , daha kaliteli nasıl kod yazarım , design patternleri nasıl projemde uygulayabilirim , uygulamamın performansını nasıl artırabilirim , test nasıl yazarım , java da öğrensem mi , … Bazen hepsi bir anda olsun istiyor insan ve bir anda hiçbir şey yapamadığının ve her şeyin zamanı gelince öğrenildiğini idrak ediyor. Tabi böyle bir genelleme yapılamaz ancak ben ve benim çevremde birkaç kişi en azından böyle bir sorunla zaman zaman karşı karşıya kalıyoruz.

                Aklımdan geçen her projeyi yapmak istiyorsun ancak bir yandan iş , bir yandan öğrenme devam ediyor , bir yandan da o projenin senden önce birisi tarafından yapılmasından korkuyorsun.Böyle bir kısır döngü oluyor. Burada aslında temel olarak üzerinde durmamız gereken iş planını nasıl yapmamız gerektiğidir sanırım. Ancak şunu söyleyebilirim ki en iyi öğrenme yolu proje yapmaktan geçiyor. Örneğin sql öğrenmek için oturup bir kitabı baştan sona da okusanız bu iyi bir öğrenme sayılmaz ne zamanki bir projede çok zor bir sorgu yazmanız gerekti işte o zaman sql’i detaylı öğrenmeye başlıyorsunuz demektir.Tabi ki kitap okumak iyidir ancak temelini verir size detaylar pratiklerle öğrenilir.Hiç bir sql kitabında da zaten 50-100 satırlık bir sorgu örneği vermez , zaten vermesi de anlamsızdır.

                Dediğim gibi aklımda bir sürü proje var ancak yapacak vakit bulmakta zorlanıyorum.PROMANO ismini verdiğim projeyi hayata geçirebilirsem sanırım bu işten gerçek anlamda bir tatmin duygusu hissedeceğim. İnşallah sizlerde bu yazıyı okuduktan sonra ileri bir tarihte bu ismi hatırlarsınız …

Mart 18, 2009 Posted by | Yaşam | , , | Yorum bırakın

ASP.NET web sitesini server da yayınlamak

Merhaba arkadaşlar
Bu yazıda web sitesi geliştirmeye yeni başlamış programcı arkadaşların kendi server’larında web sitelerini nasıl yayınlayabileceklerinden bahsedeceğim.Burada herhangi bir host sağlayıcı değil bize ait bir windows 2003 server kurulu makinada bu işlemi nasıl yapabileceğimizden bahsedeceğim.

1. Öncelikle ASP.NET ile projenizi geliştirdiyseniz server makinemizde de bir framework yüklü olmak zorunda. Örneğin geliştirdiğiniz makinede Framework 2.0 yüklü ise server’ada Framework 2.0’ı yüklemeniz gerekmektedir.

2. Web siteniz bir database bağlantısına ihtiyaç duyuyorsa örneğin SQL Server 2000’de geliştirmişseniz serverda da SQL Server 2000 yüklü olması gerekiyor ve ayrıca localinizdeki database dosyalarını servera import etmeniz gerekecektir

3. .NET ortamında web sitemize sağ tıklayıp Publish Web Site diyerek (Tabi bunu release modda yapmakta yarar var) herhangi bir klasörü hedef gösterip publish işlemini yapıyoruz ve bu işlem sonucunda kod sayfalarından arındırılmış ve yayınlamaya hazır bir site içeriğini .NET bize sağlamış oluyor.

4. Server’da bize gerekli olan bir diğer program ise IIS(Internet Information Server). Bu da web sitemizi yayınlamamızı sağlayacak asıl programdır.Publish ettiğimiz siteyi serverda bir klasöre yapıştırıyoruz.IIS’a New Site diyerek yeni bir web sitesi oluşturuyoruz ve publish edilen  siteyi hedef gösteriyoruz.

5. Gerekli port ,default page ve izin ayarlarını yaptıktan sonra RUN diyip web sitemizi yayına sokmuş oluyoruz. Tabi siteye verdiğimiz port numarasının adsl modemde internete açık olması gerekiyor aksi taktirde başka ağdan buraya erişemeyiz.

6. Herşeyi tamamladıktan sonra ip numarasını ve portu browser’a yazıp sitemize erişebiliriz
http://172.21.245.203:84/ gibi

Mart 18, 2009 Posted by | ASP.NET, IIS | , , | Yorum bırakın