text可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符。

解决方案 »

  1.   

    create table aaa(a int,b text)
    goCREATE 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 
    /* 这是使用textcopy工具将文件插入到数据库中,如果有前台工具可以用前台开发工具将文件插入,这里为了演示 */
    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
    goinsert aaa values(1,'') --''是必须的不是null
    sp_textcopy 'daliserver','sa','element','test','aaa','b','c:\tt.txt','where a=1','I' --注意条件是 a=1
    go
    drop table aaa
    go
    drop proc sp_textcopy前提c:\下有tt.txt文件,如果报textcopy不是可执行文件的话,你就到
    C:\Program Files\Microsoft SQL Server\MSSQL\Binn
    目录下拷备 textcopy.exe到:
    C:\Program Files\Microsoft SQL Server\80\Tools\Binn