Linux üzerinde çalışırken php, mysql, apache nin son sürümlerini kurmak istediğinizde depodan size en uygun olanı indirtiyorlar.
sudo apt-get install apache2
sudo apt-get install php5
Sıfır kurulum için tamam. Ama ya bu kurduğunuz versiyonu upgrade yada downgrade etmek istiyorsanız yada bu sürüm yerine son stabil olanı kullanmak istiyorsanız ?
O zaman yapılacaklar 2 ye ayrılıyor. Ya elle bunları deryeleceksiniz yada paket yöneticinizden ayarları değiştirip hangi durumda olan sürümü istediğiniz belirteceksiniz.
Kolay olan paket yöneticinizden indirdiğiniz dosyaların tipini değiştirmek.
Bende ubuntu var onun üzerinden gidersek ;
PHP kurulu version PHP Version 5.2.3-1ubuntu6
nano /etc/apt/sources.list dersek
ikinci satıra ;
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all
yazın.
sudo apt-get update -- böylece stable relase ler bulunacak
sudo apt-get install php5
yazınca zaten php5 kurulu olduğu için upgrade yapıp yapmak istemediğimizi soracak.
Y deyip geçiyoruz.
Tekrar bir soru gene "y"
işlem bitince php yi kontrol ediyoruz.
PHP Version 5.2.6-0.dotdeb.1
30 Kasım 2008 Pazar
26 Kasım 2008 Çarşamba
Operation must use an updateable query. Microsoft JET Database Engine error '80004005'
"Microsoft JET Database Engine error '80004005'Operation must use an updateable query."
Access veritabanında update/insert/delete işlemi yapmak istediğiniz bu hatayı alabilirsiniz. Sebebi veritabanına yazma yetkisi olmayışıdır. Veritabanına sağ tıklayıp hangi user ile işlem yapıyorsanız ona yetki verin.
Ben bu komutu sitede çalıştırdığımız için "IISUser" için yazma yetkisi verdim.
Access veritabanında update/insert/delete işlemi yapmak istediğiniz bu hatayı alabilirsiniz. Sebebi veritabanına yazma yetkisi olmayışıdır. Veritabanına sağ tıklayıp hangi user ile işlem yapıyorsanız ona yetki verin.
Ben bu komutu sitede çalıştırdığımız için "IISUser" için yazma yetkisi verdim.
20 Kasım 2008 Perşembe
Sql Server Bütün Veritabanlarının Yedeğini Alma
Sql Server Yedek Alma
http://www.mssqltips.com/tip.asp?tip=1070
Diğer bir yöntem Maintanence Plan yapma. Bunun için Sql Agent Job servisinin açık olması gerekiyor.
http://www.mssqltips.com/tip.asp?tip=1016
http://www.mssqltips.com/tip.asp?tip=1070
DECLARE @name VARCHAR(50) -- database name
DECLARE @path VARCHAR(256) -- path for backup files
DECLARE @fileName VARCHAR(256) -- filename for backup
DECLARE @fileDate VARCHAR(20) -- used for file name
SET @path = 'C:\Backup\'
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name NOT IN ('master','model','msdb','tempdb')
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @name
WHILE @@FETCH_STATUS = 0
BEGIN
SET @fileName = @path + @name + '_' + @fileDate + '.BAK'
BACKUP DATABASE @name TO DISK = @fileName
FETCH NEXT FROM db_cursor INTO @name
END
CLOSE db_cursor
DEALLOCATE db_cursor
Diğer bir yöntem Maintanence Plan yapma. Bunun için Sql Agent Job servisinin açık olması gerekiyor.
http://www.mssqltips.com/tip.asp?tip=1016
19 Kasım 2008 Çarşamba
Zend Studio For Eclipse Kullanım Kılavuzu -1
Daha önce Zend in eski surumunu kullaniliyordum cokda alismistim açıkcası. Ama yeni Zend de gayet güzel ve daha çok özellikleri var.
Fırsat buldukça size bunları anlatacağım.
Aşağıdaki işlemlerin hepsi proje açıldıktan sonra yapılmıştır ;
Öncelikle CVS ayarları ;
Windows/ Open Perspective / Other / CVS Repository Exploring

