IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Erreur de dépassement: conversion XML vers NTEXT


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 107
    Points : 50
    Points
    50
    Par défaut Erreur de dépassement: conversion XML vers NTEXT
    Bonjour,

    Lors de la conversion d'un champ de type XML en type NTEXT, j'obtiens les messages d'erreur suivants:

    2008/03/05 00:00:46.722 N Error processing folder 'K0135_20080305_002433'. (Error #-2147217900: Offset 8828 is not in the range of available LOB data. [Microsoft OLE DB Provider for SQL Server])

    2008/03/03 00:00:55.549 N Error processing folder 'K9002_20080302_235712'. (Error #-2147217900: The XML parse error 0xc00ce55f occurred on line number 157, near the XML text "</PWS". [Microsoft OLE DB Provider for SQL Server])


    Présentement, je dois ajouter une "patch" dans le code afin de fermer la balise de "</PWS". Le champ XML est en UTF-16.

    S'agit-il d'une mauvaise installation de SQL Server 2005, ou autre chose ?

    Merci pour toute solution.

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 736
    Points : 52 447
    Points
    52 447
    Billets dans le blog
    5
    Par défaut
    Postez la requête.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 107
    Points : 50
    Points
    50
    Par défaut
    La voici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    ALTER PROCEDURE [dbo].[USP_SVR_EWTCH_LOG_STATN_STAT]
     
    (
        @FileStatusDate DATETIME,
        @XMLStatus      NTEXT,
        @RouteFiles     TEXT = NULL,
        @TraceFiles     TEXT = NULL,
        @AddressIPFiles TEXT = NULL,
        @BiosXML        TEXT = NULL
    )
     
    AS
     
    BEGIN 
     
    DECLARE @ptrval binary(16),
                 @XMLLength INTEGER,
                 @vbData NVARCHAR(4) 
     
    IF PATINDEX (N'%</PWS>%', @XMLStatus) = 0
     
        BEGIN
     
            SELECT @XMLLength = DATALENGTH(@XMLStatus)    
            CREATE TABLE  #TableType
                (
                    IDEN INTEGER IDENTITY,
                    XMLText NTEXT
                ) 
     
            INSERT INTO #TableType
                (
                    XMLText
                )
     
            SELECT @XMLStatus        
     
            SELECT @ptrval = TEXTPTR(XMLText) 
            FROM #TableType
            WHERE IDEN = 1        
     
            SET @vbData = CAST('>' AS NVARCHAR(4))
     
            UPDATETEXT #TableType.XMLText @ptrval @XMLLength 0 @vbData     
            SELECT @XMLStatus = XMLText
            FROM #TableType
            WHERE IDEN = 1
     
            DROP TABLE #TableType
     
        END
    Merci.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 736
    Points : 52 447
    Points
    52 447
    Billets dans le blog
    5
    Par défaut
    les types NTEXT se manipulent à l'aide de pointeurs par les méthjodes READTEXT et WRITETEXT / UPDATETEXT.
    Si vous êtes sous SQL Server 2005 veuillez utiliser VARCHAR(max) qui remplace NTEXT considéré comme obsolète et bientot supprimé des versions futures.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 107
    Points : 50
    Points
    50
    Par défaut
    Lors de la manipulation de ce champ XML erroné vers un champ NTEXT, il y a une limitation (Offset) à 8000 caractères.

    Existe-t-il un type NVARCHAR(500 000) ? ou autre ?

    Merci.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 107
    Points : 50
    Points
    50
    Par défaut
    Que pensez-vous de :

    sp_tableoption pour large value types out of row ?

    Merci

Discussions similaires

  1. script de conversion xml vers Bash
    Par kandy dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 10/02/2010, 14h30
  2. script de conversion xml vers Bash
    Par kandy dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 08/02/2010, 20h00
  3. Conversion XML vers PDF avec ITEXT
    Par adelpiero dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 29/07/2008, 11h16
  4. [XSLT] Conversion xml vers txt ou mdb etc
    Par narodar dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 23/06/2006, 15h31
  5. conversion XML vers OpenDocument
    Par eGGyyS dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 07/03/2006, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo