Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


hämta ut och lägga in

Postades av 2008-07-01 15:33:36 - Marcus Wennerberg, i forum databaser, Tråden har 4 Kommentarer och lästs av 1462 personer

Har följande:
xml-fil (anv_1.xml):

<code>
<anvandare>
<namn>Test</namn>
<adress>Testgatan</adress>
<postnummer>12345</postnummer>
<ort>Test</ort>
</anvandare>
</code>

Är det möjligt att diret i en SP? göra en INSERT till tabellen Användare med datan i xml-filen?
Hur får man isf ut varje nod i xml filen för att kunna göra en insert?

anv. MSSQL

Tacksam för all hjälp


Svara

Sv: hämta ut och lägga in

Postades av 2008-07-02 11:26:35 - Håkan Borneland

Ja.

Här är ett exempel med tabell och insert.
Klistra in och provkör.

<code>
CREATE TABLE Användare
(
namn varchar(50),
adress varchar(50),
postnummer varchar(10),
ort varchar(75)
);

DECLARE @idoc int;
DECLARE @doc varchar(8000);

SET @doc = '<anvandare>
<namn>Test</namn>
<adress>Testgatan</adress>
<postnummer>12345</postnummer>
<ort>Test</ort>
</anvandare>';

EXEC sp_xml_preparedocument @idoc OUTPUT, @doc;

INSERT INTO Användare
SELECT *
FROM OPENXML (@idoc, '/anvandare')
WITH
(
namn varchar(50) 'namn',
adress varchar(50) 'adress',
postnummer varchar(10) 'postnummer',
ort varchar(75) 'ort'
);

EXEC sp_xml_removedocument @idoc;

SELECT * FROM Användare;

DROP TABLE Användare;
</code>

/Håkan


Svara

Sv:hämta ut och lägga in

Postades av 2008-07-02 11:34:29 - Marcus Wennerberg

kanon, tack, en liten funderare bara, går det istället för att lägga in xml koden direkt, länka in xml filen istället, dvs man anger sökvägen dit xml filen ligger??


Svara

Sv: hämta ut och lägga in

Postades av 2008-07-02 12:47:19 - Håkan Borneland

Ja.

Variabeln @path kan då bli en inparameter i en procedur.

<code>
CREATE TABLE Användare
(
namn varchar(50),
adress varchar(50),
postnummer varchar(10),
ort varchar(75)
);

DECLARE @path varchar(150);
DECLARE @Query AS nvarchar(max);
DECLARE @idoc int;
DECLARE @doc xml;

SET @path = 'C:\myxml.xml';

SET @Query = N'SELECT @doc = CAST(bulkcolumn AS XML) FROM OPENROWSET(BULK ''' + @path + ''', SINGLE_BLOB) AS XmlData';

EXEC sp_executesql @Query, N'@doc AS xml OUTPUT', @doc OUTPUT;

EXEC sp_xml_preparedocument @idoc OUTPUT, @doc;

INSERT INTO Användare
SELECT *
FROM OPENXML (@idoc, '/anvandare')
WITH
(
namn varchar(50) 'namn',
adress varchar(50) 'adress',
postnummer varchar(10) 'postnummer',
ort varchar(75) 'ort'
);

EXEC sp_xml_removedocument @idoc;

SELECT * FROM Användare;

DROP TABLE Användare;
</code>

/Håkan


Svara

Sv:hämta ut och lägga in

Postades av 2008-07-04 14:09:33 - Marcus Wennerberg

Tusen tack Håkan!


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 570
27 958
271 741
5 833
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies