日期:2014-05-18  浏览次数:20382 次

请教一下,这些字段应该用什么类型啊
要保存word文档,大概最大不会超过2M吧,应该用什么类型的字段?长度多少啊?我以为是用二进制类型,但是看书上说不超过8000字节才用二进制

或者说不适合保存在数据库?

还有,不超过200字的文字用text保存合适么?长度设置多少为宜?

------解决方案--------------------
ntext、text 和 image
用于存储大型非 Unicode 字符、Unicode 字符及二进制数据的固定长度和可变长度数据类型。Unicode 数据使用 UNICODE UCS-2 字符集。

ntext

可变长度 Unicode 数据的最大长度为 230 - 1 (1,073,741,823) 个字符。存储大小是所输入字符个数的两倍(以字节为单位)。ntext 在 SQL-92 中的同义词是 national text。

text

服务器代码页中的可变长度非 Unicode 数据的最大长度为 231-1 (2,147,483,647) 个字符。当服务器代码页使用双字节字符时,存储量仍是 2,147,483,647 字节。存储大小可能小于 2,147,483,647 字节(取决于字符串)。

image

可变长度二进制数据介于 0 与 231-1 (2,147,483,647) 字节之间。


------解决方案--------------------
用text/ntext保存超过8000/4000字节的文字内容;如果是文件,可以保存在image数据类型中。

不超过200字节的文字数据可以保存在char/varchar/nchar/nvarchar等数据类型
------解决方案--------------------
利用textcopy.exe将要保存word文档按二进制流保存到image类型的字段,可逆,也就是可再读出来保存成word文档。

textcopy.exe可以在SQL安装光盘中有,在安装目录C:\Program Files\Microsoft SQL Server\MSSQL\Binn\下也有。

------解决方案--------------------
如果是要保存WORD文件用image
如果是要保存的文字内容大于4000个字以上用text/ntext
------解决方案--------------------
超过4000个汉字或者8000个字符的需要用text或者ntext保存
200左右的需要用char nchar varchar nvarchar保存就可以了
------解决方案--------------------
要保存word文档
----------------------
是保存里面的字符还是.doc文件

如果是字符,那用 char/varchar 也就是8000个字符,
nchar/nvarchar 就是4000个字符,注意单位不是 M , 而是字符数

2M 可以是多少字符啊。所以应该用 ntext或者text

如果是 .doc文件,那么上面两位都说了用 image