2013-06-11 18 views
1

我有很多.doc文件存儲在一個SQL Server 2008 IMAGE列中。我不知道2008年該數據類型是如何存在的,但我清楚地看到它。軟件數據庫是舊的,數據庫服務器必須升級到2008年。無論如何 - 不知何故 - 該軟件仍然運作良好。打開一個存儲在SQL Server映像列中的.doc文件

上個月,我的公司決定採用網絡解決方案,但保留所有數據。我爲此開發了完整的系統,並且一切都很順利 - 安裝文件...任何時候我嘗試從SQL IMAGE列「下載」字節,我都會得到該文件,但它已損壞(至少我得到了MS Word中有很多愚蠢的字符)。但是,當我插入新文件(存儲在IMAGE列),然後下載它時,一切都進展順利。

有沒有人在這個世界上有一個想法可能是什麼錯?

這裏是DB鏈接到損壞的文件之一: https://hotfile.com/dl/226441204/438414c/testFile.doc.html

+0

如果新記錄正常工作,那麼現有記錄已損壞或現有記錄不像您想象的那樣存儲。 – Stijn

+0

可能的加密? –

+0

當您升級服務器時,您是否更改過歸類規則? – Darren

回答

0

根據你的描述的東西,而數據庫服務器升級到2008年

+0

呃,任何可能的解決方案呢?我有數據庫備份,所以如何成功遷移它? –

+0

我建議你在http://dba.stackexchange.com/上特別提出這個問題,特別是在使用圖像列進行升級時會發生什麼。或者,您可以編寫一個小程序,它從舊數據庫版本中讀取文件,並在升級後將其寫入到該文件中。 – CloudyMarble

+0

謝謝你指點我的方向。一旦我嘗試了這些建議,我就回到報告......現在感謝。 –

0

經過連日偵查出了問題,我終於來到了解。由於數據庫是由第三方製作的,爲了使其工作,我必須知道他們的文件存儲邏輯。顯然,整理和其他事情太容易解決這個問題。然後我想到了JetBrains DotPeek,這個.NET反編譯器非常棒。它擁有確定確切節約流量所需的一切。我發現這些文件是用密碼保護的流保存的。很容易找到密碼,因爲現在我已打開所有代碼。 Dotfuscating稍微強化了我的研究,但現在一切都很好......最後!!!感謝所有試圖幫助我走上解決之道的人們......

相關問題