分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
发贴子的时候,有时候会发很长的一篇贴子,那怎么办啊?
好像: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数据库中,能存放很长文本的字段类型是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)