|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: Wednesday, February 13, 2013 9:15 PM
Points: 112,
Visits: 319
|
|
Hi Jacob,
I am trying to Raise an error using RAISEERROR function in sql when the XML schema validation fails. I am doing this inside a store proc. I am declaring the XML doc binding it to it's XSD schema in the TRY block and if validation fails, raise a user define error number by using RAISEERROR function in the catch block. However, somehow i am not able to do this and sql return it's own error the moment it executes that line of code. So using Employee example here, I am doing something like this.
CREATE PROC ImportEmployeeInfo @EmployeeXML as XML AS
BEGIN
BEGIN TRY
DECLARE @EmpXML AS XML(EmployeeSchema) --declaring a local XML variable and binding it to a schema DECLARE @LocalError
SET @EmpXML = @EmployeeXML -- here I am setting the @EmpXML to @EmployeeXML variable passed in IF @@error<>0 --if the @EmployeeXML failed the XSD validation, i beileve there would be an error right BEGIN SET @LocalError = 50001 --user defined error RaiseError(' The input parameter @EmployeeXML is not valid', 16, 1) END
--The XML shredding and import into table goes here
END TRY
BEGIN CATCH
--I have another another user defined errorhandler proc here which will take the above @LocalError --as input parameter and raise a detailed error
END CATCH
END --End of Proc
|
|
|
|
|
SSC-Addicted
      
Group: General Forum Members
Last Login: Saturday, May 11, 2013 8:17 AM
Points: 460,
Visits: 2,521
|
|
Here is an example that I just tried and it works
DECLARE @x XML(CustomerSchema), @y XML SELECT @y = '<test>a</test>' BEGIN TRY SELECT @x = @y END TRY BEGIN CATCH RAISERROR('Hey, this is an invalid XML',16,1) END CATCH /* OUTPUT:
Msg 50000, Level 16, State 1, Line 7 Hey, this is an invalid XML */
.
|
|
|
|
|
Forum Newbie
      
Group: General Forum Members
Last Login: Monday, February 06, 2012 4:59 AM
Points: 1,
Visits: 27
|
|
hi, can any one please let me know how to get multiple error messages while validating xml using xsd? no CLR or any dlls. thank you so much in advance.
|
|
|
|
|
Forum Newbie
      
Group: General Forum Members
Last Login: Monday, May 13, 2013 10:52 AM
Points: 1,
Visits: 21
|
|
Is there any way to get all error messages validating xml using xsd? no CLR or any dlls.
|
|
|
|