Ntext 數據類型如何存儲和讀取?

shining916 2006-08-21 11:30:00
開啓 SQL Profiler 收集資料
選擇 Save To Table
系統會自動建立一個表來記錄收集到的資料,收集的資料中有個欄位是Datatext,
Datatext的數據類型是Ntext(16),並且不能修改。
收集完畢,開始讀取資料時發現這個欄位資料是不完整的。比較長的SQL語句都被截斷了。

請問,這是怎麽回事兒?要怎麽才能解決。
ntext最多可以存2G的資料,怎麽過長點的SQL 語句都不行呢?
Sql Profiler監控到的資料各位以往都是怎麽存儲的?用Excel存出來格式全亂了。
誰能回答,不勝感激,並以分相贈
...全文
345 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
shining916 2006-08-22
  • 打赏
  • 举报
回复
改成8000后OK了,目前還沒有發現長過8000的結果,但是,超過8000可能還是會截斷。
謝謝 紅鑽石 鄒建。分兒全給你!!
zjcxc 2006-08-21
  • 打赏
  • 举报
回复
如果是sql profile自动建立的资料表, 并且保存的数据, 那么多半是显示的问题而已
zjcxc 2006-08-21
  • 打赏
  • 举报
回复
至于你说的截断的问题, 可能的原因:
1. 保存的时候就没有保存完整, 可能是方法不当, 也可能是程序使用的变量不当
这点你可以在查询分析器中直接用insert语句去插入, 绝对可以插入很长的数据而不截断

2. 显示的问题
ntext数据很长, 所以查询分析器什么的不可能显示完, 你可以用datalength(ntext列)看看里面存储瓣数据长度来确定有多少数据.
也可以程序里面读取到文件中, 看看数据有没有被截断.
zjcxc 2006-08-21
  • 打赏
  • 举报
回复
Ntext(16)

你看到的是指向数据存储区的指针, 并不是实际数据, 所以当然是固定为16且不可改了.\

ntext的数据是单独存储的, 不与原始表存储在一齐.
zjcxc 2006-08-21
  • 打赏
  • 举报
回复
如果你是用查询分析器--工具--选项--结果, 将结果的最大长度设置为8000
shining916 2006-08-21
  • 打赏
  • 举报
回复
在綫等
shining916 2006-08-21
  • 打赏
  • 举报
回复
謝謝大俠回復,我執行以下:
select max(datalength(textdata)) from [Profiler自動創建的Table]結果是
8262
shining916 2006-08-21
  • 打赏
  • 举报
回复
是 Sql Profiler自己建立的資料表,存儲的數據。
要如何讀出來全部内容呢?

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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