PHP ve MSSQL - BÜYÜK metin alanı alma

2 Cevap php

İşte benim anlaşma: Ben bir windows sunucu üzerinde (özellikle 5.2.5) PHP 5 çalışan bir site var, o verileri için bir MSSQL 2005 veritabanı konuşuyor. Ben ADODB çerçevenin son sürümünü kullanarak veritabanına erişen ediyorum. Ben eşsiz bir kimliği ve bir metin alanı olan bir tablo var. Metin alanı (henüz tam kesim noktasını belirlemek mümkün olmamıştır) belirli bir büyüklüğe ulaşana kadar bu tüm iyi ve iyi işler

Ben kabaca 5 milyon karakter uzunluğunda veritabanından bir dize almaya çalışıyorum zaman sorunu geliyor. Ben SQL Management studio ile bunu yapmak ve tüm veri döndürürse, bu ince işleri almak.

Sorgu PHP ile çalıştırdığınızda, SQL sunucusu, herhangi bir hata mesajı döndürüyor değil, ancak gerçek verilerin herhangi bir cevap vermiyor.

Ben mssql.textlimit ve böylece gibi textsize yapılandırma seçenekleri yükseltmişti gibi, olağan şüpheliler etrafında oynadım:

ini_set("mssql.textlimit",2147483647 );
ini_set("mssql.textsize",2147483647 );

Ben de hiçbir değişiklik ile "TEXTSIZE 2147483647 set" bir sorgu göndererek denedim.

Ben verilerin bir alt alırsan teorik olarak hep birlikte parçası olabilir, fakat substring 8000 karakter limted bir varchar verir ve bu gibi gerçekten harika bir fikir değil, tam miktarını almak için 875 sorgular gibi bir şey gerektirir.

Anybody have any ideas? +

2 Cevap

max_execution_time ve memory_limit iki şunlardır: PHP ini bakmak isteyeceğiniz bir kaç değişkenleri vardır.

genişleme:

Ben ADODB kullanmayın, ama ben büyük kayıtları ve kayıt setleri aşan ile anlaşma yok. PHP (sorgu zor ise) icrası sırasında zaman aşımına Ya veya sonucu boyutu Yutabilirsin. Bazen bir hata mesajı alıyorum, diğer zamanlarda değil. Bu gelen ADODB maskeleri bu hatalar kullanıcı-Bilmiyorum ki mümkündür. Bu durumda olup olmadığını öğrenmek için kolay yolu yerine çerçevesinin mssql_query() kullanarak PHP ile sorguyu çalıştırmak. Bu ıslatacaksınız vermezse, ADODB sorundur. Öyle ise, php.ini ile keman.

Bir DAMLA Veritabanı alanını ayarlama denedi? veya Binary? O uzun ise neredeyse bir dosya gibi onu tedavi etmek daha iyi olabilir.

Ayrıca, bu gibi dosyaları bir şey var eğer bu noktada Voldemort veya Amazon'un Dynamo gibi anahtar-değer depolama sistemleri içine bakmak isteyebilirsiniz. İlişkisel-veritabanları gibi büyük veri parçalarını iyi idare edemiyor. Evet yönetim aracı iyi kolları söz vermedi, ama ölçek olacak?