2011-02-09 12 views
5

के साथ mySQL में एक बीएलओबी के रूप में वर्ड दस्तावेज़ को कैसे संग्रहीत करें एक क्लाइंट चाहता है कि वर्ड दस्तावेज़ मेरे mySQL डेटाबेस में सहेजे गए हों, इसके बावजूद मुझे बहस हो रही है। दस्तावेजों को विशेष रूप से बड़ा नहीं होना चाहिए, प्रत्येक 1 एमबी से अधिक नहीं। मैं सीएफ व्यवस्थापक में ब्लॉब सक्षम है और यहाँ मेरी एसक्यूएलकोल्डफ्यूजन

<cfset newMessageID=1569> 
<cfset fileName="c:\temp\0.doc"> 

<cffile action = "readbinary" 
file = "#fileName#" 
variable = "fileData"> 

<cfquery name="addFile" datasource='#application.dsn#'> 
    INSERT into files (fileID, fileData) 
    Values (#newMessageID#, <cfqueryparam value="#fileData#" cfsqltype="CF_SQL_BLOB">) 
</cfquery> 

मैं "डेटा काट-छांट: डेटा बहुत लंबा स्तंभ 'filedata' पंक्ति 1 पर के लिए" है 1,000,000

को ब्लॉब बफर निर्धारित किया है त्रुटि। फाइल टेबल में दायरता फ़ील्ड निश्चित रूप से ब्लॉब करने के लिए सेट है। मैं क्या गलत कर रहा हूं?

सीएफ 9.01, MySQL 5.4

मैं गलत क्या कर रहा हूँ

+0

आप सोचो 'toBase64()' में '# fileData #' को लपेटने की आवश्यकता है - यहां दस्तावेज़ देखें: http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_f_08.html 'बाइनरीएन्कोड' का उपयोग पढ़ें) 'इसे वापस बदलने के लिए: http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=functions_a-b_31.html#4989676 – orangepips

+0

मैंने पहले से ही कोशिश की है। अगर मैं बस बेस 64 में परिवर्तित करता हूं तो यह मेरे cfqueryparam के साथ एक कास्ट त्रुटि फेंकता है। अगर मैं cfqueryparam के बिना चलाता हूं तो मैं "कॉलम के लिए बहुत लंबा डेटा" दायरता पर वापस आ जाता हूं " – Saul

+0

@ साउल - किस तरह का 'ब्लॉब'? विभिन्न प्रकार के लंबे, मध्यम, ... http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html और http://dev.mysql.com/doc/refman/5.0 हैं /en/blob.html – Leigh

उत्तर

5

ब्लॉब किस तरह का? long and medium blob सहित विभिन्न प्रकार हैं। ब्लॉब (लगभग) 2^16 = 65,536 बाइट्स है, मध्यम ब्लॉब 2^24 = 16,777,216 बाइट्स है। यदि आपको लगता है कि आप मध्यम ब्लॉब से अधिक हो सकते हैं, तो longblob यानी 2^32 के साथ जाएं।

-2

बस एक बुरा, बुरा विचार।

मैं करूंगा या तो:

  1. पाठ में फ़ाइल 1 यह कन्वर्ट, तो आप सिर्फ कच्चे पाठ के आयात को आसान बनाने में।

  2. या बस कुछ फ़ोल्डर में अपलोड करें, और इसे फिर से डाउनलोड या ऑनलाइन देखने

अपने डेटाबेस में संग्रहीत करने की कोशिश कर अपनी खुद की गला काटने के लिए उपलब्ध बनाने ...

+0

आपने ओपी में पढ़ा है कि मैंने इसके खिलाफ तर्क दिया है? उस दिन के अंत में जो पाइपर का भुगतान करता है ... वैसे भी मुझे नहीं लगता कि यह बहुत बुरा होगा। मैं मेटा डेटा के लिए वर्ड डॉक्यूमेंट और स्टोर में एक टेबल में स्टोर करता हूं जो कि किसी भी प्रश्न/जॉइन के लिए उपयोग किया जाता है। फाइल टेबल में सिर्फ आईडी और mediumblob है। प्लस साइड फ़ाइल सुरक्षा पर, लॉगिंग और बैकअप आसान है ;-) – Saul

संबंधित मुद्दे