2009-12-05 16 views
6

Oracle'da bir BLOB alanındaki dosyaları bayt dizileri olarak saklayan bir tablom var. İstemcimin saklanan dosyayı küçük parçalara indirebilmesini istiyorum (tüm şeyi bir kerede indirmenin tersine), böylece bir ilerleme çubuğu görüntüleyebiliyorum.Oracle'da bir BLOB alanının bir bölümünü nasıl seçerim?

Bir BLOB alanının içeriğinin yalnızca bölüm'unu alan bir Oracle sorgusunu nasıl yazabilirim? Ben böyle bir şey olacağını hayal: ben BLOBFIELD 1000 bayt bununla herhangi bir performans sorunları vardır, ikincil bir soruya şöyle byte 2000

başlayan almak istiyorsa

SELECT PARTOF(BLOBFIELD, 1000, 2000) AS CHUNK FROM tbl WHERE ID = 1 

? Oracle'ın bir parçasını geri getirmek için BLOB alanının tamamını belleğe yüklemesi gerekiyorsa, bu çok iyi bir fikir olmaz.

+0

Bu sorunu öncelikle başka bir şekilde çözmeye çalışmanızı öneririm. Oracle db'nizle konuşmak için hangi dili/framework vb. Kullanıyorsunuz? Oracle'ın yetenekleri dışında bir ilerleme çubuğu raporu elde edebildiğinizi düşünüyorum. –

+0

Müşterilerim, bir ASP.NET web hizmeti çağıran Windows Mobile cihazlarıdır. İlerleme çubuğunun çalışması için, müşterilerin her biri genel dosyanın bir parçasını döndüren web servisine birden fazla çağrı yapabilmeleri gerekir. Bunu yapmak için, sadece bir BLOB alanının bir parçasını döndüren bir sorgu yazabilmek zorundayım. – MusiGenesis

+0

Dosyayı dosya sisteminde sakladınız, böyle bir sorun yaşamayacaksınız. –

cevap

İlgili konular