前提:資料表需含 image 或 varbinary(max) (SQL 2005+) 欄位儲存二進位內容。
textcopy /S server /D db /U user /P pwd /T table /C column /W "WHERE id=1" /F "C:\doc.doc" /I
/I 為匯入,/O 為匯出。執行 textcopy /? 取得完整參數說明。
' VBScript/ASP 範例
Set stream = CreateObject("ADODB.Stream")
stream.Type = 1 ' adTypeBinary
stream.Open
stream.LoadFromFile "C:\doc.doc"
Set cmd = CreateObject("ADODB.Command")
cmd.ActiveConnection = conn
cmd.CommandText = "UPDATE Docs SET Content = ? WHERE ID = 1"
cmd.Parameters.Append cmd.CreateParameter("Content", 128, 1, stream.Size, stream.Read) ' adLongVarBinary
cmd.Execute
參考 PSS 文件「使用 ADO Stream 物件存取和修改 SQL Server BLOB 資料」。
適用於僅需更新文件片段、控制格式、或儲存位元遮罩等標記。參考 PSS「使用 ADO 擷取和更新 SQL Server 文字欄位」與 SQL Server 2000 範例碼 (...Samples\ado\Visual Basic\Employee 中的 FillDataFields 函數)。
SQL Server 7.0/2000 內建全文檢索服務,支援 image/varbinary(max) 欄位索引。
sp_fulltext_catalog 'DocCatalog', 'create'。.doc) 與對應的 篩斷器。Office 安裝會註冊 offfilt.dll 解析 Word 文件。sp_fulltext_table 'Docs', 'start_full'。SELECT * FROM Docs WHERE FREETEXT(Content, '關鍵字')
-- 或精確片語
SELECT * FROM Docs WHERE CONTAINS(Content, '"完整片語"')
Keywords 屬性,匯入時同步寫入關聯表。SaveAs wdFormatText → 自訂「斷詞器」遍歷文字 → 統計詞頻 → 存入關聯表。CONTAINS(Content, '關鍵字') → 將命中文件的關鍵字記錄至關聯表。varbinary(max) 取代 image。FILESTREAM 儲存大型文件於檔案系統。sys.dm_fts_index_keywords 等 DMV 直接查詢索引關鍵字。