感谢关注,有办法解决吗?痛苦啊

解决方案 »

  1.   

    检索 ntext、text 或 image 值
    可通过以下方式检索 ntext、text 或 image 值: 在 SELECT 语句中引用该列。 
    例如,以下查询将返回每个出版商在 pr_info 列中的所有信息:USE pubs
    SELECT pr_info
    FROM pub_info这是在使用 API(例如 ADO、OLE DB、ODBC 或 DB-Library)的数据库应用程序中所使用的方法。该列被绑定到一个程序变量上,然后使用特殊的 API 函数或方法逐块检索数据。如果在 Transact-SQL 脚本、存储过程和触发器中使用这种方法,则只能用于相对较短的值。如果数据的长度大于 SET TEXTSIZE 中指定的长度,则必须增大 TEXTSIZE 或使用其它方法。当前的 TEXTSIZE 设置通过 @@TEXTSIZE 函数报告,并使用 SET TEXTSIZE 语句进行更改:SET TEXTSIZE 64512TEXTSIZE 的默认设置为 4096 (4 KB)。以下语句将 TEXTSIZE 重置为默认值:SET TEXTSIZE 0如果数据长度小于 TEXTSIZE,则将返回所有数据。DB-Library API 还支持 dbtextsize 参数,该参数可控制可以选择的 ntext、text 和 image 数据的长度。用于 SQL Server 的 Microsoft OLE DB 提供程序和 SQL Server ODBC 驱动程序自动将 @@TEXTSIZE 设置为最大值 2 GB。使用 TEXTPTR 函数可获得传递给 READTEXT 语句的文本指针。 
    READTEXT 语句用于读取 ntext、text 或 image 数据块。例如,以下查询将返回每个出版商的示例文本数据的前 25 个字符(或第一行):USE pubs
    DECLARE @textpointer varbinary(16)
    SELECT @textpointer = TEXTPTR(pr_info)
    FROM pub_info
    READTEXT pub_info.pr_info @textpointer 1 25使用 SUBSTRING 函数可检索从列开头特定偏移位置开始的数据块。 
    例如,以下查询将返回每个出版商的示例文本数据的前 25 个字符(或第一行):USE pubs
    SELECT SUBSTRING(pr_info, 1, 25) AS pr_info
    FROM pub_info使用 PATINDEX 函数可检索一些特定字节组合的偏移量。 
    然后可以在 SUBSTRING 函数或 READTEXT 语句中使用该值检索数据。例如,以下查询将在 pub_info 表的 pr_info 列中搜索 Germany 字符串,并返回起始位置 103(字符串 Germany 的 G 在 pr_info 列的第 103 个字符处开始):USE pubs
    SELECT PATINDEX('%Germany%', pr_info) AS pr_info
    FROM pub_infoPATINDEX 只在文本和字符数据类型上操作;它不接受image 值。检索 ntext、text 或 image 的各部分值
    这些方法不局限于检索从第一个字节开始的整个 ntext、text 或 image 值。可以将这些方法组合起来进行更灵活的处理,检索 ntext、text 或 image 值的不同部分。例如,以下 SELECT 语句将检索 text 值的起始标记和结束标记之间的部分:USE Northwind
    GO
    CREATE TABLE TextParts (ColA INT PRIMARY KEY, ColB TEXT)
    GO
    INSERT INTO TextParts
       VALUES( 1,
               'Sample string START TAG What I want END TAG Trailing text.')
    GO
    SELECT SUBSTRING(   ColB,
                        /* Calculate start as start of tag + tag length. */
                        (PATINDEX('%START TAG%', ColB) + 10),
                       /* Calculate SUBSTRING length as end - start. */
                        (
                          PATINDEX('%END TAG%', ColB) -
                          ( PATINDEX('%START TAG%', ColB) + 10 )
                        )
                    )
    FROM TextParts
    GO下面是结果集:------------------------
    What I want(1 row(s) affected)说明  当选择 image 数据时,返回的值包含字符 0x,表示该数据是十六进制。这两个字符算作是 TEXTSIZE 的一部分。
      

  2.   

    感谢各位,这种情况是否已经被判死刑了?
      

  3.   

    改成单用户模式,我们 把数据全部导出了!
      

  4.   

    同情.还好数据还在,够幸运的了.