首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 文字與影像資料匯入匯出工具 TEXTCOPY 詳解

     編輯:關於SqlServer

TEXTCOPY.exe 簡介

安裝目錄下的 TEXTCOPY.exe 專門處理 text、image、ntext 等大型物件(LOB)的單一值匯入/匯出。執行 textcopy /? 可見完整參數說明。

核心功能

  • 方向 IN (/I):將指定檔案內容寫入資料表單一資料列的 LOB 欄位(以 WHERE 條件定位),覆蓋原值。
  • 方向 OUT (/O):將單一資料列的 LOB 值輸出至檔案,覆蓋既有檔案。

參數速查表

封裝成預存程式 sp_textcopy

CREATE PROCEDURE sp_textcopy
    @srvname varchar(30), @login varchar(30), @password varchar(30),
    @dbname varchar(30), @tbname varchar(30), @colname varchar(30),
    @filename varchar(30), @whereclause varchar(40), @direction char(1)
AS
DECLARE @exec_str varchar(255)
SELECT @exec_str = 'textcopy /S ' + @srvname + ' /U ' + @login +
    ' /P ' + @password + ' /D ' + @dbname + ' /T ' + @tbname +
    ' /C ' + @colname + ' /W "' + @whereclause + '" /F ' + @filename +
    ' /' + @direction
EXEC master..xp_cmdshell @exec_str

實戰範例:將圖片寫入 pubs.pub_info.logo

EXEC sp_textcopy
    @srvname = 'ServerName',
    @login = 'Login',
    @password = 'PassWord',
    @dbname = 'pubs',
    @tbname = 'pub_info',
    @colname = 'logo',
    @filename = 'c:\picture.bmp',
    @whereclause = ' WHERE pub_id=''0736'' ',
    @direction = 'I'

即可將 picture.bmp 匯入 pub_id='0736' 的 logo 欄位。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
參數說明
/S server目標 SQL Server,預設本機
/U login登入帳號,省略則用信任連線
/P password密碼,省略則為 NULL
/D database資料庫名稱,省略用登入預設 DB
/T table目標資料表
/C columnLOB 欄位名稱
/W "WHERE 子句"完整 WHERE 子句(含 WHERE 關鍵字),定位單一列
/F file來源/目標檔案完整路徑
/I | /O匯入 / 匯出方向,二擇一
/K chunksize傳輸緩衝區大小(Bytes),最小 1024,預設 4096
/Z顯示除錯資訊