【发布时间】:2009-12-11 15:05:07
【问题描述】:
我正在一个名为 Telligent 的社区平台上进行集成。我正在使用名为 BlogML 的第 3 方插件将博客文章从 XML 文件(BlogML 格式)导入我的本地 Telligent 站点。 Telligent 平台在其 SDK 中附带了许多类,因此我可以以编程方式添加内容,例如博客文章。例如
myWeblogService.AddPost(myNewPostObject);
我使用的 BlogML 应用程序本质上是解析 XML 并创建博客文章对象,然后使用类似上述示例行的代码将它们添加到站点。大约 40 次导入后,我得到一个 SQL 错误:
Exception Details: System.Data.SqlClient.SqlException:
String or binary data would be truncated.
The statement has been terminated.
我相信这个错误意味着我试图将太多数据插入到具有最大大小限制的 db 字段中。不幸的是,我无法确定这是哪个领域的问题。我在导入时运行了 SQL Server Profiler,但我似乎看不到错误发生在哪个存储过程上。是否有另一种方法可以使用分析器或其他工具来准确查看存储过程,甚至错误是由哪个字段引起的?是否有任何其他提示可以获取有关具体查看位置的更多信息?
哦,第 3 方工具的乐趣...
【问题讨论】:
-
当错误发生时,它会撤消所有已经导入的博客文章吗?如果没有,也许您可以判断哪条记录失败(最后一条成功后的下一条)并查看那里。如果导入工具有任何类型的日志记录或导入的记录计数器,那么这将是另一个查看的地方。
-
@Tom H.帖子成功进入。我已经按照您所说的在上次成功后查看帖子。我确实怀疑帖子正文对于它的数据库单元来说太大了,但正文字段是
ntext,我没有看到任何其他比我预期更长的可疑长 XML 节点。我会再看一遍,因为这是我目前唯一已知的调试此问题的方法。感谢您的评论。
标签: sql-server exception stored-procedures telligent blogml