Diyelim ki bilgisayarınızda antivirüs programlarını bulamadığı bir virüs olduğunu düşünüyorsunuz.
kendinizce bazı dosyaları da buldunuz, fakat tanımlayamıyorsunuz. Bu durumda dosyanın ne olduğunu belirlemek gerek. Belki de bir sistem dosyasıdır da siz bilmiyorsunuzdur.
Her zaman lazım olabilir, lazım olmaması dileğiyle :)
Detaylı bilgi için
19 Eylül 2007 Çarşamba
İngilizce ofis 2003 için türkçe yazım denetimi
C:\Program Files\Common Files\Microsoft Shared\PROOF altında
bu aşağıda adı yazılan 4 dosyayı atıp, word içinden default dil ayarlarını türkçe seçmeniz yeterli.
İngilizce ofis Türkçe dil denetimini de yapabilir hale geliyor. Dosya isimleri şöyle:
MSSP3TR.LEX
MSSP3TR.DLL
MSTH3TR.LEX
MSTH3TR.DLL
indirmek için buraya tıklayabilirsiniz.
bu aşağıda adı yazılan 4 dosyayı atıp, word içinden default dil ayarlarını türkçe seçmeniz yeterli.
İngilizce ofis Türkçe dil denetimini de yapabilir hale geliyor. Dosya isimleri şöyle:
MSSP3TR.LEX
MSSP3TR.DLL
MSTH3TR.LEX
MSTH3TR.DLL
indirmek için buraya tıklayabilirsiniz.
Exchange 2003 üzerinde database ve log yönetimi
Exchange 2003 üzerinde log dosyaları oldukça büyük yerler tutabilir. Bu nedenle log fileların doğru olarak yapılandırılması gerekiyor.
Küçük boyuttaki bir sistem partitionı üzerinde büyüyen log dosyaları kısa sürede olmasa bile uzun vadede sorun yaşamamıza sebep olacaktır.
Bu nedenle log dosyalarının lokasyonlarını doğru olarak yapılandırmak gerekiyor.
Bu sorunu yaşamamak için uygulabileceğimiz bir kaç yöntem var.
Bunlardan biri circular logging.
Diğer yöntem ise mdbdata ve database klösürünün farklı ve daha büyük bir partitiona konumlandırılması ve sistem üzerinde full yedek alınması.
Circular logging ile ilgili detaylı açıklamayı buradan izleyebilirsiniz.
Exchange üzerinde database dosyası genelde farklı bir partionda konumlandırılır. Fakat log dosyaları bazen unutulabiliyor. Bu durumda çalışan bir sistemde log dosyalarının konumunun değiştirilmesi gerekir. Bu işlem hakkında detaylı açıklamayı yine buradan izlemeniz mümkün.
Burda dikkat edilecek husus taşıma aşamasında exchange servisinin çalışmaya devam etmesi ile birlikte kullanıcıları maillerine erişilemeyeceği.
Küçük boyuttaki bir sistem partitionı üzerinde büyüyen log dosyaları kısa sürede olmasa bile uzun vadede sorun yaşamamıza sebep olacaktır.
Bu nedenle log dosyalarının lokasyonlarını doğru olarak yapılandırmak gerekiyor.
Bu sorunu yaşamamak için uygulabileceğimiz bir kaç yöntem var.
Bunlardan biri circular logging.
Diğer yöntem ise mdbdata ve database klösürünün farklı ve daha büyük bir partitiona konumlandırılması ve sistem üzerinde full yedek alınması.
Circular logging ile ilgili detaylı açıklamayı buradan izleyebilirsiniz.
Exchange üzerinde database dosyası genelde farklı bir partionda konumlandırılır. Fakat log dosyaları bazen unutulabiliyor. Bu durumda çalışan bir sistemde log dosyalarının konumunun değiştirilmesi gerekir. Bu işlem hakkında detaylı açıklamayı yine buradan izlemeniz mümkün.
Burda dikkat edilecek husus taşıma aşamasında exchange servisinin çalışmaya devam etmesi ile birlikte kullanıcıları maillerine erişilemeyeceği.
6 Ağustos 2007 Pazartesi
TCMB üzerinden döviz kurlarını almak ASP.net 2.0
Asp.net 2.0 ile oluşturacağımız yeni projede dil olarak VB seçip default.aspx ve default.aspx.vb isimli dosyalarımızı oluşturuyoruz. Daha sonra default.aspx üzerine label1 ve label2 isimli kontrollerimizi ekliyoruz.
aşağıdaki kodu kod dosyasına kopyalıyoruz. Sonuç olarak c:\doviz.sql isimli dosyaya basit bir insert statement kaydedecektir. istersek scheduler tasks üzerinden bunu database'e insert edebiliriz. bu kod 1.1 için çalışmak üzere yazılmıştır biraz modifiye ettim o kadar.
Imports System
Imports System.IO
Imports System.Text
Partial Class Default2
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Label1.Text = "insert into t_dovkur (dovkod, tarih, birim, doval, dovsat, efkal, efksat) values ("
Label1.Text += "'USD', '" + Today.Date + "', 1 ," + fnDovizKurlari(1, 1)
+ "," + fnDovizKurlari(1, 2) + " ," + fnDovizKurlari(1, 3) + ","
+ fnDovizKurlari(1, 4) +");"
Label2.Text = "insert into t_dovkur (dovkod, tarih, birim, doval, dovsat, efkal, efksat) values ("
Label2.Text += "'EUR', '" + Today.Date + "', 1 ," + fnDovizKurlari(2, 1)
+ "," + fnDovizKurlari(2, 2) + " ," + fnDovizKurlari(2, 3) + ","
+ fnDovizKurlari(2, 4) + '' );"
'Open a file for writing
Dim FILENAME As String = "c:\doviz.sql"
'Get a StreamReader class that can be used to read the file
Dim objStreamWriter As IO.StreamWriter
objStreamWriter = File.CreateText(FILENAME)
'Append the the end of the string, "A user viewed this demo at: "
'followed by the current date and time
objStreamWriter.WriteLine(Label1.Text)
objStreamWriter.WriteLine(Label2.Text)
'eger database icin gorevleyeceksek kullanabiliriz.
'objStreamWriter.WriteLine("Commit;")
'objStreamWriter.WriteLine("exit;")
'Close the stream
objStreamWriter.Close()
End Sub
Public Function fnDovizKurlari(ByVal strDoviz As String, ByVal strBicim As String)
Select Case strBicim
Case "1"
strBicim = "ForexBuying"
Case "2"
strBicim = "ForexSelling"
Case "3"
strBicim = "BanknoteBuying"
Case "4"
strBicim = "BanknoteSelling"
Case Else
strBicim = "ForexBuying"
End Select
Select Case strDoviz
Case "1"
strDoviz = "USD"
Case "2"
strDoviz = "EUR"
Case Else
strDoviz = "EUR"
End Select
Dim xmlOku As New System.Xml.XmlTextReader("http://www.tcmb.gov.tr/kurlar/today.xml")
Dim xmlBelge As New System.Xml.XmlDocument
xmlBelge.Load(xmlOku)
Dim xmlParca As System.Xml.XmlNodeList = xmlBelge.SelectNodes("/Tarih_Date/Currency[@Kod ='" + strDoviz + "']/" + strBicim)
Return xmlParca.Item(0).InnerXml.ToString
End Function
End Class
aşağıdaki kodu kod dosyasına kopyalıyoruz. Sonuç olarak c:\doviz.sql isimli dosyaya basit bir insert statement kaydedecektir. istersek scheduler tasks üzerinden bunu database'e insert edebiliriz. bu kod 1.1 için çalışmak üzere yazılmıştır biraz modifiye ettim o kadar.
Imports System
Imports System.IO
Imports System.Text
Partial Class Default2
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Label1.Text = "insert into t_dovkur (dovkod, tarih, birim, doval, dovsat, efkal, efksat) values ("
Label1.Text += "'USD', '" + Today.Date + "', 1 ," + fnDovizKurlari(1, 1)
+ "," + fnDovizKurlari(1, 2) + " ," + fnDovizKurlari(1, 3) + ","
+ fnDovizKurlari(1, 4) +");"
Label2.Text = "insert into t_dovkur (dovkod, tarih, birim, doval, dovsat, efkal, efksat) values ("
Label2.Text += "'EUR', '" + Today.Date + "', 1 ," + fnDovizKurlari(2, 1)
+ "," + fnDovizKurlari(2, 2) + " ," + fnDovizKurlari(2, 3) + ","
+ fnDovizKurlari(2, 4) + '' );"
'Open a file for writing
Dim FILENAME As String = "c:\doviz.sql"
'Get a StreamReader class that can be used to read the file
Dim objStreamWriter As IO.StreamWriter
objStreamWriter = File.CreateText(FILENAME)
'Append the the end of the string, "A user viewed this demo at: "
'followed by the current date and time
objStreamWriter.WriteLine(Label1.Text)
objStreamWriter.WriteLine(Label2.Text)
'eger database icin gorevleyeceksek kullanabiliriz.
'objStreamWriter.WriteLine("Commit;")
'objStreamWriter.WriteLine("exit;")
'Close the stream
objStreamWriter.Close()
End Sub
Public Function fnDovizKurlari(ByVal strDoviz As String, ByVal strBicim As String)
Select Case strBicim
Case "1"
strBicim = "ForexBuying"
Case "2"
strBicim = "ForexSelling"
Case "3"
strBicim = "BanknoteBuying"
Case "4"
strBicim = "BanknoteSelling"
Case Else
strBicim = "ForexBuying"
End Select
Select Case strDoviz
Case "1"
strDoviz = "USD"
Case "2"
strDoviz = "EUR"
Case Else
strDoviz = "EUR"
End Select
Dim xmlOku As New System.Xml.XmlTextReader("http://www.tcmb.gov.tr/kurlar/today.xml")
Dim xmlBelge As New System.Xml.XmlDocument
xmlBelge.Load(xmlOku)
Dim xmlParca As System.Xml.XmlNodeList = xmlBelge.SelectNodes("/Tarih_Date/Currency[@Kod ='" + strDoviz + "']/" + strBicim)
Return xmlParca.Item(0).InnerXml.ToString
End Function
End Class
Etiketler:
asp.net,
döviz kurları,
TCMB
4 Ağustos 2007 Cumartesi
Oracle EM (Enterprise Manager) üzerinde export/import işlemindeki hata
Oracle EM üzerinde normal kullanıcı veya SYS kullanıcısının export/import işlemlerini yapabilmesi için Preferred Credential host username, password bilgilerini girmek gerekiyor. burda hosta ait kullanıcı ve şifreyi doğru girseniz de çalışmıyor. bunun için yapılması gerekenler şöyle :
You have to provide the 'Log on as a batch job' privilege:
1. Go to control panel/administrative tools
a. click on "local security policy"
b. click on "local policies"
c. click on "user rights assignments"
d. double click on "log on as a batch job"
e. click on "add" and add the user that was entered in the "normal username" or "privileged username" section of the EM Console.
2. Go to the Preferences link in the EM GUI
a. click on Preferred Credentials (link on the left menu)
b. under "Target Type: Host" click on "set credentials"
c. enter the OS user who has logon as a batch job privilege into the "normal username" and "normal password" fields
3. Test the connection
a. while in the Set Credentials window, click on "Test"
Aslında bu yöntemde Türkçe Windows XP Pro SP2 üzerinde çalışmadı. Dil ayarları English olduğu halde yine çalışmadı.
Çalıştırmayı başardığım andan Türkçe sistemde içinde uygun yöntemi paylaşacağım.
Ayrıntı bilgi ve diğer dillerdeki sonuçlar için :
http://www.orafaq.com/forum/t/45729/0/
http://forums.oracle.com/forums/thread.jspa?threadID=305172&start=45&tstart=0
You have to provide the 'Log on as a batch job' privilege:
1. Go to control panel/administrative tools
a. click on "local security policy"
b. click on "local policies"
c. click on "user rights assignments"
d. double click on "log on as a batch job"
e. click on "add" and add the user that was entered in the "normal username" or "privileged username" section of the EM Console.
2. Go to the Preferences link in the EM GUI
a. click on Preferred Credentials (link on the left menu)
b. under "Target Type: Host" click on "set credentials"
c. enter the OS user who has logon as a batch job privilege into the "normal username" and "normal password" fields
3. Test the connection
a. while in the Set Credentials window, click on "Test"
Aslında bu yöntemde Türkçe Windows XP Pro SP2 üzerinde çalışmadı. Dil ayarları English olduğu halde yine çalışmadı.
Çalıştırmayı başardığım andan Türkçe sistemde içinde uygun yöntemi paylaşacağım.
Ayrıntı bilgi ve diğer dillerdeki sonuçlar için :
http://www.orafaq.com/forum/t/45729/0/
http://forums.oracle.com/forums/thread.jspa?threadID=305172&start=45&tstart=0
Oracle10g, Enterprise Manager üzerinde normal kullanıcı logini
Oracle 10g üzerinde normal kullanıcıların EM (Enterprise Manager) üzerinde login olabilmesi için usera SELECT ANY DICTIONARY veya SELECT_CATALOG_ROLE yetkilerinden birinin verilmesi gerekir. aski halde user
"The application requires more database privileges than you have currently been granted"
şeklinde bir hata alacaktır. bu yetkiden sonra normal bir user EM' üzerinden login olabilir.
bununla birlikte bu yetkileri vermenin de ne kadar gerekli olduğunu düşünmek gerek.
http://www.orafaq.com/forum/t/85708/0/
"The application requires more database privileges than you have currently been granted"
şeklinde bir hata alacaktır. bu yetkiden sonra normal bir user EM' üzerinden login olabilir.
bununla birlikte bu yetkileri vermenin de ne kadar gerekli olduğunu düşünmek gerek.
http://www.orafaq.com/forum/t/85708/0/
Etiketler:
EM,
normal login,
oracle
3 Ağustos 2007 Cuma
Out of Office not enough memory hatası
Eğer Microsoft Office outlook üzerinde out of office' i aktif etmek isteğinizde
"Changes to the rule could not be saved. There is not enough memory or the rules are too complex, try deleting some rules."
böyle bir hata ile karşılaşırsanız. bunun nedeni kural eklerken kişi başına sınırlanmış 32 KB lık kural alanı sınırıdır. Bundan kurtulmak için silinmiş gibi görünen ama silinmeyen ve 32KB kıymetli alanımızı işgal eden kuralları tamamen silinmesi sağlamamız gerekiyor.
Server üzerinde bu alanda bulunanları görmek için microsfotun bir toolu var
Microsoft Exchange Server Information Store Viewer (MDBVU32)
http://www.microsoft.com/downloads/details.aspx?FamilyID=3D1C7482-4C6E-4EC5-983E-127100D71376&displaylang=en
ayrıca en kalıcı yöntem de outlook.exe yi /cleanrules parametresi ile açmak
böylece bütün kurallar siliniyor ve 32KB lik alan tamamen boşaltılıyor. tabiki bunu yapmadan önce kurallarınızı yedeklemeyi unutmayın.
kolay gelsin.
"Changes to the rule could not be saved. There is not enough memory or the rules are too complex, try deleting some rules."
böyle bir hata ile karşılaşırsanız. bunun nedeni kural eklerken kişi başına sınırlanmış 32 KB lık kural alanı sınırıdır. Bundan kurtulmak için silinmiş gibi görünen ama silinmeyen ve 32KB kıymetli alanımızı işgal eden kuralları tamamen silinmesi sağlamamız gerekiyor.
Server üzerinde bu alanda bulunanları görmek için microsfotun bir toolu var
Microsoft Exchange Server Information Store Viewer (MDBVU32)
http://www.microsoft.com/downloads/details.aspx?FamilyID=3D1C7482-4C6E-4EC5-983E-127100D71376&displaylang=en
ayrıca en kalıcı yöntem de outlook.exe yi /cleanrules parametresi ile açmak
böylece bütün kurallar siliniyor ve 32KB lik alan tamamen boşaltılıyor. tabiki bunu yapmadan önce kurallarınızı yedeklemeyi unutmayın.
kolay gelsin.
Etiketler:
exchange,
mdbvu32,
out of office,
too complex
19 Temmuz 2007 Perşembe
Oracle, Ms Sql Farklılıkları (copy, insert)
Oracle ve MS-SQL dek bazı farklılıklar
Bir tablodaki tüm verileri veya bazı alanları başka bir tabloya aktarmak için
Oracle:
insert into table1 (select * from table2) ;
eğer tablo yapıları biribir aynı ise bu yapı çalışacaktır. Eğer tablo yapıları farklı ise alanları belirtelerek sql cümleciğini çalıştırabiliriz.
MS-SQL:
insert into table 1 select * from table2;
eğer alan belirlememiz gerekiyorsa
insert into table1 field1, field2 .. values select field1, field2 from table
Bir tabloyu verileriyle birlikte kopyalamak istiyorsak
Oracle
create table2 as select * from table1 where ...
MS-SQL
select * into table2 from table1 where ....
Bir tablodaki tüm verileri veya bazı alanları başka bir tabloya aktarmak için
Oracle:
insert into table1 (select * from table2) ;
eğer tablo yapıları biribir aynı ise bu yapı çalışacaktır. Eğer tablo yapıları farklı ise alanları belirtelerek sql cümleciğini çalıştırabiliriz.
MS-SQL:
insert into table 1 select * from table2;
eğer alan belirlememiz gerekiyorsa
insert into table1 field1, field2 .. values select field1, field2 from table
Bir tabloyu verileriyle birlikte kopyalamak istiyorsak
Oracle
create table2 as select * from table1 where ...
MS-SQL
select * into table2 from table1 where ....
1 Haziran 2007 Cuma
Insert a swf file to powerpoint presentation
Copy your SWF file to the same folder as your saved blank or existing presentation. Within PowerPoint, navigate to the slide where you want to insert a Flash SWF movie.
- If the Control Toolbox is not already visible within your PowerPoint interface, point to Toolbars on the View menu, and then click Control Toolbox. (see screenshot below):
- Within the Control Toolbox, click More Controls (bottom right icon). This will open a drop down menu - choose Shockwave Flash Object. Naturally, the Shockwave Flash control must be installed on your computer for the Shockwave Flash Object to be listed in the Control Toolbox.
- Your cursor will change into a cross-hair - draw a rectangle anywhere on screen - don't bother about the size and location now - we'll take care of that later.
- Right-click the inserted Shockwave Flash control, and then click Properties in the resultant flyout menu.
- You'll find a "..." within the cell next to the 'Custom' option (usually the topmost option). Clicking this will open the Property Pages dialog box.
- Within the movie option, type the name of the movie without any path (since it is saved within the same folder as the presentation). Alternatively, you can type an entire URL within the box to access a SWF live from the Internet. Make sure that the Playing property is set to True - you can experiment with other options as well (see screenshot below):
18 Mayıs 2007 Cuma
ASP.NET 1.1 ve 2.0 da yazılmış uygulamaları aynı ortamda çalıştırmak
.NET framework 2.0 ve 1.1 versiyonlarının aynı makina üzerinde kurulmasında bir sakınca yoktur. Bu zaten bilinen bir şey. Önce 1.1 kururarsınız sonra 2.0 kurarsınız. 2.0 versiyonu kurulduktan sonra default olarak atanır ve uygulamalarınızı çalıştırabilirsiniz.
Peki default olarak 2.0 üzerinde çalışan bir uıygulamamız olsun (www.abc.com)
bu uygulama altında bir virtual directoryde bulunan uygulamanızı (www.abc.com/ab)
1.1 de nasıl çalıştıracaksınız.
Bunun için yapmanız gereken farklı bir Application pool oluşturmak. Böylece kök 2.0'da çalışsa bile altındaki dizin 1.1 de çalışabiliyor. özellikle farklı versiyonlarda geliştirilmiş uygulamaları bir çatı altında toplamak için ideal bir yol.
Ayrıntılı bilgi için :
http://blogs.msdn.com/david.wang/archive/2005/11/07/HOWTO-Install-and-Run-ASP-Net-20-Side-by-Side.aspx
Peki default olarak 2.0 üzerinde çalışan bir uıygulamamız olsun (www.abc.com)
bu uygulama altında bir virtual directoryde bulunan uygulamanızı (www.abc.com/ab)
1.1 de nasıl çalıştıracaksınız.
Bunun için yapmanız gereken farklı bir Application pool oluşturmak. Böylece kök 2.0'da çalışsa bile altındaki dizin 1.1 de çalışabiliyor. özellikle farklı versiyonlarda geliştirilmiş uygulamaları bir çatı altında toplamak için ideal bir yol.
Ayrıntılı bilgi için :
http://blogs.msdn.com/david.wang/archive/2005/11/07/HOWTO-Install-and-Run-ASP-Net-20-Side-by-Side.aspx
Etiketler:
application pool,
asp.net,
IIS
27 Nisan 2007 Cuma
Uninstall Symantec Corporate edition without password
To remove Symantec Antivirus without using a password:
1) Use Regedit
2) HKEY_LOCAL_MACHINE\SOFTWARE\INTEL\LANDesk\VirusProtect6\CurrentVersion\Administrator Only\Security\
3) Change the value for this key from 1 to 0
useVPuninstallpassword
4) Close the registry and retry the uninstall
1) Use Regedit
2) HKEY_LOCAL_MACHINE\SOFTWARE\INTEL\LANDes
3) Change the value for this key from 1 to 0
useVPuninstallpassword
4) Close the registry and retry the uninstall
10 Nisan 2007 Salı
Linux üzerinde Oracle destekli PHP derleme
Merhaba,
Bu yazımda, üzerinde Oracle veya Oracle Client kurulu bir Linux sistemde PHP' yi OCI fonksiyonlarını kullanacak şekilde nasıl derleyeceğimizi anlatacağım.
Bunun için önce apache 1.3.xx.tar.gz sürümlerinden en güncel olanını
ve php.4.x.tar.gz sürümlerinden en güncel olanını indirmeniz gerekmektedir.
indirdiğimiz programları önce uygun bir klasöre açıyoruz.
cd /usr/tmp
tar zxf apache.1.3.xx.tar.gz
tar zxf php.4.x.tar.gz
cd apache.1.3.xx
burda önce apacheyi konfigüre edebilmek için örneğin kur isimli dosyaya aşağıdaki komutları yazıyoruz.
./configure --prefix=/usr/local/apache \
--enable-module=so
daha sonra php konfigüre edebilmek için örneğin kur isimli dosyaya aşağıdaki komutları yazıyoruz.
cd /usr/tmp/php.4.x
./configure --with-apxs=/usr/local/apache/bin/apxs \
--with-mysql \
--with-oci8 \
--with-oracle \
--enable-sigchild \
--enable-track-vars \
php configure parametrelerini istediğiniz gibi değiştirebilirsiniz. Fakat OCI fonksiyonlarını kullanmak istiyorsak with-oci8, enable-track-vars parametrelerini olması şarttır.
daha sonra sırası ile aşağıdaki adımları uyguluyoruz.
adımlar
--------------
apache konfigure edilecek
cd /usr/tmp/apache.1.3.xx
./kur
make
make install
php konfigure edilecek
cd /usr/tmp/php.4.x
./kur
make
make install
apache yeniden kurulacak
cd /usr/tmp/apache.1.3.xx
make clean
LIBS=-lpthread ./config.status
make
make install
böylece kurulum bitmiş oluyor. şimdi httpd.conf' a php yi tanıtmak için aşağıdaki ifadeleri ekleyelim.
AddType application/x-httpd-php .php
LoadModule php4_module libexec/libphp4.so
son olarak istersek
php.ini de register_globals = on yaparak kullanabiliriz.
şimdi apacheyi başlatabiliriz.
/usr/local/apache/bin/apachectl start
Bu yazımda, üzerinde Oracle veya Oracle Client kurulu bir Linux sistemde PHP' yi OCI fonksiyonlarını kullanacak şekilde nasıl derleyeceğimizi anlatacağım.
Bunun için önce apache 1.3.xx.tar.gz sürümlerinden en güncel olanını
ve php.4.x.tar.gz sürümlerinden en güncel olanını indirmeniz gerekmektedir.
indirdiğimiz programları önce uygun bir klasöre açıyoruz.
cd /usr/tmp
tar zxf apache.1.3.xx.tar.gz
tar zxf php.4.x.tar.gz
cd apache.1.3.xx
burda önce apacheyi konfigüre edebilmek için örneğin kur isimli dosyaya aşağıdaki komutları yazıyoruz.
./configure --prefix=/usr/local/apache \
--enable-module=so
daha sonra php konfigüre edebilmek için örneğin kur isimli dosyaya aşağıdaki komutları yazıyoruz.
cd /usr/tmp/php.4.x
./configure --with-apxs=/usr/local/apache/bin/apxs \
--with-mysql \
--with-oci8 \
--with-oracle \
--enable-sigchild \
--enable-track-vars \
php configure parametrelerini istediğiniz gibi değiştirebilirsiniz. Fakat OCI fonksiyonlarını kullanmak istiyorsak with-oci8, enable-track-vars parametrelerini olması şarttır.
daha sonra sırası ile aşağıdaki adımları uyguluyoruz.
adımlar
--------------
apache konfigure edilecek
cd /usr/tmp/apache.1.3.xx
./kur
make
make install
php konfigure edilecek
cd /usr/tmp/php.4.x
./kur
make
make install
apache yeniden kurulacak
cd /usr/tmp/apache.1.3.xx
make clean
LIBS=-lpthread ./config.status
make
make install
böylece kurulum bitmiş oluyor. şimdi httpd.conf' a php yi tanıtmak için aşağıdaki ifadeleri ekleyelim.
AddType application/x-httpd-php .php
LoadModule php4_module libexec/libphp4.so
son olarak istersek
php.ini de register_globals = on yaparak kullanabiliriz.
şimdi apacheyi başlatabiliriz.
/usr/local/apache/bin/apachectl start
9 Nisan 2007 Pazartesi
PHP ile dizideki anahtar(key) değerlerini değişken tanımlama
Belki başka yerde vardır da ben bulamadım ama bulmak isteyenlere kolaylık olsun diye basit bir kuralı tekrarlamak istiyorum.
Biliyorsunuz foreach fonksiyonu PHP deki en kullanışlı fonksiyonlardan biridir.
Örneğin içinde 20 adet $key olan bir diziniz var ve bütün $key leri bir değişken gibi kullanmak istiyorsunuz ve aynı zaman da bu değişkene $key' in sahip olduğu $value değerini almasını istiyorsunuz; bu durumda yapmanız gereken:
daha kolayı tek boyutlu diziler için extract fonksiyonu kullanmak.
/* $dizi['ad'] = 'ramazan'; $dizi['soyad'] = 'ozturk'; foreach ($dizi = $val) $$key = $val; echo $ad; // ramazan echo $soyad; // ozturk */
daha kolayı tek boyutlu diziler için extract fonksiyonu kullanmak.
$size = "large"; $var_array = array("color" => "blue", "size" => "medium", "shape" => "sphere"); extract($var_array, EXTR_PREFIX_SAME, "wddx"); echo "$color, $size, $shape, $wddx_size\n";
RTHDCPL.EXE ve USER32.DLL hatası
Son zamanlarda sistemlerinde Realtek HD Audio ses kartı kullanan XP kullancılarının bilgisayarı açıtığında ekranına şöyle bir mesaj geliyor.
user32.dll sistem DLL’sinin bellekte konumu değiştirildi. Uygulama, düzgün çalışmayacak. Konum değişikliği, C:\Windows\System32\Hhctrl.ocx DLL’si Windows sistem DLL’leri için ayrılmış bir adres aralığında bulunduğu için yapıldı. Yeni bir DLL edinmek için DLL üreticisine başvurulması gerekir.
(The system DLL user32.dll was relocated in memory. The application will not run properly. The relocation occurred because the DLL C:\Windows\System32\Hhctrl.ocx occupied an address range reserved for Windows system DLLs. The vendor supplying the DLL should be contacted for a new DLL.)
Bu problem Microsfot' un yayınladığı bir güncellemenin sistemde çalışmakta olan Realtek HD Audior Driver yazılımı ile çakışmasından kaynaklanıyor.
Sorunun çözümü için kendi denediğim ve sonuç aldığım yöntem Denetim Masası > Program Ekle/Kaldır' dan Realtek HD Audio Driver programını kaldırmak ve sistemi yeniden başlatmak.
Neticede sistem açılırken ses kartınızı yeniden tanıyıp dll leri yeniden register ettiği için aynı sorunla karşılaşmıyorsunuz..
Bu konuda Microsoft' un yapmış olduğu duyuru da inceleyebilirsiniz. Bir de yama mevcut.
user32.dll sistem DLL’sinin bellekte konumu değiştirildi. Uygulama, düzgün çalışmayacak. Konum değişikliği, C:\Windows\System32\Hhctrl.ocx DLL’si Windows sistem DLL’leri için ayrılmış bir adres aralığında bulunduğu için yapıldı. Yeni bir DLL edinmek için DLL üreticisine başvurulması gerekir.
(The system DLL user32.dll was relocated in memory. The application will not run properly. The relocation occurred because the DLL C:\Windows\System32\Hhctrl.ocx occupied an address range reserved for Windows system DLLs. The vendor supplying the DLL should be contacted for a new DLL.)
Bu problem Microsfot' un yayınladığı bir güncellemenin sistemde çalışmakta olan Realtek HD Audior Driver yazılımı ile çakışmasından kaynaklanıyor.
Sorunun çözümü için kendi denediğim ve sonuç aldığım yöntem Denetim Masası > Program Ekle/Kaldır' dan Realtek HD Audio Driver programını kaldırmak ve sistemi yeniden başlatmak.
Neticede sistem açılırken ses kartınızı yeniden tanıyıp dll leri yeniden register ettiği için aynı sorunla karşılaşmıyorsunuz..
Bu konuda Microsoft' un yapmış olduğu duyuru da inceleyebilirsiniz. Bir de yama mevcut.
Etiketler:
dll hatası,
realtek,
user32
6 Nisan 2007 Cuma
GridView ile SQL Server 2005 deki tabloları sayfalama
ASP.NET 2.0 ile yaptığım bir örneği sizinle paylaşmak istiyorum.
Bu örnek sonucunda bir tablodaki datalar ile listeleme, sayfalama, sıralama, detay bilgilerine ulaşmayı yapabileceksiniz. Elbetteki bu konuda ASP.NET 2.0 ' ın sunduğu özellikleri kullanacağız ve pratik tarafı örneğimizi neredeyse hiç kod yazmadan yapacağız.
Geliştirme ortamı olarak Microsoft' dan ücretsiz olarak indiribileceğimiz Visual Web Developer Express Edition ve SQL Server 2005 Express edition sp1 kullandım.
Şimdi örneğimize geçelim.
Önce kullanacağımız tabloyu oluşturalım
CREATE TABLE person(
id integer NOT NULL,
ad varchar(70),
soyad varchar(70),
dogum_tarihi datetime,
dogum_yeri varchar(70),
meslek varchar(70),
evtel varchar(10),
ceptel varchar(10),
PRIMARY KEY (id)
);
Projemizde kullanacağımız default.aspx, liste.aspx ve kayit.aspx sayfaları ile bunların behinde kod dosyalarını oluşturuyoruz. Son olarak kullanacağımız Database.mdf yi de ekliyoruz.
ve tablomuzu create ediyoruz. Daha sonra insert, update, delete, select procedurelerimizi yazacağız.
script:
/*****************************************/
create procedure sp_insert_person
@id integer not null ,
@ad varchar(70),
@soyad varchar(70),
@dogum_tarihi datetime,
@dogum_yeri varchar(70),
@meslek varchar(70),
@evtel varchar(10),
@ceptel varchar(10),
as
insert into person (id,ad,soyad,dogum_tarihi,dogum_yeri, meslek, evtel, ceptel)
values (@id,@ad,@soyad,@dogum_tarihi,@dogum_yeri,@meslek,@evtel,@ceptel);
/****************************************/
create procedure sp_select1_person
as
select id, ad, soyad soyad from person
/****************************************/
create procedure sp_select2_person
@id integer
as
select * from person
where id=@id
/****************************************/
create procedure sp_delete_person
@id integer
as
delete from person where id=@id
/****************************************/
create procedure sp_update_person
@id integer,
@ad varchar(70),
@soyad varchar(70),
@dogum_tarihi datetime,
@dogum_yeri varchar(70),
@meslek varchar(70),
@evtel varchar(10),
@ceptel varchar(10)
as
update person set ad=@ad,soyad=@soyad,dogum_tarihi=@dogum_tarihi,dogum_yeri=@dogum_yeri, meslek=@meslek, evtel=@evtel, ceptel=@ceptel
where id=@id
/****************************************/
Biliyorsunuz ASP.net 2.0 gelen bir özellik olarak App_Data dizini altına veritabanımızı ekleyip rahatça kullanabilyoruz. DB'yi SqlServer a register etmekte gerekmiyor.
Procedurelerimizi yazdığımıza göre geri sadece sayfaya koyacağımız kontrol ve bu kontrolleri dbye bağlamak kalıyor. ASP.NET 2.0' ın güzellikleri burda başlıyor.
şimdi liste.aspx dosyamıza 1 SqlDataSource ve Gridview kontrolü ekleyelim.
SqlDataSource kontrolünü ekledikten sonra Configure Data Source linkine tıklıyoruz. ve
karşıma çıkan ekran oluşturduğum Database.mdf dosyasını seçiyoruz. ileriki aşamada bu bağlantıyı kullanabilmek için yaptığımı database bağlantısını ConnectionString değişkenine atayıp bu bağlantının Web.Config'e kaydedilerek bütün proje tarafından kullanılmasını sağlayacağız.
Bu kısımda otomatik eklenmiş id fieldi silip onun yerine bir HyperLinkField ekliyoruz.
eklediğimiz HyperLinkField yine aynı işi yapıp aynı değeri ekrandan gösterecek bir farkla. ekledğimiz bu field ile her bir satıra bir link verebileceğiz.
Bu aşamada GridView1 kontrolünün auto format özelliği ile görünümü değiştirebilirsiniz.
böylece grid görünümlü liste kısmını bitirmiş olduk. ve herbir ID için örneğim kayit.aspx?id=2 değerini link olarak satırlara ekledik.
Kayıt.aspx için sayfası içiden yine SqlDataSource kontrolü ve DetailView kontrol ekliyoruz.
SqlDataSource için aynı ConnectionStringi seçip SP bağlantılarımı yapıyoruz. tek farkla bu kez select procedure sp_select2_person olacak.
Bu örnek sonucunda bir tablodaki datalar ile listeleme, sayfalama, sıralama, detay bilgilerine ulaşmayı yapabileceksiniz. Elbetteki bu konuda ASP.NET 2.0 ' ın sunduğu özellikleri kullanacağız ve pratik tarafı örneğimizi neredeyse hiç kod yazmadan yapacağız.
Geliştirme ortamı olarak Microsoft' dan ücretsiz olarak indiribileceğimiz Visual Web Developer Express Edition ve SQL Server 2005 Express edition sp1 kullandım.
Şimdi örneğimize geçelim.
Önce kullanacağımız tabloyu oluşturalım
CREATE TABLE person(
id integer NOT NULL,
ad varchar(70),
soyad varchar(70),
dogum_tarihi datetime,
dogum_yeri varchar(70),
meslek varchar(70),
evtel varchar(10),
ceptel varchar(10),
PRIMARY KEY (id)
);
Projemizde kullanacağımız default.aspx, liste.aspx ve kayit.aspx sayfaları ile bunların behinde kod dosyalarını oluşturuyoruz. Son olarak kullanacağımız Database.mdf yi de ekliyoruz.
ve tablomuzu create ediyoruz. Daha sonra insert, update, delete, select procedurelerimizi yazacağız.
script:
/*****************************************/
create procedure sp_insert_person
@id integer not null ,
@ad varchar(70),
@soyad varchar(70),
@dogum_tarihi datetime,
@dogum_yeri varchar(70),
@meslek varchar(70),
@evtel varchar(10),
@ceptel varchar(10),
as
insert into person (id,ad,soyad,dogum_tarihi,dogum_yeri, meslek, evtel, ceptel)
values (@id,@ad,@soyad,@dogum_tarihi,@dogum_yeri,@meslek,@evtel,@ceptel);
/****************************************/
create procedure sp_select1_person
as
select id, ad, soyad soyad from person
/****************************************/
create procedure sp_select2_person
@id integer
as
select * from person
where id=@id
/****************************************/
create procedure sp_delete_person
@id integer
as
delete from person where id=@id
/****************************************/
create procedure sp_update_person
@id integer,
@ad varchar(70),
@soyad varchar(70),
@dogum_tarihi datetime,
@dogum_yeri varchar(70),
@meslek varchar(70),
@evtel varchar(10),
@ceptel varchar(10)
as
update person set ad=@ad,soyad=@soyad,dogum_tarihi=@dogum_tarihi,dogum_yeri=@dogum_yeri, meslek=@meslek, evtel=@evtel, ceptel=@ceptel
where id=@id
/****************************************/
Biliyorsunuz ASP.net 2.0 gelen bir özellik olarak App_Data dizini altına veritabanımızı ekleyip rahatça kullanabilyoruz. DB'yi SqlServer a register etmekte gerekmiyor.
Procedurelerimizi yazdığımıza göre geri sadece sayfaya koyacağımız kontrol ve bu kontrolleri dbye bağlamak kalıyor. ASP.NET 2.0' ın güzellikleri burda başlıyor.
şimdi liste.aspx dosyamıza 1 SqlDataSource ve Gridview kontrolü ekleyelim.
SqlDataSource kontrolünü ekledikten sonra Configure Data Source linkine tıklıyoruz. ve
karşıma çıkan ekran oluşturduğum Database.mdf dosyasını seçiyoruz. ileriki aşamada bu bağlantıyı kullanabilmek için yaptığımı database bağlantısını ConnectionString değişkenine atayıp bu bağlantının Web.Config'e kaydedilerek bütün proje tarafından kullanılmasını sağlayacağız.
Bu kısımda otomatik eklenmiş id fieldi silip onun yerine bir HyperLinkField ekliyoruz.
eklediğimiz HyperLinkField yine aynı işi yapıp aynı değeri ekrandan gösterecek bir farkla. ekledğimiz bu field ile her bir satıra bir link verebileceğiz.
Bu aşamada GridView1 kontrolünün auto format özelliği ile görünümü değiştirebilirsiniz.
böylece grid görünümlü liste kısmını bitirmiş olduk. ve herbir ID için örneğim kayit.aspx?id=2 değerini link olarak satırlara ekledik.
Kayıt.aspx için sayfası içiden yine SqlDataSource kontrolü ve DetailView kontrol ekliyoruz.
SqlDataSource için aynı ConnectionStringi seçip SP bağlantılarımı yapıyoruz. tek farkla bu kez select procedure sp_select2_person olacak.
Kaydol:
Kayıtlar (Atom)