MapInfo Neden Crash Oluyor?
MapInfo’nun durduk yere crash olması (aniden sorgusuz-sualsiz kapanması) veya donması durumuyla karşılaşan olduysa bilir. Son derece kötü bir durumdur ve makineyi yeniden başlatma, MapInfo’yu kaldırıp tekrar kurma, hatta daha yeni sürümünü kurma vs. vs. denemelerin tamamı boşa çıkar. Elhasıl, insana kafayı-gözü yardıracak durumlardan biri.
Böyle bir durumda problem muhtemelen Temp dizininin şişmesinden kaynaklanır. Bu yüzden sorunu halletmek için bu dizinin içini temizleyin. Bu dizinin yolu tipik olarak şöyledir:
C:\Documents and Settings\mustafa\Local Settings\Temp
İpucu: Bu dizine ulaşmanın kolay bir yolu var.
Windows’un Run penceresinde
%TEMP%
yazıp Enter’a basın. Windows bu dizini açacaktır.
Bu dizinde çok sayıda geçici dosya üretilir ve zamanla bu dosyalar büyük sayılara ulaşır. Geçici dosya üretilmesine neden olan işlemlerden biri MapInfo’da yapılan Select sorgusudur. Mesela
SELECT * FROM ILCE WHERE IL_ADI = "ANKARA"
veya
SELECT * FROM ILCE WHERE IL_ADI = "ANKARA" INTO ANKARA_ILCE
şeklinde bir sorgu yaptığımızda Temp dizininde
~MAP0001.TMP ve ~MAP0002.TMP
formatında iki geçici dosya oluşur. MapInfo’da yapılan yeni sorgular ve başka işlemler bu dosyaların giderek artmasına sebep olur.
Sorgularda geçici .TMP dosyalarının oluşmasını engellemek için NOSELECT yapısının kullanılması gerektiğini söyleyenler olsa da, yaptığım denemede bunun doğru olmadığını gördüm. Yani
SELECT * FROM ILCE WHERE IL_ADI = "ANKARA" INTO ANKARA_ILCE NOSELECT
gibi bir sorgu çalıştırsak bile bu .TMP dosyaları yine oluşuyor.
Uzun lafın kısası: Yapılan sorgularda her halükarda bu .TMP dosyaları oluşuyor.
Peki ne oluyor da MapInfo crash oluyor? Benim tahminim şu: Bu .TMP dosyalarının formatına dikkat edersek ~MAPXXXX.TMP şeklinde olduğunu görürüz. (Her bir X bir rakamı temsil ediyor.) Eğer biz Temp dizininde çok fazla geçici dosya oluşmasına sebep olursak bir gün sıra ~MAP9999.TMP dosyasına gelecektir. Bu dosya da oluşacaktır, peki bir sonraki, yani 10000. dosyada? BOOOM!
Son paragrafta verdiğim bilgi sadece bir gözlem ve tahminden ibaret ve yanılma payı var. Bu konuda daha net bir bilgiye sahip arkadaşlar bu bilgilerini paylaşabilirler.
Çoğunlukla Temp dizininin şişmesinden kaynaklansa da, MapInfo’nun crash olmasının veya donmasının tek sebebi bu olmayabilir. Eğer Temp dizinini temizlemek sorunu çözmediyse problem anında Windows’un arka planında neler olup bittiğine bakmak belki bir ipucu verebilir. Bunun için Control Panel > Administrative Tools > Event Viewer uygulamasında Application seçeneğini seçip -varsa- loglarda MapInfo ile ilgili bilgilere bakılabilir.