Fırsat buldukça size bunları anlatacağım.
Aşağıdaki işlemlerin hepsi proje açıldıktan sonra yapılmıştır ;
Öncelikle CVS ayarları ;
Windows/ Open Perspective / Other / CVS Repository Exploring
---------------------------------------------------
Zend Studio For Eclipse BAckround ayarlarını değiştirme ve renklendirme
Window /Preferences / General / Editors/ Text Editors
-----
Genel olarak renk ayarlarini yapmak için yukarda "Syntax Coloring" olarak aratmanız
yeterli olacaktır.
8 Kasım 2008 Cumartesi
SSIS Paketi Kullanmak
SSIS Paketi Kullanmak;
Bu dökümanda sizlere basit bir ssis paketi yazmayı anlatacağım. Burda yaptıklarım aslında mantık olarak tamamen doğru olduğu için değil daha fazla araç kullanmak için yapılmıştır. Ne dediğimi dökümanı okudukça anlayacaksınız ;
Döküman : http://docs.google.com/View?docid=dgndh2qr_51f9t29tc7
Uygulama : http://www.volkanaltan.com/Dokumanlar/ssis_kullanmak.zip
Paket Şifresi : 123456
SSIS bir veri kaynağından (Veritabanı,Dosya vs..) verilerin alınıp arada istenirse işlemlere tabi tutularak
başka bir veri kaynağına aktarılmasıdır. Biz bunu yaparken Visul Studio 2005 kullanacagiz.
Öncelikle konuyu iyi kavrayabilmek için bir senaryo yazalım. Onun üzerine projemizi yapalım.
Soru : İçindeki dataları aynı olan fakat bazen birinden fazla diğerinde eksik veya tersi durumların olduğu İki farklı veritabanı arasında tablo bazlı senkornizasyon işlemi nasıl yapılır ?
Öncelik soru biraz karışık gözüktüğü için tesbit yapalım.
Local_db ve Remote_db iki veritabanı. Bu veritabanlarının localde bir yerde olduğunu varsayıyoruz.
A1 ve B1 tabloları için mevcut datalar aşağıdaki gibidir.
Local_db .A1 Remote_db .A1
1 1
2 2
7 5
8
9
Bunların eşitenmesi için A1 deki fazla datanın B1’ e, B1 deki fazlaların (varsa) A1’e geçilmesi gerekiyor.
Burdaki veritabanları farklı serverlarda bulunuyor. Bunlara ulaşmak için Linked Server (Daha önce anlatmıştık.) kullanabiliriz. O zaman bu işlem için şu şekilde bir Sql cümleciği yazmamız gerekicekti.
Yukardaki sorgu bize şöyle bir sonuç verecektir.

Bizim istediğimiz ise Local db de olan fakat remote db de olmayan dataları Remote Db ’ ye girmek.
Bunun için Locale A Remote a B dersek. A-(A∩B) yapiyoruz. (A tablosundan A kesişim B yi çıkartıyoruz, sadece B’ de olan datalar bize kalıyor.)

Görüldüğü üzere B ‘ ye girmemiz gereken datalar ortaya çıktı. Şimdi bunu tam işe yarar hale getiriyoruz.
Çalıştırınca “(3 row(s) affected)” yazısı çıkıyor. İşlem başarılı.
Şimdi bu yaptığımız işlemde yazdığımız Sql cümleciğini SSIS kullanarak yapacağız.
Önce proje oluşturuluyor.
....
Bu dökümanda sizlere basit bir ssis paketi yazmayı anlatacağım. Burda yaptıklarım aslında mantık olarak tamamen doğru olduğu için değil daha fazla araç kullanmak için yapılmıştır. Ne dediğimi dökümanı okudukça anlayacaksınız ;
Döküman : http://docs.google.com/View?docid=dgndh2qr_51f9t29tc7
Uygulama : http://www.volkanaltan.com/Dokumanlar/ssis_kullanmak.zip
Paket Şifresi : 123456
SSIS (SQL Server Integration Services)
SSIS bir veri kaynağından (Veritabanı,Dosya vs..) verilerin alınıp arada istenirse işlemlere tabi tutularak
başka bir veri kaynağına aktarılmasıdır. Biz bunu yaparken Visul Studio 2005 kullanacagiz.
Öncelikle konuyu iyi kavrayabilmek için bir senaryo yazalım. Onun üzerine projemizi yapalım.
Soru : İçindeki dataları aynı olan fakat bazen birinden fazla diğerinde eksik veya tersi durumların olduğu İki farklı veritabanı arasında tablo bazlı senkornizasyon işlemi nasıl yapılır ?
Öncelik soru biraz karışık gözüktüğü için tesbit yapalım.
Local_db ve Remote_db iki veritabanı. Bu veritabanlarının localde bir yerde olduğunu varsayıyoruz.
A1 ve B1 tabloları için mevcut datalar aşağıdaki gibidir.
Local_db .A1 Remote_db .A1
1 1
2 2
7 5
8
9
Bunların eşitenmesi için A1 deki fazla datanın B1’ e, B1 deki fazlaların (varsa) A1’e geçilmesi gerekiyor.
Burdaki veritabanları farklı serverlarda bulunuyor. Bunlara ulaşmak için Linked Server (Daha önce anlatmıştık.) kullanabiliriz. O zaman bu işlem için şu şekilde bir Sql cümleciği yazmamız gerekicekti.
Select Ldb.*,Rdb.* From local_db.dbo.A Ldb
left join remote_db.dbo.A Rdb ON Rdb.PrID = Ldb.PrID
Yukardaki sorgu bize şöyle bir sonuç verecektir.

Bizim istediğimiz ise Local db de olan fakat remote db de olmayan dataları Remote Db ’ ye girmek.
Bunun için Locale A Remote a B dersek. A-(A∩B) yapiyoruz. (A tablosundan A kesişim B yi çıkartıyoruz, sadece B’ de olan datalar bize kalıyor.)
Select Ldb.*,Rdb.* From local_db.dbo.A Ldb
left join remote_db.dbo.A Rdb ON Rdb.PrID = Ldb.PrID
WHEre Rdb.PrID is null

