1. sql server2000中text类型的数据能容纳多少个汉字
这些在SQL帮助里都有的,上面两位就不要误导人家了.
varchar 8000
nvarchar 4000
text 1073741823
ntext 536870911
楼主可以试下从后台程序里插入的方式,我通常都是那么做的.不要直接把文字粘贴到数据库里,那样当你粘贴少数字还可以,一但超过就会显示<logn text>而且不让你做任何修改.
其实你的简介用nvarchar设置成最大,也就是4000就足够了.另外还有一点如果你是粘贴的话当你点粘贴后没有任何反应的话你可以减少粘贴字数,分几次粘贴就行了,具体情况我不知道是什么原因,但我每次都是这么做的,呵呵,希望我的回答能够帮上你.
2. SQL 2000的TEXT类型数据上限问题
SQL2000的字符串数据类型:
char:1-8000字节
nchar:1-4000字节
varchar:1-8000字节
nvarchar:1-4000字节
SQL2000文本和图形数据:
text:大约2G字节
ntext:大约1G字节
image:只存储图片,大约2G字节
我在text数据类型中存储过2万多汉字文件,是不是你的软件版本问题
3. 求助:MS SQL2000中含有text类型的列如何去操作
和varchar操作是一样的,你试试
4. sqlserver2000 text字段长度如何修改
text字段的存取与varchar的存取是不一样的,如果text里存放的内容比较小(小于8000字符),直接用select、insert、update语句可以存取内容,如果内容太大就只能用clob对象来处理。你说的1024个文字不知道是怎么算出来的,把你的程序贴出来看看才能给出具体解决方案。
5. sql server2000 text数据类型
MS-SQL 2000 varchar(8000) = varchar(max), 是最大
text类型 Unicode 文字 2^32 -1
6. SQL2000的text类型的字段用PHP为什么只能取出前面的
一、针对MS SQL SERVER数据库
有两种解决方案,如下:
修改php.ini来实现:
打开php.ini,可看到mssql.textsize,mssql.textlimit两个选项:
; Valid range 0 - 2147483647. Default = 4096.
;mssql.textlimit = 4096
; Valid range 0 - 2147483647. Default = 4096.
;mssql.textsize = 4096
可以看到默认配置为4096字节,也就是经常碰到的被截断为4K,将之改为合适的大小,去掉前面的分号,然后保存并重起WEB服务器即可。
从上面两个选项可看到范围为:0 - 2147483647字节,其实-1也可以的,查看一下PHP源代码即可发现-1表示无限制 :)
if (MS_SQL_G(textlimit) != -1) {
sprintf(buffer, "%li", MS_SQL_G(textlimit));
if (DBSETOPT(mssql.link, DBTEXTLIMIT, buffer)==FAIL) {
efree(hashed_details);
dbfreelogin(mssql.login);
RETURN_FALSE;
}
}
if (MS_SQL_G(textsize) != -1) {
sprintf(buffer, "SET TEXTSIZE %li", MS_SQL_G(textsize));
dbcmd(mssql.link, buffer);
dbsqlexec(mssql.link);
dbresults(mssql.link);
}
在PHP中查询之前执行SET TEXTSIZE 合适的大小:
只需在SELECT之前执行
mssql_query("SET TEXTSIZE 65536");
从上面PHP源代码中可看到其实也是执行SET TEXTSIZE的 :)
二、针对Sybase数据库
由于该扩展在php.ini没有像SQL SERVER那样的选项可配置,所以只有采用上面的第二种方法,即:
在SELECT之前执行
sybase_query("SET TEXTSIZE 65536");
7. sql2000中 text数据类型的长度为什么只能是16
text 字符型 text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符
16只是存储方式字符字节。
8. sql2000中用text存储超过8000字节数据遇到的问题。
DECLARE @ptrval binary(16)
SELECT @ptrval=TEXTPTR(content)
FROM Table1
WHERE idd=@@identity--------改为where idd=@id
9. SQL SERVER 2000中,用哪个命令来读取TEXT变量
TEXTPTR(column)函数,
TEXTPTR函数返回一个指向存储文本的第一个数据库页的指针其返回值是一个VARBINARY16类型的二进制字符串如果数据类型为TEXT,NTEXT或IMAGE的列没有赋予初值则TEXTPTR函数返回一个NULL指针
它也是要和readtext一起用的,下面是个例子:
USE pubs
GO
DECLARE @ptrval varbinary(16)
SELECT @ptrval = TEXTPTR(pr_info)
FROM pub_info pr INNER JOIN publishers p
ON pr.pub_id = p.pub_id
AND p.pub_name = 'New Moon Books'
READTEXT pub_info.pr_info @ptrval 1 25
GO
10. 如何在sql2000 中的text类型中导入数据
查询分析器中写入BULK INSER(大容量文本导入)
例子:
txt文件内容:
数据|数据|数据
数据|数据|数据
现在要将这导入到表中.结果是
col1 col2 col3
数据 数据 数据
数据 数据 数据
语句:
BULK INSERT 表名
FROM 'C:\name.txt'
WITH
(
FIELDTERMINATOR='|',
ROWTERMINATOR='\n',
DATAFILETYPE='char'
);
--或者:
BULK INSERT 表名
FROM 'C:\name.txt'
WITH
(
FIELDTERMINATOR='|',
ROWTERMINATOR='\n'
);
-------------------------------------
假如原始数据为:
txt文件内容:
数据|数据|
数据|数据|数据
--语句应使用:
BULK INSERT 表名
FROM 'C:\name.txt'
WITH
(
FIELDTERMINATOR='|',
ROWTERMINATOR='\n',
KEEPNULLS
);
只有一个字段的话,把FIELDTERMINATOR='|',去掉