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

Adaptive Server Enterprise Sybase Discussion :

formatage des données en xml


Sujet :

Adaptive Server Enterprise Sybase

  1. #1
    Membre régulier
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2003
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2003
    Messages : 148
    Points : 118
    Points
    118
    Par défaut formatage des données en xml
    Bonjour, j'ai une base de données sybase 15. j'ai utilisé la procedure de rob vershor pour formatter les données en xml, voir le code ci-dessous.
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    507
    508
    509
    510
    511
    512
    513
    514
    515
    516
    517
    518
    519
    520
    521
    522
    523
    524
    525
    526
    527
    528
    529
    530
    531
    532
    533
    534
    535
    536
    537
    538
    539
    540
    541
    542
    543
    544
    545
    546
    547
    548
    549
    550
    551
    552
    553
    554
    555
    556
    557
    558
    559
    560
    561
    562
    563
    564
    565
    566
    567
    568
    569
    570
    571
    572
    573
    574
    575
    576
    577
    578
    579
    580
    581
    582
    583
    584
    585
    586
    587
    588
    589
    590
    591
    592
    593
    594
    595
    596
    597
    598
    599
    600
    601
    602
    603
    604
    605
    606
    607
    608
    609
    610
    611
    612
    613
    614
    615
    616
    617
    618
    619
    620
    621
    622
    623
    624
    625
    626
    627
    628
    629
    630
    631
    632
    633
    634
    635
    636
     
     
     
    /* 
     * SQL2XML.SQL - stored procedures to present relational data in XML format
     * 
     * Description
     * ===========
     * This file contains the stored procedure 'sp_tab2xml', which presents the
     * rows in a database table (or view) in XML format: each row will be 
     * presented as an XML documented, with tags corresponding to the column 
     * names.
     * This functionality may be useful for users who want a quick-and-easy
     * way to present data in relational database tables into XML format.
     *
     * Please note:
     * ------------
     * This probably isn't the most exciting piece of software you've
     * ever seen (I've certainly written more interesting stuff). I wrote these
     * procedures because I kept getting requests from ASE users who simply 
     * want to XML-ize some of their data. Well, that's exactly what 
     * this stored procedure is meant for.
     *
     * This stored procedure is rather straightforward, and is not intended
     * as production-grade code, but rather as a demonstration of how this
     * kind of functionality may be implemented using standard ASE features.
     * Readers are encouraged to use this code as a starting point for 
     * writing code that suits their needs.
     *
     * This code can be found at http://www.sypron.nl/xml.html.
     *
     *
     * Installation
     * ============
     * Execute this script using "isql", using a login having "sa_role".
     * The stored procedure will be created in the sybsystemprocs database.
     *
     * 
     * Usage
     * =====
     * Use as follows:
     *     sp_tab2xml your_table_name [, "dtd_specification" ] [, "column-list" ] [, "where/order-by clause" ]
     *
     * This will list all rows in the specified table as XML documents.
     * The DTD specification is optional and will be copied blindly to
     * the XML result (no validation is performed).
     * Example:
     *
     * 1> use pubs3
     * 2> go
     * 1> sp_tab2xml publishers
     * 2> go
     * <?xml version="1.0"?>
     * <resultset>
     * <publishers>
     *    <pub_id>0736</pub_id>
     *    <pub_name>New Age Books</pub_name>
     *    <city>Boston</city>
     *    <state>MA</state>
     * </publishers>
     * 
     * <publishers>
     *    <pub_id>0877</pub_id>
     *    <pub_name>Binnet & Hardley</pub_name>
     *    <city>Washington</city>
     *    <state>DC</state>
     * </publishers>
     * 
     * <publishers>
     *    <pub_id>1389</pub_id>
     *    <pub_name>Algodata Infosystems</pub_name>
     *    <city>Berkeley</city>
     *    <state>CA</state>
     * </publishers>
     * </resultset>
     *
     *
     * The optional column list parameter can be used to filter certain columns.
     * Example:
     *
     * 1> sp_tab2xml publishers, NULL, "pub_id, city"
     * 2> go
     *
     * Colums can also be modified, and the name of XML tags an be changed:
     * Example:
     *
     * 1> sp_tab2xml publishers, NULL, "Town=upper(city), Publisher=pub_id"
     * 2> go
     *
     *
     * The optional where/order-by clause is internally attached to a select 
     * query so you can filter rows and sorts the results. Example:
     *
     * 1> sp_tab2xml publishers, NULL, NULL, "where city like 'B%' order by state"
     * 2> go
     *
     * 
     *
     * Notes
     * =====
     * - This stored procedure relies heavily on the execute-immediate feature
     *   of ASE, so it can only be used in ASE 12.0 or later.
     *
     * - The maximum length of any character string expression is 255 bytes;
     *   when used in ASE 12.5, the 255-byte limit still applies (in other
     *   words, the longer (var)char types in 12.5 aren't supported)
     *
     * - The contents of the specified column list and where/order-by clause are 
     *   not validated prior to execution. 
     *
     * - When specifying values for all parameters, the resulting string can 
     *   easily exceed 255 characters. This is not checked.
     *
     * - Some very arbitrary formatting decisions have been made for 
     *   binary and datetime values; change these if you don't like 'm...
     *
     * - (var)binary datatypes are converted to character strings and 
     *   prefixed with "0x" (remove this if you don't like it...)
     *
     * - (var)binary datatypes are converted to character strings, so
     *   (var)binary columns longer than 127 bytes will be truncated 
     *   in the result.
     *
     * - For columns of text datatype, the result will start with a 
     *   warning message, followed by the first 200-something characters.
     *
     * - Columns of image and Java datatypes are not supported; instead
     *   of a data value, a message will be substituted.
     *
     * - The owner of a table cannot be specified. This can be worked around 
     *   by selecting rows into another table first and running sp_tab2xml 
     *   on that table. 
     *
     * - When operated on a #temp table, the '#' character won't appear in 
     *   the XML tags: for table #xyz, "tmp_xyz" is used in the XML tags.
     *
     *
     * Revision History
     * ================
     * Version 1.0  05-May-2002  First version
     * Version 1.1  07-May-2002  Revisions for better XML compliance
     * Version 1.2  07-May-2002  Clean up work tables
     * Version 1.3  29-Jan-2003  Added where/order-by clause and column list 
     *                           parameters for more flexibility
     * Version 1.4  08-Jun-2003  Handles identity columns now; supports non-sa 
     *                           users and #temp tables; various small fixes.
     * 
     *
     * Copyright Note & Disclaimer :
     * =============================
     * This software is provided "as is"; there is no warranty of any kind.
     * While this software is believed to work accurately, it may not work 
     * correctly and/or reliably in a production environment. In no event shall  
     * Rob Verschoor and/or Sypron B.V. be liable for any damages resulting 
     * from the use of this software. 
     * You are allowed to use this software free of charge for your own 
     * professional, non-commercial purposes. 
     * You are not allowed to sell or bundle this software or use it for any 
     * other commercial purpose without prior written permission from 
     * Rob Verschoor/Sypron B.V.
     * You may (re)distribute only unaltered copies of this software, which 
     * must include this copyright note, as well as the copyright note in 
     * the header of each stored procedure.
     *
     * Note: All trademarks are acknowledged.
     *
     * Please send any comments, bugs, suggestions etc. to the below email
     * address.
     *
     * (c) 2002-2003 Copyright Rob Verschoor/Sypron B.V.
     *                    The Netherlands
     *
     *                    Email: rob@sypron.nl
     *                    WWW  : http://www.sypron.nl/
     *---------------------------------------------------------------------------- 
     */
     
    set nocount on
    go
    set flushmessage on
    go
     
    print " "
    print "Copyright (c) 2002-2003 Rob Verschoor/Sypron B.V."
    print "For more information about these stored procedures, go to"
    print "http://www.sypron.nl/xml.html "
    print " " 
     
    use master
    go
     
    -- version check: requires 12.0 or later ('cos we're using 'execute immediate')
    if isnull(object_id("master.dbo.sysqueryplans"),99) >= 99
    begin
       print ""
       print ""
       print "***************************************"
       print "***************************************"
       print " You must run ASE version 12.0 or later"
       print " to install these stored procedures."
       print "***************************************"
       print "***************************************"
       print " "
       print " "
       print " "
       print "Quitting..."
       print " "
       set background on    -- terminate this script now
    end
    go
     
    -- check sa_role/sso_role
    if charindex("sa_role", show_role()) = 0 or charindex("sso_role", show_role()) = 0
    begin
       print ""
       print ""
       print "***************************************"
       print "***************************************"
       print " You need 'sa_role' and 'sso_role' to "
       print " run this script.  Please retry..."
       print "***************************************"
       print "***************************************"
       print " "
       print " "
       print " "
       print "Quitting..."
       print " "
       select syb_quit()
    end
    go
     
    print ""
    print "Installing 'sp_tab2xml'..."
    print "Usage: "
    print "   sp_tab2xml your_table_name [, ""dtd_specification"" ] [, ""column-list"" ] [, ""where/order-by clause"" ]"
    print ""
    go
     
    sp_configure "allow updates", 1
    go
     
    use sybsystemprocs
    go
     
    --------------------------------------------------------------------------
    --
    -- Create the stored procedure 'sp_row2xml'
    -- This processes a single row; it is to be called by sp_tab2xml; it 
    -- cannot be used by itself
    -- 
    --------------------------------------------------------------------------
     
    create table #sql2xmlcol (char_value varchar(255) null)
    go
     
    if object_id("sp_row2xml") <> NULL
      drop proc sp_row2xml
    go
     
    create proc sp_row2xml
    /* Copyright (c) 2002-2003 Rob Verschoor/Sypron B.V. */
    -- this procedure is called by sp_tab2xml
      @tmprow varchar(80)
    as
    begin
      declare @cmd varchar(255) 
      declare @tag varchar(255) 
      declare @err int, @rc int
      declare @total_length int, @ret int
      declare @type int
      declare @colname varchar(30)
      declare @objname varchar(30)
      declare @id int
     
      --select @id = object_id(@tmprow)
     
      select @id = id
      from tempdb.dbo.sysobjects 
      where name = substring(@tmprow,14,70)
     
      if @id = NULL
      begin
         print "Error in 'sp_row2xml': can't get id of '%1!'", @tmprow
         return -1 
      end
     
      -- loop over all columns of this table
      declare col_cursor cursor for
         select name, type
         from tempdb.dbo.syscolumns 
         where id = @id
         order by colid
      for read only
      select @err = @@error, @rc = @@rowcount
      if @err != 0 return -1
     
      open col_cursor  -- open the cursor
      select @err = @@error
      if @err != 0 return -1
     
      while 1 = 1     
      begin
         fetch col_cursor into @colname, @type
         if @@error <> 0 or @@sqlstatus = 1 
         begin
            print "Error fetching row"
    	break
         end
     
         if @@sqlstatus = 2 break  -- the end has been reached, exit the loop
     
         truncate table #sql2xmlcol
     
         --
         -- Convert the column to a string into a #temp table.
         -- Any datatype-specific formatting should go here
         --
         if @type in (58,61,111) -- datetime 
            select @cmd = "insert #sql2xmlcol select convert(varchar(255), " + @colname + ", 109) from " + @tmprow
         else if @type in (37,45) --(var)binary
            select @cmd = "insert #sql2xmlcol select '0x' + bintostr(" + @colname + ") from " + @tmprow
         else if @type = 34 -- image
            select @cmd = "insert #sql2xmlcol select '[column contains ""image"" data]'" 
         else if @type = 35 -- text
            select @cmd = "insert #sql2xmlcol select '[column contains ""text"" data] ' +  convert(varchar(255), " + @colname + ") from " + @tmprow
         else if @type = 36 -- Java
            select @cmd = "insert #sql2xmlcol select '[column is a Java datatype]'" 
         else -- the rest (numeric, character) 
            select @cmd = "insert #sql2xmlcol select convert(varchar(255), " + @colname + ") from " + @tmprow
     
         exec (@cmd)
     
         -- ... and pick up the string value for the #temp table
         select @tag = char_value from #sql2xmlcol
     
         print "   <%1!>%2!</%3!>", @colname, @tag, @colname
       end
     
       close col_cursor  -- close cursor
       if @@error <> 0 return -1
     
       deallocate cursor col_cursor  -- ... and clean up
     
       return 0
    end
    go
    grant all on sp_row2xml to public
    go
     
    drop table #sql2xmlcol
    go
     
    --------------------------------------------------------------------------
    --
    -- Create the stored procedure 'sp_tab2xml'
    -- This takes a table or view and outputs the rows as XML documents
    -- 
    --------------------------------------------------------------------------
     
    if object_id("sp_tab2xml") <> NULL
      drop proc sp_tab2xml
    go
     
    create proc sp_tab2xml
    /* Copyright (c) 2002-2003 Rob Verschoor/Sypron B.V. */
      @objname varchar(30) = NULL,
      @dtd_line varchar(255) = NULL,
      @collist varchar(255) = NULL,
      @clause varchar(255) = NULL
    as
    begin
      declare @cmd varchar(255)    -- in 12.5, this can be changed to varchar(16384)
      declare @err int, @rc int
      declare @total_length int, @ret int
      declare @id int, @tmpid int
      declare @type char(2)
      declare @tmptab varchar(80)
      declare @tmprow varchar(80)
      declare @idcolname varchar(30)
      declare @xml_hdr varchar(50)
      declare @objname_tag varchar(30)
     
     
      select @xml_hdr = "<?xml version=""1.0""?>"
     
      if @objname = NULL or @objname = '?'
      begin
         print " "
         print "Usage:"
         print "   sp_tab2xml your_table_name [, ""dtd_specification"" ] [, ""column-list"" ] [, ""where/order-by clause"" ]"
         print " "
     
         print "This will list all rows in the specified table as XML documents."
         print "The DTD specification is optional and will be copied blindly to"
         print "the XML result (no validation is performed)."
         print "The column-list and where/order-by clauses can be used to filter"
         print "and order the results. These are not validated prior to execution!"
     
         return -1
      end
     
      --
      -- some checks
      --
      if @objname like "%.%.%"
      begin
          print "Object must be in the current database."
          return -1
      end
     
      if @objname like "%.%"
      begin
          print "You cannot specify the owner of the object."
          print "Instead, use 'setuser' or 'set proxy' first."
          return -1
      end
     
       --
       -- find the object
       --
       if @objname like "#%"
       begin 
          if object_id(@objname) = NULL
          begin
    	 print "Object '%1!' not found", @objname
    	 return -1
          end
       end
       else
       begin
          select @id = id, @type = type 
          from dbo.sysobjects
          where name = @objname
    	and  uid = user_id()
     
          select @err = @@error, @rc = @@rowcount
     
          if @rc <= 0
          begin
    	 print "Object '%1!' not found", @objname
    	 return -1
          end
     
          if @rc > 1
          begin
    	 print "Object '%1!' exists %2! times -- must change this code !", @objname, @rc
    	 return -1
          end
     
          -- determine the object type
          --
          if @type not in ("U", "S", "V")
          begin
    	 print "'sp_tab2xml' can only be used on tables or views."
    	 print "Object '%1!' has sysobjects.type = '%2!'", @objname, @type
    	 return -1
          end
       end
     
      --
      -- Create table to hold column values in char format
      -- This table is needed as an interface between the 
      -- context of the stored procedure and the context of the 
      -- exec() statement used in sp_row2xml
      --
      create table #sql2xmlcol (char_value varchar(255) null)
     
      -- 
      -- The following tables will contain the result set.
      -- These tables are created through execute-immediate 
      -- because the table schema will be different each time;
      -- using exec() will avoid problems here (this procedure
      -- can not be implemented in pre-12.0 because exec()
      -- is missing there).
      --
      select @tmptab = "tempdb.guest.sql2xmltab_" + convert(varchar,@@spid)
      select @tmprow = "tempdb.guest.sql2xmlrow_" + convert(varchar,@@spid)
     
      --
      -- Create table to store result set (we don't want to loop
      -- over the original table, as this may be accessed by other
      -- processes)
      --
     
      if object_id(@tmptab) != NULL
      begin
         exec("drop table " + @tmptab)
      end
      select @cmd = "select " + isnull(@collist, "*") + " into " + @tmptab + " from " + @objname + " " + @clause
     
      -- uncomment the following line for debugging the final SQL command
      --print "@cmd=[%1!]",@cmd
     
      exec(@cmd)
      select @err = @@error
      if @err != 0
      begin
         print "Error (%1!) executing [%2!]", @err, @cmd
         goto cleanup
      end
     
      -- pick up object ID of work table
      select @tmpid = id
      from tempdb.dbo.sysobjects 
      where name = substring(@tmptab,14,70)
     
       if @tmpid = NULL
       begin
          print "Error in 'sp_tab2xml': can't get id of '%1!'", @tmptab
          goto cleanup
       end
     
       -- 
       -- check for identity columns
       --
       select @idcolname = name 
       from tempdb.dbo.syscolumns
       where id = @tmpid
         and status & 128 = 128
     
       select @err = @@error, @rc = @@rowcount
       if @rc > 0
       begin
          -- 
          -- Remove the identity property for the identity column
          --
          -- If you're curious about what goes on here, see my book 
          -- 'Tips, Tricks & Recipes for Sybase ASE' at http://www.sypron.nl/ttr  !
          --
          begin transaction
    	 update tempdb.dbo.syscolumns
    	 set status = status & ~128  -- clear this bit
    	 where id = @tmpid
    	   and name = @idcolname
    	   and status & 128 = 128
     
    	 if @@rowcount != 1 or @@error != 0
    	 begin
    	    print "Error updating tempdb.dbo.syscolumns to remove identity property for '%1!'", @tmptab
    	    goto cleanup
    	 end
     
    	 update tempdb.dbo.sysobjects
    	 set sysstat2 = sysstat2 & ~64  -- clear this bit
    	 where id = @tmpid
    	   and sysstat2 & 64 = 64
     
    	 if @@rowcount != 1 or @@error != 0
    	 begin
    	    print "Error updating tempdb.dbo.objects to remove identity property for '%1!'", @tmptab
    	    goto cleanup
    	 end
     
          commit
      end
     
      --
      -- Create table to store a single row from result set
      --  
      if object_id(@tmprow) != NULL
      begin
        exec("drop table " + @tmprow)
      end
      exec("select * into " + @tmprow + " from " + @tmptab + " where 1=2")
     
      --								
      -- Place xml header tag into output stream                    
      --								
      print "%1!", @xml_hdr					        
      if @dtd_line != NULL
      print "%1!", @dtd_line
      -- Following row to avoid XML parsing errors due to multi toplevels
      print "<resultset>"						
      --
      -- Now process the result set row by row 
      -- 
      while 1 = 1
      begin
         exec("truncate table " + @tmprow)
     
         set rowcount 1
     
         exec("insert " + @tmprow + " select * from " + @tmptab)
         if @@rowcount = 0
         begin
            set rowcount 0
            break
         end
     
         exec("delete " + @tmptab)
     
         set rowcount 0
     
         -- for #temp tables, replace the '#' with "tmp_"
         select @objname_tag = @objname
         if @objname like "#%"
            select @objname_tag = "tmp_" + substring(@objname,2,99)
     
         -- print all columns as XML tags
         print "<%1!>", @objname_tag    
         exec @ret = sp_row2xml @tmprow 
         print "</%1!>", @objname_tag
         print ""
     
         if @ret != 0
         begin
    	print "Error in sp_row2xml."
    	goto cleanup
         end
      end
     
      -- Following row to avoid XML parsing errors due to multi toplevels. 
      print "</resultset>"					      
     
      -- 
      -- Clean up work tables
      --
    cleanup:
      exec("drop table " + @tmptab)
      exec("drop table " + @tmprow)
      return 0
    end
    go
    grant all on sp_tab2xml to public
    go
     
    sp_configure "allow updates", 0
    go
     
    print "Ready."
    print ""
    go
     
    -- 
    -- end of file
    --
    Une fois appliquer sa procedure stockée, j'ai les resultats ci-dessous , par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    use pubs3
    go
    sp_tab2xml publishers
     go
    <?xml version="1.0"?>
    <resultset>
    <publishers>
    <pub_id>0736</pub_id>
     <pub_name>New Age Books</pub_name>
     <city>Boston</city>
      <state>MA</state>
     </publishers>
    Mon problème est de chercher un moyen de modifier son code afin que les resultats d'une table soient sur uen même ligne, exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    use pubs3
    go
    sp_tab2xml publishers
    go
    <?xml version="1.0"?>
    <resultset>
    <publishers>  
    <pub_id>0736</pub_id>  <pub_name>New Age Books</pub_name> <city>Boston</city> <state>MA</state>
    </publishers>
    est ce que quelque peut me dire dans quel endroit du code qu'il faut agir pour faire cette modification, je pense que le problème est à ce niveau :

    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
     
    -- print all columns as XML tags
         print "<%1!>", @objname_tag    
         exec @ret = sp_row2xml @tmprow 
         print "</%1!>", @objname_tag
         print ""
     
         if @ret != 0
         begin
    	print "Error in sp_row2xml."
    	goto cleanup
         end
      end
     
      -- Following row to avoid XML parsing errors due to multi toplevels. 
      print "</resultset>"

    Merci de vos conseils.

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 222
    Points : 19 551
    Points
    19 551
    Billets dans le blog
    25
    Par défaut
    Ben... Rob fait justement tout ça pour splitter les lignes afin qu'elles ne dépassent pas les 255 caractères, limite jusqu'à ASE 12.5... Vous êtes sûr de vouloir éviter ça
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

Discussions similaires

  1. [MySQL] Formatage des données dans un tableau
    Par dunbar dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/06/2006, 08h52
  2. [VBA-E] Formatage des données à l'ouverture d'un fichier texte
    Par jmercier dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/11/2005, 17h00
  3. [EXCEL] Formatage des données
    Par Cupidon dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 02/11/2005, 21h32
  4. [Struts] Formatage des données
    Par Biloo dans le forum Struts 1
    Réponses: 6
    Dernier message: 15/09/2005, 12h13
  5. [Persistance]Aide pour sauver des données en XML
    Par le Daoud dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 21/06/2005, 13h39

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