Home All Groups Group Topic Archive Search About

The pains of XML programming

Author
24 Aug 2006 12:25 AM
Carly
Woow...
I am reading this book and see sp_xml_preparedocument and OPENXML and
other stuff .... it looks quite complicated....
and is just how to process XML info when is already in the database....
Does anybody have a nice example of how I would go to read an XML file
store it in the database and then process it....

Can somebody point me to some articles that appear less
frightening?????

Thanks,

Carly

Author
24 Aug 2006 2:48 AM
Vadivel
I wrote a SPLIT function in sql and during that process I have made use of
these system procs. May be you want to check that.
http://vadivel.blogspot.com/2006/05/split-function-in-sql-server-method-2.html

Best Regards
Vadivel

http://vadivel.blogspot.com

Show quote
"Carly" wrote:

> Woow...
> I am reading this book and see sp_xml_preparedocument and OPENXML and
> other stuff .... it looks quite complicated....
> and is just how to process XML info when is already in the database....
> Does anybody have a nice example of how I would go to read an XML file
> store it in the database and then process it....
>
> Can somebody point me to some articles that appear less
> frightening?????
>
> Thanks,
>
> Carly
>
>
Author
25 Aug 2006 12:37 PM
Bob Williams
Hi All,

I have a stored procedure that gives the following error:

With the Robust Option
-----------------------------------------------------------------------------------------------------------------------

DTSStep_DTSExecuteSQLTask_2
DTSRun OnError:  DTSStep_DTSExecuteSQLTask_2, Error = -2147217900
(80040E14)
Error string:  Warning: The query processor could not produce a query
plan from the optimizer
because the total length of all the columns in the GROUP BY or ORDER BY
clause exceeds 8000 bytes.
Resubmit your query without the ROBUST PLAN hint.
Error source:  Microsoft OLE DB Provider for SQL Server
Help file:        Help context:  0
Error Detail Records:      Error:  -2147217900 (80040E14); Provider
Error:  8619 (21AB)
Error string:  Warning: The query processor could not produce a query
plan from the optimizer
because the total length of all the columns in the GROUP BY or ORDER BY
clause exceeds 8000 bytes.
Resubmit your query without the ROBUST PLAN hint.
Error source:  Microsoft OLE DB Provider for SQL Server
Help file:        Help context:  0
DTSRun OnFinish:  DTSStep_DT...  Process Exit Code 1.  The step failed.

After removing Robust Option
--------------------------------------------------------------------------------------------------------------

DTSRun:  Executing...   DTSRun OnStart:  DTSStep_DTSExecuteSQLTask_2
DTSRun OnError:  DTSStep_DTSExecuteSQLTask_2, Error = -2147217900
(80040E14)
Error string:  Cannot create a worktable row larger than allowable
maximum. Resubmit your query with the ROBUST PLAN hint.
Error source:  Microsoft OLE DB Provider for SQL Server
Help file:        Help context:  0
Error Detail Records:      Error:  -2147217900 (80040E14);
Provider Error:  510 (1FE)      Error string:
Cannot create a worktable row larger than allowable maximum. Resubmit
your query with the ROBUST PLAN hint.
Error source:  Microsoft OLE DB Provider for SQL Server
Help file:        Help context:  0
DTSRun OnFinish:  DTSStep_DTSExecuteSQLTask_2
DTSRun:  Package execution complete.  Process Exit Code 1.  The step failed.

I'm really not sure what to do past here.  Can anyone help?

Thanks,
Bob Williams
Author
25 Aug 2006 1:06 PM
Jim Underwood
Do you actually have a group by or order by clause that is over 8K
characters?

Chances are that rewriting your SQL will fix the issue.  I realize this is
not what you are asking, but I can't imagine a reason to have an order by or
group by clause that long.

This sounds like a case where your approach needs to be altered and you
simply ran into a limit of the DB processing capability.

Can you post some DDL and the SQL that you are actually using?

Show quote
"Bob Williams" <rtwilli***@dllr.state.md.us> wrote in message
news:uDQU6LEyGHA.1252@TK2MSFTNGP04.phx.gbl...
> Hi All,
>
> I have a stored procedure that gives the following error:
>
> With the Robust Option
> --------------------------------------------------------------------------
---------------------------------------------
>
> DTSStep_DTSExecuteSQLTask_2
> DTSRun OnError:  DTSStep_DTSExecuteSQLTask_2, Error = -2147217900
> (80040E14)
> Error string:  Warning: The query processor could not produce a query
> plan from the optimizer
> because the total length of all the columns in the GROUP BY or ORDER BY
> clause exceeds 8000 bytes.
> Resubmit your query without the ROBUST PLAN hint.
> Error source:  Microsoft OLE DB Provider for SQL Server
> Help file:        Help context:  0
> Error Detail Records:      Error:  -2147217900 (80040E14); Provider
> Error:  8619 (21AB)
> Error string:  Warning: The query processor could not produce a query
> plan from the optimizer
> because the total length of all the columns in the GROUP BY or ORDER BY
> clause exceeds 8000 bytes.
> Resubmit your query without the ROBUST PLAN hint.
> Error source:  Microsoft OLE DB Provider for SQL Server
> Help file:        Help context:  0
> DTSRun OnFinish:  DTSStep_DT...  Process Exit Code 1.  The step failed.
>
> After removing Robust Option
> --------------------------------------------------------------------------
------------------------------------
>
> DTSRun:  Executing...   DTSRun OnStart:  DTSStep_DTSExecuteSQLTask_2
> DTSRun OnError:  DTSStep_DTSExecuteSQLTask_2, Error = -2147217900
> (80040E14)
> Error string:  Cannot create a worktable row larger than allowable
> maximum. Resubmit your query with the ROBUST PLAN hint.
> Error source:  Microsoft OLE DB Provider for SQL Server
> Help file:        Help context:  0
> Error Detail Records:      Error:  -2147217900 (80040E14);
> Provider Error:  510 (1FE)      Error string:
> Cannot create a worktable row larger than allowable maximum. Resubmit
> your query with the ROBUST PLAN hint.
> Error source:  Microsoft OLE DB Provider for SQL Server
> Help file:        Help context:  0
> DTSRun OnFinish:  DTSStep_DTSExecuteSQLTask_2
> DTSRun:  Package execution complete.  Process Exit Code 1.  The step
failed.
>
> I'm really not sure what to do past here.  Can anyone help?
>
> Thanks,
> Bob Williams
Author
24 Aug 2006 4:53 AM
l
Hello Carly,

Some questions first.

a. are you using Sql 2000 or 2005?
b. what do you mean "process" for the XML. Can you be more specific.

Thanks,
Kent Tegels, DevelopMentor
http://staff.develop.com/ktegels/
Author
24 Aug 2006 4:53 AM
l
Hello Carly,

Some questions first.

a. are you using Sql 2000 or 2005?
b. what do you mean "process" for the XML. Can you be more specific.

Thanks,
Kent Tegels, DevelopMentor
http://staff.develop.com/ktegels/

AddThis Social Bookmark Button