MS SQL SERVER 图像或大文本的输入输出

MS SQL SERVER 图像或大文本的输入输出
在MS SQL SERVER 安装目录下有个可执行文件叫 TEXTCOPY.EXE 
可对 MS SQL SERVER 中的文本或图像数据进行输入输出. 
不过你可以在MS-DOS方式下执行textcopy /? 得到它的描述。 
下面是这个工具的描述: 
Copies a single text or image value into or out of SQL Server. The val
ue 
is a specified text or image 'column' of a single row (specified by th

"where clause") of the specified 'table'. 

If the direction is IN (/I) then the data from the specified 'file' is

copied into SQL Server, replacing the existing text or image value. If
the 
direction is OUT (/O) then the text or image value is copied from 
SQL Server into the specified 'file', replacing any existing file. 

TEXTCOPY [/S ][sqlserver]] [/U [login]] [/P ][password]] 
  [/D ][database]] [/T table] [/C column] [/W"where clause"] 
  [/F file] [{/I | /O}] [/K chunksize] [/Z] [/?] 

  /S sqlserver       The SQL Server to connect to. If 'sqlserver' is n
ot 
                     specified, the local SQL Server is used. 
  /U login           The login to connect with. If 'login' is not spec
ified, 
                     a trusted connection will be used. 
  /P password        The password for 'login'. If 'password' is not 
                     specified, a NULL password will be used. 
  /D database        The database that contains the table with the tex
t or 
                     image data. If 'database' is not specified, the d
efault 
                     database of 'login' is used. 
  /T table           The table that contains the text or image value. 

  /C column          The text or image column of 'table'. 
  /W "where clause"  A complete where clause (including the WHERE keyw
ord) 
                     that specifies a single row of 'table'. 
  /F file            The file name. 
  /I                 Copy text or image value into SQL Server from 'fi
le'. 
  /O                 Copy text or image value out of SQL Server into '
file'. 
  /K chunksize       Size of the data transfer buffer in bytes. Minimu

                     value is 1024 bytes, default value is 4096 bytes.

  /Z                 Display debug information while running. 
  /?                 Display this usage information and exit. 

You will be prompted for any required options you did not specify. 

为此, 可写一个存储过程,调用这个命令 
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 

下面是一个拷贝图像到SQL Server的pubs数据库的例子, 表名pub_info, 字段名
logo,图像文件名picture.bmp,保存到pub_id='0736'记录 sp_textcopy @srvn
ame = 'ServerName', 
            @login = 'Login', 
            @password = 'Password', 
            @dbname = 'pubs', 
            @tbname = 'pub_info', 
            @colname = 'logo', 
            @filename = 'c:/picture.bmp', 
            @whereclause = " WHERE pub_id='0736' ", 
            @direction = 'I'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值