मैं है जो एक मेज के साथ इस डेटाबेस है निम्नलिखित लेकिन मैं decypher करने के लिए इसेभंडारण माइक्रोसॉफ्ट वर्ड 97 एसक्यूएल सर्वर कॉलम में दस्तावेजों
DATA, TYPE, FILE TYPE, SIZE, DOC TYPE
0x15234324 , Word.Document.8 ,DOC, 19968, WORD.DOCUMENT.8
क्षेत्र एक में संग्रहीत एक शब्द दस्तावेज़ को रोकने के लिए लगता है कोई रास्ता नहीं है एसक्यूएल सर्वर IMAGE
कॉलम
क्या कोई इस पाठ को एक पठनीय प्रारूप में निकालने के पहले या किसी तरीके से आया है?
अब तक मैंने फ़ाइल निकालने के लिए PHP का उपयोग करने की कोशिश की है और इसे एक शब्द दस्तावेज़ में लिखना है लेकिन बहुत भाग्य नहीं है।
अद्यतन: अब मैं विजुअल स्टूडियो एक्सप्रेस है और इस डेटा निकालने और एक शब्द भी दस्तावेज़ को बचाने के लिए
UPDATE2 एक तरह से करना चाहते हैं: यह है कि मैं क्या VB में sofar
Imports System.Data.SqlClient
Imports System.IO
Public Class Form1
Private Shared Function RetrieveFile(ByVal filename As String) As Byte()
Dim connection As New SqlConnection("Server=sqlsrv;database=database;Trusted_Connection=Yes;")
Dim command As New SqlCommand("select data from objects where object_ref in (select data from parts where object_ref =239804)", connection)
command.Parameters.AddWithValue("test", filename)
connection.Open()
Dim reader As SqlDataReader = command.ExecuteReader(System.Data.CommandBehavior.SequentialAccess)
reader.Read()
Dim memory As New MemoryStream()
Dim startIndex As Long = 0
Const ChunkSize As Integer = 256
While True
Dim buffer As Byte() = New Byte(ChunkSize - 1) {}
Dim retrievedBytes As Long = reader.GetBytes(1, startIndex, buffer, 0, ChunkSize)
memory.Write(buffer, 0, CInt(retrievedBytes))
startIndex += retrievedBytes
If retrievedBytes <> ChunkSize Then
Exit While
End If
End While
connection.Close()
Dim data As Byte() = memory.ToArray()
memory.Dispose()
Return data
End Function
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim saveFileDialog1 As New SaveFileDialog()
saveFileDialog1.Filter = "Doc File|*.doc"
saveFileDialog1.Title = "Save an doc File"
saveFileDialog1.ShowDialog()
If saveFileDialog1.FileName <> "" Then
Dim fs As New System.IO.FileStream(saveFileDialog1.FileName, System.IO.FileMode.Create, System.IO.FileAccess.Write)
Dim data As Byte() = RetrieveFile("test.doc")
fs.Write(data, 0, data.Length)
fs.Flush()
fs.Close()
End If
End Sub
End Class
है
आप शायद सिर्फ फ़ाइल सिस्टम में बाइट्स 'डेटा' में निहित संग्रहीत कर सकती है और फिर उस फ़ाइल को एमएस वर्ड के साथ खोलें। –
कूल - एसक्यूएल सर्वर से इस डेटा को कैसे निकाला जाएगा? चूंकि एसक्यूएल मैनेजमेंट क्वेरी परिणाम विंडो – Rob
में स्ट्रिंग सीम कम होने के लिए हाँ, एसएसएमएस हमेशा अधिकतम तक छोटा हो जाएगा। लंबाई - आपको SQL सर्वर के भीतर से इसे पकड़ने के लिए कुछ कोड का उपयोग करने की आवश्यकता होगी। यह [अन्य SO प्रश्न] देखें (http://stackoverflow.com/questions/2818557/are-there-any-utilities-to-extract-binary-data-from-sql-server) एक समान विषय पर - शायद वह ' आपको मदद मिलेगी –