17 Haziran 2010 Perşembe

Windows Server 2008 R2 üzerindeki Access Veritabanında Tarih Biçimi Sorunu

ASP.NET tabanlı intranet uygulamamızdan Access veritabanına veri aktarımı gerçekleştiriyoruz. IIS 7.5 üzerinde koşan uygulama, hesap taklidi (impersonation) ile Access veritabanına erişiyor. Tarih tipinde alan içeren tablolara veri yazarken "Data type mismatch in criteria expression" hatası aldık.

Yaptığımız araştırma sonucunda, Windows Server 2008 R2'nin bölge ve dil seçeneklerini yönetme şeklinin Windows Server 2003 R2'den biraz farklı olduğunu öğrendik.

İşletim sistemi kurulumu tamamlandıktan sonra, kurulumun yapıldığı hesabın bölge ve dil seçeneklerinin değiştirilmesi yeterli olmuyormuş. Control Panel >> Region and Language >> Administrative Tab >> Copy Settings seçeneği kullanılarak değişiklik yapılmalıymış.

Herhangi bir hesap tanımlaması yapmadan önce menü seçeneğine giriş yapıp Copy your current settings to bölümündeki Welcome screen and system accounts ve New user accounts seçeneklerini işaretlememiz gerekiyor.



Değişiklik ardından gerçekleştirdiğimiz testlerde hatayla karşılaşmadık.

29 Nisan 2010 Perşembe

Windows 7 / Vista temelli sistemlerde kullanıcı profilini yüklemede hata

Windows 7 ve Windows Vista temelli işletim sistemlerinde kullanıcı profilinin elle silinmesi, oturum açma işleminin başarısız olmasına sebep oluyor. İşletim sistemi geçici bir profille oturum açılmasına izin veriyor ancak bilgisayar yeniden başlatıldığında geçici oturumda yaptığınız değişiklikler kayboluyor. Sorunu çözmek için aşağıda belirttiğim Microsoft KB makalelerine bakabilirsiniz.

Error message when you log on to a Windows Vista-based or Windows 7-based computer by using a temporary profile: "The User Profile Service failed the logon. User profile cannot be loaded"
http://support.microsoft.com/kb/947215/en-us

A temporary profile is loaded after you log on to a Windows Vista-based system
http://support.microsoft.com/kb/947242/en-us

26 Nisan 2008 Cumartesi

CLOB alana boş string değeri atamada sorun

Oracle 10g R2 (10.2.0.3.0) kullanıyorum. Veritabanına .NET Framework 2.0 üzerinden (System.Data.OracleClient) erişiyorum.

Uzunluğu belirtilmemiş CLOB tipinde bir alana boş string (zero-length string) atamak istidiğimde "ORA-01084: OCI çağrısı içinde geçersiz bağımsız değişken" hatası oluştu.

Biraz kurcaladıktan sonra CLOB tipinde alanların boş string kabul etmediğini; ya NULL ya da en az bir karakterlik veri girilmesi gerektiğini öğrendim. PL/SQL Developer ve TOAD
üzerinden SQL cümlesi yazarak da denedim, .NET tarafından da denedim. Şöyle ki:

CREATE TABLE SCM.TEST
(
test_id INTEGER NOT NULL,
test_adi DATE,
test_aciklama VARCHAR2(150 BYTE),
clob_alan CLOB
);

Tabloyu oluşturduktan sonra aşağıdaki SQL cümlesini eklemeyi denedim:

INSERT INTO TEST VALUES(S_TEST.NEXTVAL,'test_adi degeri','test_aciklama degeri','');

Girdiğim satırın CLOB alanını kontrol ettiğimde boş string yerine NULL değerinin girilmiş olduğunu gördüm. IDE'ler, INSERT cümlesini oci.dll'ye yönlendirmeden önce CLOB alan için girilen boş string değerini NULL değerine çeviriyor. Biz bu çevrimi .NET tarafında yapmadığımız için sorun yaşadık. ORACLE'deki prosedüre parametreleri yollayan kod bloğunda gerekli düzenlemeyi yaptım ve sorun çözüldü.

DÜZELTME: Boş string (Zero-length string) IDE'ler tarafından NULL'a çevrilmiyor. Oracle'nin VARCHAR2 ve CLOB alanlardaki yorumlayış biçimi bu şekildeymiş. Tom Kyte'nin AskTom adlı sitesinde konuya açıklık getirilmiş. Ayrıntılar için tıklayınız.

17 Nisan 2008 Perşembe

ASP.NET üzerinden Microsoft Access veritabanına erişimde "Belirtilmemiş hata"

WEB uygulamanız üzerinden Access veritabanına ulaşmaya çalıştığınızda "System.Data.OleDb.OleDbException: Unspecified Error" ya da "System.Data.OleDb.OleDbException: Belirtilmemiş hata" şeklinde bir hata mesajı alıyorsanız, aşağıdaki bağlantılar işinize yarayacaktır:

http://msmvps.com/blogs/rakeshrajan/archive/2005/07/04/56461.aspx

http://support.microsoft.com/default.aspx?scid=kb;EN-US;825738

Anlaşıldı...Kurtulamayacağım bu işten.

Yazılım, hayatımızın bir parçası olmuş. Günde 16 saat çalışınca... :)

Meslekle alakalı kelam etmek zaruret haline geldi.

17 Ağustos 2007 Cuma

Bugün 17 Ağustos

Ateş düştüğü yeri yakıyor. Ne söylesek boş. Mevla, canını kaybetmiş canlara sabır versin, ruhunu teslim etmişlere rahmet eylesin.

Arıyorum...

Havalı olmayacak ama peşinden koşturacak...
Sevecek ama sevdiğini belli etmeyecek...

Mümkün müdür?