[tSQL] XML-file inlezen met een SP?

Pagina: 1
Acties:

  • Altaphista
  • Registratie: Juli 2001
  • Laatst online: 26-05 15:42

Altaphista

1. check manual, 2. ask

Topicstarter
Hoe kan ik een .xml bestand inlezen zodat ik er 1 'string' (type text) van krijg? Ik kom er niet uit, al tijdje geprutst (o.a. met dit (1) en dit (2). Eerste werkt goed, maar daar heb ik dus een tekststring voor nodig... en dat krijg ik niet voor elkaar, ook niet met 2e)

Hieronder wat ik nog meer heb gevonden:
SQL:
1
2
3
4
CREATE TABLE #tempfile (line varchar(8000))
EXEC ('bulk INSERT #tempfile FROM "' + @strFile + '"')
SELECT * FROM #tempfile
DROP TABLE #tempfile


Het probleem hiermee is dat je alles in meerdere records terugkrijgt (kan wel eens gaan oplopen tot paar honderdduizend), terwijl ik er 1 text-string van wil hebben. Hoe doe ik dat? (je mag nl geen bewerkingen op een textuitvoeren)

Je gaat het pas zien als je het doorhebt.


Verwijderd

Even kijken in het boekje van de Commodore 64, of even kijken op www.visualbasic.com misschien helpt dat. Ben nu zelf bezig met Dreamweaver lukt voor geen flikker maar goed, ik hoop dat ik er uit kom ;)

  • Altaphista
  • Registratie: Juli 2001
  • Laatst online: 26-05 15:42

Altaphista

1. check manual, 2. ask

Topicstarter
Verwijderd schreef op 24 december 2003 @ 16:47:
Even kijken in het boekje van de Commodore 64, of even kijken op www.visualbasic.com misschien helpt dat. Ben nu zelf bezig met Dreamweaver lukt voor geen flikker maar goed, ik hoop dat ik er uit kom ;)
huh? :?

Je gaat het pas zien als je het doorhebt.


  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
Ik heb geen idee of 't gaat werken, maar je zou BULK INSERT kunnen proberen met FIELDTERMINATOR en ROWTERMINATOR = CHAR(0) (EOF).

| Toen / Nu


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
zo misschien?


roNn: waar heb je het in vredesnaam over ???

Oops! Google Chrome could not find www.rijks%20museum.nl


  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
Voor zover ik het verhaal begrepen heb wil de TS de xml zelf in de database hebben, niet de geparste xml-data. Maar dat kan ik mis hebben.

| Toen / Nu


  • Altaphista
  • Registratie: Juli 2001
  • Laatst online: 26-05 15:42

Altaphista

1. check manual, 2. ask

Topicstarter
klopt. Ik wil een complete xml 'string' (file dus) inlezen en dan gaan bewerken met de standaard functionaliteit van t-SQL.

Ik ga het volgende week ff proberen met de bulk insert :) eerst ff vrij :D

Je gaat het pas zien als je het doorhebt.


  • Altaphista
  • Registratie: Juli 2001
  • Laatst online: 26-05 15:42

Altaphista

1. check manual, 2. ask

Topicstarter
SuperRembo schreef op 24 december 2003 @ 18:39:
Ik heb geen idee of 't gaat werken, maar je zou BULK INSERT kunnen proberen met FIELDTERMINATOR en ROWTERMINATOR = CHAR(0) (EOF).
Nope, dan moet ik het eerst inserten in een tempTabel, dan uitlezen en concatteneren (oid) om te gaan verwerken, en ik weet dat dat niet wil (mag geen type text concatteneren in tSQL...

Ik ben bang dat het een ActiveX-script task wordt binnen de DTS-package...

Je gaat het pas zien als je het doorhebt.


  • whoami
  • Registratie: December 2000
  • Laatst online: 14:31
Waarom wil je eigenlijk die gegevens als een xml document in je DB hebben?

https://fgheysels.github.io/


  • Altaphista
  • Registratie: Juli 2001
  • Laatst online: 26-05 15:42

Altaphista

1. check manual, 2. ask

Topicstarter
whoami schreef op 30 december 2003 @ 09:54:
Waarom wil je eigenlijk die gegevens als een xml document in je DB hebben?
dat wil ik niet, ik wil met een SP een XML (helemaal) inlezen en met de tSQL functionaliteit (openXML) deze uitlezen en bewerkingen uitvoeren.

vb:
code:
1
2
3
4
5
EXECUTE sp_xml_preparedocument @iDoc OUTPUT, @deXMLString    
SELECT * FROM OpenXML(@iDoc, '/ROOT/produkt', 2) WITH (
  produktNaam text 'produktNaam',
  etc ...
)

Je gaat het pas zien als je het doorhebt.


  • pistole
  • Registratie: Juli 2000
  • Laatst online: 10:26

pistole

Frutter

Waarom maak je niet een stukje VBS code (in een DTS pakketje) om het bestand in te lezen en tijdelijk in een tabel te frotten? Dat lijkt me het makkelijkst

Ik frut, dus ik epibreer


  • Altaphista
  • Registratie: Juli 2001
  • Laatst online: 26-05 15:42

Altaphista

1. check manual, 2. ask

Topicstarter
pistole schreef op 30 december 2003 @ 10:38:
Waarom maak je niet een stukje VBS code (in een DTS pakketje) om het bestand in te lezen en tijdelijk in een tabel te frotten? Dat lijkt me het makkelijkst
Was het maar zo makkelijk. Het probleem waar je tegenaan loopt is de variabele van type text in een SP. Daar mag/kan je haast niets mee. Behalve meegeven en doorgeven. Bewerkingen (zoals concat) erop binnen een SP mogen niet.

Verder:
Altaphista schreef op 30 december 2003 @ 09:29:
[...]
Ik ben bang dat het een ActiveX-script task wordt binnen de DTS-package...

Je gaat het pas zien als je het doorhebt.

Pagina: 1