Şimdi Ara

MS SQL & htm halinde uzun text dosyaları ?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
819
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Edit : Sorumu açık açık yazayım:

    İmzamdan da görülebileceği üzere içeriği çok geniş bir site hazırlıyorum. (www.menba.org) Elimde içeriği oluşturan text dosyaları, htm halinde mevcut. bunları ilgili sayfalarda bir alt klasörden asp ile include ediyorum ve böylece site çalışıyor. Şimdi ise şöyle bir sorun ortaya çıktı. İçeriği çok geniş olan bu sitenin arama özelliğinin çok iyi olması gerekir. Ancak iyi bir arama özelliği için tüm metinleri aratabilmeliyim lakin içerik dosyaları htm halinde dışarıda bulunduğundan içeriği aratamıyorum. Bu özellik için text lerin veri tabanı içerisinde olması gerekir. Uzun metinlerde haliyle access e sığmıyorlar. Bende bu sorunu aşmak için yani metinleri olduğu gibi veritabanına atabilmek için çok yabancı olduğum MSSQL server kurdum. biraz kurcaladım. accessdeki tablo yapısının benzerini mssql de de oluşturdum.

    öncelikle yapmaya çalıştığım iş mantıklımı size onu sorayım. daha sonrada htm dosyalarımı mssql ye nasıl atıcam yani htm sayfasının görünüm > kaynak deyip tüm kodlarıyla beraber mi atmalıyım yoksa düz metinleri seçip öylemi atmalıyım tabi böyle yaparsam parağraf ayarları filan korunur mu? daha doğrusu mssql ye veri girişiini kullandığımı 2000 enterprise da tek tek kod yazarak mı yapıcam? lüften yardımcı olun teşekkürler...



    Orjinal: arkadaşlar pc me mssql 2000 kurdum, access i mssql ye aktardım... bunu yapmamın sebebi bir site hazırlıyorum ve de çok uzun içeriğe sahip dosyalar var... veriler (text halinde hepsi) access te sığmıyordu. msql de sığdırmak için ne yapmalıyım?



    < Bu mesaj bu kişi tarafından değiştirildi meliksah16 -- 17 Mayıs 2005, 1:19:44 >







  • Bunun için alan değerini Text yapmalısın.Fakat bileceğin üzere bu SQL server'da diğer alanlara oranla çok daha fazla yoğunluk yaratır.Bunun yerine varchar kullanmanı öneririm.8000 karakter uzunluğu kullanabilirsin.Orada kullanacağın maxiumum değeri yaklaşık olarak yazarsan performans bakımından en yararlı alan bu olacaktır.



    < Bu mesaj bu kişi tarafından değiştirildi dc.frost -- 17 Mayıs 2005, 0:19:02 >
  • Sorunun içeriğini değiştirmişsin, ilk yanıtımı açıklama olsun diye değiştirmiyorum.

    Fikrimi söylemem gerekirse; bu sayfaları FSO (File system Object) kullanarak okutabilirsin.Kaynak kodlarının içinde site içindeki aranılan kelimenin geçip geçmediğini tespit edebilirsin.Veritabanı kullanmana gerek kalmaz.Diğer türlü bir veritabanına aktarma yaparken mutlaka paragraf sorunu çıkaracaktır.Bunu sayfa üzerinden yaparak daha iyi yapabilirsin(Gerekli "replace" ler yaparak)
    MSSQL 'de alan olarak "text" kullanırsan sınırsız gibi bir alanın olur
    Kolay gelsin.



    < Bu mesaj bu kişi tarafından değiştirildi dc.frost -- 17 Mayıs 2005, 1:50:07 >
  • Dim adi, klasor_adi, fso, klasorler, dosyalar, adet
    klasor_adi = "sayfalar/"
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set klasorler = fso.GetFolder(server.mappath(klasor_adi))
    Set dosyalar = klasorler.Files
    adet = klasorler.Files.Count


    Burada bir klasörün içindeki dosyalarla işlem yapmak gösteriliyor. Bu kodu kullanarak
    1- Dosya adlarına göre arama yapabilirsin biraz uzun ve dosya içeriğine göre isimlendirirsen...
    2- Arkadaşımızın anlattığı gibi dosya içeriklerindeki stringler içindede aranabilir...

    set fc = Klasorler.Files
    For Each fso In fc
    fso.getfile ...
    ...


    yazarak klasör içindeki tüm dosyaları tarayan bir döngü açabilirsin.Ayrıca kişisel fikrimi sorarsan Veri tabanında saklama derim SQL her ne kadar hızlı olsada BOLB ve Sınırsız fieldler ister istemez çok farkettirir hızı.Hele birz kayıt eklediysen ;)

    Kolay gelsin....




  • Arkadaşlar aynen dediğiniz gibi yaptım oldu ancak 1500 civarında htm dosyasını araması çok uzun sürüyor haliyle... nasıl bir çözüm bulabilirim? her makalenin başlıklarını yada kısa tanıtımını aceess e kaydetsem veritbabınında bu başlıkları aratsam nasıl olur... her halde en uygunu bu ne dersiniz?
  • quote:

    Orjinalden alıntı: meliksah16
    Arkadaşlar aynen dediğiniz gibi yaptım oldu ancak 1500 civarında htm dosyasını araması çok uzun sürüyor haliyle... nasıl bir çözüm bulabilirim? her makalenin başlıklarını yada kısa tanıtımını aceess e kaydetsem veritbabınında bu başlıkları aratsam nasıl olur... her halde en uygunu bu ne dersiniz?



    Bu biraz daha sizi yoran bir yöntem olur ama tercih sizin..Ben @DC.Frost arkadaşımızın verdiği fikiri bir örnekle pekiştirmek için yazmıştım.Buna bir çok yöntem düşünülebilir Site içeriğinden bağımsız bir veritabanı içine anahtar sözcükler ve sayfa urlleri kayıt edilerek SQL ile daha hızlı arama yöntemleri oluşturulabilir tabii Ama verileri girmek yorucu olur biraz :) Bu arada Sitenizi gerçekten çok beğendim. İçerik ve tasarım olarak gayet güzel tebrikler.

    İyi Çalışmalar...




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.