电脑安全

您当前的位置:主页 > 电脑安全 >

SQL Server ntext、text 和 image-网络编程

来源:[db:来源]标题:   字节    编辑:电脑技术全能网 时间:2019-09-19 18:28

原标题:SQL Server ntext、text 和 image-网络编程
   在 MicrosoftSQL Server 的将来版本中将删除 ntext、text 和 image 数据范例。请幸免在新开辟任务中应用这些数据范例,并斟酌修正以后应用这些数据范例的利用顺序。请改用 nvarchar(max)、varchar(max) 和 varbinary(max)。 用于存储大型非 Unicode 字符、Unicode 字符及二进制数据的牢固长度数据范例和可变长度数据范例。Unicode 数据应用 UNICODE UCS-2 字符集。一个现实任务中的例子:

1 DECLARE @ptrval varbinary(16)2 SELECT @ptrval = TEXTPTR(f006l_0046) 3 FROM TB_TEXT_0046 where ob_textid_0046='36239710'4 READTEXT TB_TEXT_0046.f006l_0046 @ptrval 0 32955 GO
在查问剖析器,或许企业治理器中咱们看这些范例的数据时,平日情形下是看不到或许看到不完的数据的。现实在T-SQL中存在一个ReadText函数能够实现此任务,若不晓得要以后列的长度时,一个很傻的方法是能够设定一个很大的,而后,履行之,将呈现过错提醒,在过错提醒中能够看到最大值。以下这些笔墨摘自Ms SQL2000的联机丛书。 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 中应用该变量。无关申明部分变量的更多信息,请拜见 http://www.cnblogs.com/xinerzhui/admin/mk:@MSITStore:C:Program%20FilesMicrosoft%20SQL%20Server80ToolsBookstsqlref.chm::/ts_de-dz_66w5.htm。在 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 个字符。