Görüldüğü üzere B ‘ ye girmemiz gereken datalar ortaya çıktı. Şimdi bunu tam işe yarar hale getiriyoruz.
INSERT INTO Remote_db.A (PrID)
Select Ldb.PrID From local_db.dbo.A Ldb
left join remote_db.dbo.A Rdb ON Rdb.PrID = Ldb.PrID
WHEre Rdb.PrID is null
Çalıştırınca “(3 row(s) affected)” yazısı çıkıyor. İşlem başarılı.
Şimdi bu yaptığımız işlemde yazdığımız Sql cümleciğini SSIS kullanarak yapacağız.
Önce proje oluşturuluyor.
....
7 Kasım 2008 Cuma
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: no parameters were bound' in
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: no parameters were bound' in diye uzar gider bu hata.
Zend Framework içindeki Zend_Table yapısını kullandığınızda eğer PHP sürümünüz
5.1.2 ve altındaysa bu hatayla karşılaşmanız muhemel. Türkçe karakterlerde sorun çıkartıyor.
ı,ö,ü,ş,ğ,ç vs..
Ben sp içinde data insert ederken bu hatayı aldım.
Çözüm olarak PHP sürümü yükselttik sorun çözüldü. (php 5.2.6)
Zend Framework içindeki Zend_Table yapısını kullandığınızda eğer PHP sürümünüz
5.1.2 ve altındaysa bu hatayla karşılaşmanız muhemel. Türkçe karakterlerde sorun çıkartıyor.
ı,ö,ü,ş,ğ,ç vs..
Ben sp içinde data insert ederken bu hatayı aldım.
Çözüm olarak PHP sürümü yükselttik sorun çözüldü. (php 5.2.6)
Sql Server 2005 Data Compare
Sql Server 2005 de Data Compare yapmak için kendi içindeki bir aracı kullanabilirsiniz.
Ama bunu sizin yerinize kolaylaştırmışlar. Oldukça da güzel.
TableDiffGui
Burda da yorumları okuyabilirsiniz.
http://weblogs.sqlteam.com/mladenp/archive/2007/08/10/60279.aspx
Ama bunu sizin yerinize kolaylaştırmışlar. Oldukça da güzel.
TableDiffGui
Burda da yorumları okuyabilirsiniz.
http://weblogs.sqlteam.com/mladenp/archive/2007/08/10/60279.aspx
php xml parser error : 4
Php xml parser error : 4
Almasi zor bir hata :)
Bu hatayi aliyorsaniz çektiğiniz datanın unicodunda bir terslik var demektir . Data eksik veya hatalı okunuyordur.
Muhtemelende file_get_content fonksiyonu kullandiginizda veya fopen de karsinize çıkmış olabilir.
Bunu engellemek için ;
http://tr2.php.net/manual/en/function.file-get-contents.php#85008
Almasi zor bir hata :)
Bu hatayi aliyorsaniz çektiğiniz datanın unicodunda bir terslik var demektir . Data eksik veya hatalı okunuyordur.
Muhtemelende file_get_content fonksiyonu kullandiginizda veya fopen de karsinize çıkmış olabilir.
Bunu engellemek için ;
function file_get_contents_utf8($fn) {
$content = file_get_contents($fn);
return mb_convert_encoding($content, 'UTF-8',
mb_detect_encoding($content, 'UTF-8, ISO-8859-1', true));
}
http://tr2.php.net/manual/en/function.file-get-contents.php#85008
4 Kasım 2008 Salı
Login failed for user 'volkan'. The user is not associated with a trusted SQL Server connection. (Microsoft SQL Server, Error: 18452)
Login failed for user 'volkan'. The user is not associated with a trusted SQL Server connection.
(Microsoft SQL Server, Error: 18452)
Sql Server 2005 de login olmak istediğinizde bu hatayı alıyorsanız sebebi Login modun uygun olmamasıdır. Bunun için;
Microsofta bakabilirsiniz.
http://support.microsoft.com/kb/555332
Ayrıca , MSSMS ile Databse bağlantısı açtıktan sonra ( win authentication)
1. üzerine sağ tıklayıp Property
2. Security
3. Server authentication mode : SQL Server and Windows Authentication mode seçin.
4. Login auditing : Failed logins only
5. Sql serveri yeniden başlatın.
(Microsoft SQL Server, Error: 18452)
Sql Server 2005 de login olmak istediğinizde bu hatayı alıyorsanız sebebi Login modun uygun olmamasıdır. Bunun için;
Microsofta bakabilirsiniz.
http://support.microsoft.com/kb/555332
Ayrıca , MSSMS ile Databse bağlantısı açtıktan sonra ( win authentication)
1. üzerine sağ tıklayıp Property
2. Security
3. Server authentication mode : SQL Server and Windows Authentication mode seçin.
4. Login auditing : Failed logins only
5. Sql serveri yeniden başlatın.
Kaydol:
Kayıtlar (Atom)