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 @srvname = 'ServerName', 
            @login = 'Login', 
            @password = 'Password', 
            @dbname = 'pubs', 
            @tbname = 'pub_info', 
            @colname = 'logo', 
            @filename = 'c:\picture.bmp', 
            @whereclause = " WHERE pub_id='0736' ", 
            @direction = 'I'

解决方案 »

  1.   

    http://www.csdn.net/develop/Read_Article.asp?Id=17699
      

  2.   

    这个问题好像已经问了很多次了,你在csdn里搜索一下就行了!
    ^_^,这可是一种很有用的学习方法哦!
      

  3.   

    http://expert.csdn.net/Expert/topic/1694/1694447.xml?temp=.2850916
      

  4.   

    'textcopy' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    NULL
    为什么?
      

  5.   

    把mssql\binn\目录下的textcopy.exe文件拷贝到\winnt\system32\目录下
    另:
    请教大力,你往数据库里导文件的时候没有出现错误??
    TEXTCOPY Version 1.0
    DB-Library version 8.00.194
      debug: Final parameters:
      debug:   Server: FALALY
      debug:   Login: sa
      debug:   Password: 123
      debug:   Database: Test_Data
      debug:   Table: ImageTable
      debug:   Column: ImageBin
      debug:   Where clause:  WHERE Id=1 
      debug:   File: F:\Games\Test.xls
      debug:   Direction: Into SQL Server from file.
      debug:   Chunk size: 4096 bytes
    SQL Server 'FALALY' Message 5701: 已将数据库上下文改为 'master'。
    SQL Server 'FALALY' Message 5701: 已将数据库上下文改为 'Test_Data'。 (Concerning line 1)
      debug: Query: select ImageBin from ImageTable  WHERE Id=1 
    ***ERROR: Text or image pointer and timestamp retrieval failed.***
    NULL
    能解释一下产生错误的原因所在吗??如何解决??
      

  6.   

    补充:
    1,文件路径及文件名没有问题
    2,如果direction参数为'O'时没有问题
      

  7.   

    而且我用查询分析器建的sp_textcopy,看不到在哪;再次新建sp_textcopy时,又说数据库中已有名为sp_textcopy的对象,望高手指点!
      

  8.   

    将左边的数据库对刷新一下,点开pubs的存储过程就看到了。
      

  9.   

    你在哪个库里建的?就到哪个库下的存储过程里刷新,或用  drop proc sp_textcopy 来删掉它!
      

  10.   

    create table aa (id int,ImageBin image)
    go
    insert aa values(1,0x) ---这步你有吗?
    gosp_textcopy....
      

  11.   

    谢谢大力
    insert aa values(1,0x) 这步我没有做...
    :)
    现在可以了
    再次谢谢大力