SQL Server 批量插入的详细错误信息
Posted
技术标签:
【中文标题】SQL Server 批量插入的详细错误信息【英文标题】:verbose error information for SQL Server bulk insert 【发布时间】:2010-03-29 00:28:46 【问题描述】:我正在使用 SQL Server Express 2008 并且正在批量插入数据。我想要更详细的错误消息,理想情况下打印无法插入的数据。那可能吗?
【问题讨论】:
【参考方案1】:这是可能的,但要做到这一点可能需要付出很多努力——我记得我在一个子系统上工作了几天,然后才让它完成它需要做的所有事情。我相信这是(少数但仍然太多)的地方之一,在遇到错误时,SQL 将连续返回两 (2) 条错误消息,第二条消息模糊不清,并且 all 错误处理函数只能访问与第二条蹩脚消息有关的信息,而不能访问真正信息所在的第一个消息。我面前没有代码,但逻辑是这样的:
如果批量插入失败,请使用 BULK INSERT 上的“errorfile”选项生成错误文件 TRY/CATCH 批量插入调用,并仔细检查返回的错误号 如果错误是适当的类型,请打开并阅读文件的内容以确定哪里出了问题,并围绕它构建错误消息虽然很尴尬,但最终效果很好。只要您插入的驱动器+路径+文件名不超过 128 个字符(在 SQL 2005 中,我只是打赌他们在 2008 年没有解决这个问题。)我不认为批量插入是我最喜欢的命令之一.
【讨论】:
以上是关于SQL Server 批量插入的详细错误信息的主要内容,如果未能解决你的问题,请参考以下文章
配置接口配置文件 明确指出错误信息(“/”服务器上出现应用程序错误)
系统断定检查已失败。有关详细信息,请查看 SQL Server 错误日志