CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  基础类

存储问题

楼主ywd1981()2003-09-03 18:56:58 在 MS-SQL Server / 基础类 提问

请问在sql2000中如何存储文本和图片  
  我看拉说明不是很明白  
   
  另外sql2000有编译器吗?  
   
  问题点数:20、回复次数:5Top

1 楼hjb111(无间波波哥)回复于 2003-09-03 19:18:11 得分 10

1、建立过程  
  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    
   
  2、建表和初始化数据  
  create   table   表名   (编号   int,image列名   image)  
  go  
  insert   表名   values(1,0x)  
  insert   表名   values(2,0x)  
  go  
   
  3、读入  
  sp_textcopy   '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where   编号=1','I'   --注意条件是   编号=1  
   
  sp_textcopy   '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where   编号=2','I'   --注意条件是   编号=2  
   
  go  
   
  4、读出成文件  
  sp_textcopy   '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where   编号=1','O'   --注意条件是   编号=1  
   
  sp_textcopy   '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where   编号=2','O'   --注意条件是   编号=2  
  go  
  Top

2 楼txlicenhe(马可)回复于 2003-09-03 19:18:21 得分 10

 
  用image类型  
   
  方法:  
  1、建立过程  
  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      
   
  2、建表和初始化数据  
  create   table   表名   (编号   int,image列名   image)  
  go  
  insert   表名   values(1,0x)  
  insert   表名   values(2,0x)  
  go  
   
  3、读入  
  sp_textcopy   '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where   编号=1','I'   --注意条件是   编号=1  
   
  sp_textcopy   '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where   编号=2','I'   --注意条件是   编号=2  
   
  go  
   
  4、读出成文件  
  sp_textcopy   '你的服务器名','sa','你的密码','库名','表名','image列名','c:\图片.bmp','where   编号=1','O'   --注意条件是   编号=1  
   
  sp_textcopy   '你的服务器名','sa','你的密码','库名','表名','image列名','c:\bb.doc','where   编号=2','O'   --注意条件是   编号=2  
  go  
   
   
  *********************************************************************  
   
  用Text类型:  
   
  READTEXT  
  UPDATETEXT  
  WRITETEXT  
  --------------------  
    Transact-SQL   参考    
   
     
  READTEXT  
  读取   text、ntext   或   image   列中的   text、ntext   或   image   值,从指定的偏移量开始读取指定的字节数。  
   
  语法  
  READTEXT   {   table.column   text_ptr   offset   size   }   [   HOLDLOCK   ]    
   
  参数  
  table.column  
   
  是从中读取的表和列的名称。表名和列名必须符合标识符的规则。必须指定表名和列名,不过可以选择是否指定数据库名称和所有者名称。  
   
  text_ptr  
   
  有效文本指针。text_ptr   必须是   binary(16)。  
   
  offset  
   
  开始读取   text、image   或   ntext   数据之前跳过的字节数(使用   text   或   image   数据类型时)或字符数(使用   ntext   数据类型时)。使用   ntext   数据类型时,offset   是在开始读取数据前跳过的字符数。使用   text   或   image   数据类型时,offset   是在开始读取数据前跳过的字节数。    
   
  size  
   
  是要读取数据的字节数(使用   text   或   image   数据类型时)或字符数(使用   ntext   数据类型时)。如果   size   是   0,则表示读取了   4   KB   字节的数据。  
   
  HOLDLOCK  
   
  使文本值一直锁定到事务结束。其他用户可以读取该值,但是不能对其进行修改。  
   
  注释  
  使用   TEXTPTR   函数获得有效的   text_ptr   值。如果返回不止一行,TEXTPTR   将返回指向指定行中的   text、ntext   或   image   列的指针,或返回指向查询所返回的最后一行中的   text、ntext   或   image   列的指针。由于   TEXTPTR   返回   16   字节的二进制字符串,所以最好声明一个控制文本指针的局部变量,然后在   READTEXT   中使用该变量。有关声明局部变量的更多信息,请参见   DECLARE   @local_variable。    
   
  在   SQL   Server   2000   中可能存在无效的文本指针。有关   text   in   row   选项的更多信息,请参见   sp_tableoption。有关如何使文本指针无效的更多信息,请参见   sp_invalidate_textptr。  
   
  如果   @@TEXTSIZE   函数的值小于为   READTEXT   指定的大小,它将替代为   READTEXT   指定的大小。@@TEXTSIZE   函数是对由   SET   TEXTSIZE   语句设置的返回数据字节数的限制。有关如何设置   TEXTSIZE   会话设置的更多信息,请参见   SET   TEXTSIZE。  
   
  权限  
  READTEXT   权限默认授予对指定的表具有   SELECT   权限的用户。这些权限可在传递   SELECT   权限时传递。  
   
  示例  
  下例读取   pub_info   表中   pr_info   列的第   2   个至第   26   个字符。  
   
  USE   pubs  
  GO  
  DECLARE   @ptrval   varbinary(16)  
  SELECT   @ptrval   =   TEXTPTR(pr_info)    
        FROM   pub_info   pr   INNER   JOIN   publishers   p  
              ON   pr.pub_id   =   p.pub_id    
              AND   p.pub_name   =   'New   Moon   Books'  
  READTEXT   pub_info.pr_info   @ptrval   1   25  
  GO  
   
   
  请参见  
   
  @@TEXTSIZE  
   
  UPDATETEXT  
   
  WRITETEXT  
   
  ©1988-2000   Microsoft   Corporation。保留所有权利。Top

3 楼pengdali()回复于 2003-09-03 19:41:15 得分 0

http://expert.csdn.net/Expert/TopicView1.asp?id=1594455Top

4 楼frogshero(头疼)回复于 2003-09-03 21:25:43 得分 0

學Top

5 楼ywd1981()回复于 2003-09-04 08:33:55 得分 0

我还是想问一下   这样图片能显示吗Top

相关问题

  • 存储过程
  • 存储过程
  • 存储过程
  • vb的存储
  • 存储过程
  • 存储对象???
  • 存储过程
  • 存储过程
  • 存储过程
  • 存储过程

关键词

  • sql2000
  • 数据
  • 指针
  • 文本
  • 字符
  • 函数
  • textptr
  • 字节数
  • readtext
  • 表

得分解答快速导航

  • 帖主:ywd1981
  • hjb111
  • txlicenhe

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo