SQL2008R2SP1的功能是调用另外10个存储过程 SP2-SP11.
SP2-11的功能是把传入的XML数据插入对应的表(table).现在通过SP1 来调用SP2,如果XML的某个数据有格式错误,则报错如下,比如:
Msg 50000, Level 16, State 5, Procedure SP2, Line 174
Main insert transaction failed (Id=38): Error converting data type nvarchar to float.OrderID=38就是传入的整个XML数据的ID,我们只知道这个XML(Id=38, Order_Number = '100101' )出错了,但是不知道具体是哪个xml段有错误。请问如何解决这个问题呢?调用程序如下:
BEGIN DECLARE @Id int
DECLARE @FileContents xml DECLARE MyCursor CURSOR FOR
SELECT XMLContent, [ID] FROM [dbo].[Table1]
WHERE Order_Number = '100101' //这个XML文件报错 OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @FileContents, @Id
EXECUTE SP2 @FileContents
CLOSE MyCursorEND
SP2-11的功能是把传入的XML数据插入对应的表(table).现在通过SP1 来调用SP2,如果XML的某个数据有格式错误,则报错如下,比如:
Msg 50000, Level 16, State 5, Procedure SP2, Line 174
Main insert transaction failed (Id=38): Error converting data type nvarchar to float.OrderID=38就是传入的整个XML数据的ID,我们只知道这个XML(Id=38, Order_Number = '100101' )出错了,但是不知道具体是哪个xml段有错误。请问如何解决这个问题呢?调用程序如下:
BEGIN DECLARE @Id int
DECLARE @FileContents xml DECLARE MyCursor CURSOR FOR
SELECT XMLContent, [ID] FROM [dbo].[Table1]
WHERE Order_Number = '100101' //这个XML文件报错 OPEN MyCursor
FETCH NEXT FROM MyCursor INTO @FileContents, @Id
EXECUTE SP2 @FileContents
CLOSE MyCursorEND
解决方案 »
- 请问安装 SQL Express2008时,只安装Framework4.0是否可以
- 存储过程
- insert into 插入日期型数据????
- 大家快救救我吧!合并字段问题!~
- 请问SQL SERVER中的LOG怎样用,都是一些OPENING FILE“D:MSSOL7。。。。”START UP DATABASE,我怎样用这些LOG来找出谁做了什么
- 关于分发复制的问题
- 50分求教: 各位ADO高手請進來說話。
- 分、分、分、sqlldr 将文本导入表的问题。答题就给分。
- 请大家推荐一本关于Sql Server的好书。记得,要说明原因。参与有分!
- 函数中调用CAST()跟直接调用的结果为什么不一样
- sql 2008中的作业备份问题
- 关于xp_cmdshell
你可以按照这个方向找问题。
或者在sp2中部分转换列,看看到底哪里出问题。如果你想一下子找到这个出错的列,需要些很多语句,意义不大。
Validate an XML document in TSQL using XSD by Jacob Sebastian:http://blog.sqlauthority.com/2009/12/02/sql-server-validate-an-xml-document-in-tsql-using-xsd-by-jacob-sebastian/You could google lot of these info.