Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 169469
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T12:38:11+00:00 2026-05-11T12:38:11+00:00

I know NTEXT is going away and that there are larger best-practices issues here

  • 0

I know NTEXT is going away and that there are larger best-practices issues here (like storing XML in an NTEXT column), but I have a table containing XML from which I need to pluck a attribute value. This should be easy to do using sp_xml_preparedocument but is made more tricky by the fact that you cannot declare a local variable of type NTEXT and I cannot figure out how to use an expression to specify the XML text passed to the function. I can do it like this in SQL 2005 because of the XML or VARCHAR(MAX) datatypes, but what can I do for SQL 2000?

DECLARE @XmlHandle int DECLARE @ProfileXml xml SELECT @ProfileXml = ProfileXml FROM ImportProfile WHERE ProfileId = 1  EXEC sp_xml_preparedocument @XmlHandle output, @ProfileXml  -- Pluck the Folder TemplateId out of the FldTemplateId XML attribute. SELECT FolderTemplateId FROM OPENXML( @XmlHandle, '/ImportProfile', 1) WITH(  FolderTemplateId int '@FldTemplateId' )  EXEC sp_xml_removedocument @XmlHandle 

The only thing I can come up with for SQL 2000 is to use varchar(8000). Is there really no way to use an expression like the following?

EXEC sp_xml_preparedocument @XmlHandle output, (SELECT ProfileXml FROM ImportProfile WHERE ProfileId = 1) 
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-11T12:38:11+00:00Added an answer on May 11, 2026 at 12:38 pm

    Great question.. but no solution

    Thoughts:

    • You can’t wrap the SELECT call in a UDF (to create a kind of dummy ntext local var)
    • You can’t wrap the sp_xml_preparedocument call in a scalar UDF (to use in SELECT) because you can’t call extended stored procs
    • You can’t concatenate a call to run dynamically because you’ll hit string limits and scop issues
    • Ditto a self call using OPENQUERY
    • textptr + READTEXT can’t be added as a parameter to sp_xml_preparedocument

    So why does sp_xml_preparedocument take ntext as a datatype?

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Does anyone know what's going to be in the next version of jquery (1.3.3
I know that it's a subject that can raise a lot of debate, but
Not sure if this question is going to make sense or not be here
hi i know where my code is going wrong, but don't know how to
I know this is going to sound silly but I can't find what's wrong.
I'm going nuts over this special quicksort algorithm and I don't know where is
This may end up being a trivial question - I know I'm going to
I know, that when I implement tableView:willBeginEditingRowAtIndexPath: and tableView:didEndEditingRowAtIndexPath: , a swipe-to-delete does not
I'm going to start of by noting that I have next to no python
I know this is going to be super simple for someone but i've just

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.