在SQL数据库中的Text类型中无法存储32k的文本,请帮忙看一下,有什么好的方法吗???

windrain2001 2003-07-24 07:34:52
在SQL数据库中的Text类型中无法存储32k的文本,请帮忙看一下,有什么好的方法吗???在下不胜感激!!
...全文
64 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-07-29
  • 打赏
  • 举报
回复
前提上不是有吗?
8524 2003-07-29
  • 打赏
  • 举报
回复
Text类型中无法存储32k的文本可能与字符串64K长度限制有关
因此采用Insert命令实现就不能突破该限制
可以考虑用BinaryWrite实现,具体方法可以从网上获得
zjcxc 元老 2003-07-29
  • 打赏
  • 举报
回复
首先查找textcopy.exe这个文件,找到后,将它复制到C:\Program Files\Microsoft SQL Server\80\Tools\Binn

我的电脑上也没有,最后到一台7.0的电脑上才找到此文件的.
windrain2001 2003-07-29
  • 打赏
  • 举报
回复
我按照你的方法: Sql 提示 :
'textcopy' is not recognized as an internal or external command,
pengdali 2003-07-28
  • 打赏
  • 举报
回复
create table aaa(a int,b text)
go



CREATE PROCEDURE sp_textcopy
@srvname varchar (30),
@login varchar (30),
@password varchar (30),
@dbname varchar (30),
@tbname varchar (30),
@colname varchar (30),
@filename varchar (30),
@whereclause varchar (40),
@direction char(1)
AS
/* 这是使用textcopy工具将文件插入到数据库中,如果有前台工具可以用前台开发工具将文件插入,这里为了演示 */
DECLARE @exec_str varchar (255)
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
go

insert aaa values(1,'') --''是必须的不是null


sp_textcopy 'daliserver','sa','element','test','aaa','b','c:\tt.txt','where a=1','I' --注意条件是 a=1




go
drop table aaa
go
drop proc sp_textcopy



前提c:\下有tt.txt文件,如果报textcopy不是可执行文件的话,你就到
C:\Program Files\Microsoft SQL Server\MSSQL\Binn
目录下拷备 textcopy.exe到:
C:\Program Files\Microsoft SQL Server\80\Tools\Binn
cxz7531 2003-07-28
  • 打赏
  • 举报
回复
你肯定用字符串的方式存储,那当然不行。应该用Blob的方式存储,
windrain2001 2003-07-28
  • 打赏
  • 举报
回复
请问:存文件怎么存,存文件内容有怎么存?
start1127 2003-07-25
  • 打赏
  • 举报
回复
image存储
zclxyh 2003-07-25
  • 打赏
  • 举报
回复
可以使用image字段类型来存储.
nboys 2003-07-25
  • 打赏
  • 举报
回复
在SQL数据库中的Text类型中无法存储32k的文本,不知你是把文件存进去还是保存其中的文本

如果存文件的话,用image,存文件内容的话,可以用text,ntext
hjb111 2003-07-25
  • 打赏
  • 举报
回复
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) 字节之间。

注释
下面的函数和语句可以与 ntext、text 或 image 数据一起使用
可以呀?
zjcxc 元老 2003-07-24
  • 打赏
  • 举报
回复
怎么会不能存储?是不是你搞错了.

有什么错误提示没有?
zjcxc 元老 2003-07-24
  • 打赏
  • 举报
回复
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) 字节之间。

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