SQL SERVER数据库什么数据类型能存储大容量的文字

SQL SERVER数据库什么数据类型能存储大容量的文字,第1张

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

发贴子的时候,有时候会发很长的一篇贴子,那怎么办啊?

好像:varchar是最大的:8000!

可是有的贴子还是放不下!说是:二进制代码被截断什么的!

这是怎么回事啊?谢谢!

解析:

2000之前版本

ntext,用于 Unicode 字符,最大长度1G个字符,最大存储空间2GB

text,用于非 Unicode 字符,最大长度2G个字符,最大存储空间2GB

2005之后版本应该用nvarchar(max),varchar(max)代替ntext和text,另外可以用更高效的xml类型。它们的最大存储空间都是2GB

在 Microsoft SQL Server 的未来版本中将删除 ntext、text 和 image 数据类型

是的,大规律检索是不能通过数据库的。

检索的时候不能通过数据库的查询来完成。

这个东西涉及到搜索引擎的相关技术。

你可以写一个小程序试试,假设每篇文章 2000个汉字,有500万篇,都存入数据库,你检索一下试试?

这涉及到分词技术,分词索引,分词的反向索引

这些技术通常都是保密的。要不然google,百度它们也不会这么有实力,就因为掌握到了这些技术。

之所以这么麻烦,都因为中文语法的特殊性

BLOB :大数据类型,最大存储65K,不可以被导出,只能在oracle数据库中进行查看。

扩展: BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。

在MS SQL SERVER 安装目录下有个可执行文件叫 TEXTCOPY EXE 利用它可对 MS SQL SERVER 中的文本或图像数据进行输入输出 如果你对它不熟悉 可以在MS DOS方式下执行textcopy / 得到它的描述

下面是这个工具的描述:

Copies a single text or image value into or out of SQL Server The value is a specified text or image column of a single row (specified by the where clause ) of the specified table

If the direction is IN (/I) then the data from the specified file is copied into SQL Server replacing the existing text or image value If the direction is OUT (/O) then the text or image value is copied from SQL Server into the specified file replacing any existing file

TEXTCOPY [/S ][sqlserver]] [/U [login]] [/P ][password]]

[/D ][database]] [/T table] [/C column] [/W where clause ]

[/F file] [{/I | /O}] [/K chunksize] [/Z] [/]

/S sqlserver The SQL Server to connect to If sqlserver is not

specified the local SQL Server is used

/U login The login to connect with If login is not spec ified a trusted connection will be used

/P password The password for login If password is not specified a NULL password will be used

/D database The database that contains the table with the text or image data If database is not specified the default database of login is used

/T table The table that contains the text or image value

/C column The text or image column of table

/W where clause A plete where clause (including the WHERE keyword) that specifies a single row of table

/F file The file name

/I Copy text or image value into SQL Server from file

/O Copy text or image value out of SQL Server into file

/K chunksize Size of the data transfer buffer in bytes Minimum value is bytes default value is bytes

/Z Display debug information while running

/ Display this usage information and exit

You will be prompted for any required options you did not specify

为此 可写一个存储过程 调用这个命令

CREATE PROCEDURE sp_textcopy (

@srvname varchar ( )

@login varchar ( )

@password varchar ( )

@dbname varchar ( )

@tbname varchar ( )

@colname varchar ( )

@filename varchar ( )

@whereclause varchar ( )

@direction char( ))

AS

DECLARE @exec_str varchar ( )

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= 记录 sp_textcopy @srvn

ame = ServerName

@login = Login

@password = Password

@dbname = pubs

@tbname = pub_info

@colname = logo

@filename = c:\picture bmp

@whereclause = WHERE pub_id=

lishixinzhi/Article/program/SQLServer/201311/22537

以上就是关于SQL SERVER数据库什么数据类型能存储大容量的文字全部的内容,包括:SQL SERVER数据库什么数据类型能存储大容量的文字、大规模文本检索应当用什么数据库、请问SQL数据库中,能存放很长文本的字段类型是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9516926.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存