I'm trying to insert .xml data into a Sql Server database.
Hardcoded works ->
string strSQL = @"
DECLARE @input XML = '<Mitarbeiter><Mitarbeiter><ID>6000</ID><Vorname>Ulli</Vorname><Nachname>Unfassbar</Nachname><Gehalt>2000</Gehalt></Mitarbeiter></Mitarbeiter>'
INSERT INTO Mitarbeiter(ID, Vorname, Nachname, Gehalt)
SELECT
XEmp.value('(ID)[1]', 'int'),
XEmp.value('(Vorname)[1]', 'varchar(50)'),
XEmp.value('(Nachname)[1]', 'varchar(50)'),
XEmp.value('(Gehalt)[1]', 'int')
FROM
@input.nodes('/Mitarbeiter/Mitarbeiter') AS XTbl(XEmp)";
...but this should work with a .xml file. I tried to add the file path, but without success. Here is how I added the file path.
string strSQL = @"
DECLARE @input XML
SELECT @xml = XTbl.XEmp
FROM OPENROWSET( BULK 'C:\TestMail.xml', SINGLE_CLOB ) XTbl(XEmp)
INSERT INTO Mitarbeiter(ID, Vorname, Nachname, Gehalt)
SELECT
XEmp.value('(ID)[1]', 'int'),
XEmp.value('(Vorname)[1]', 'varchar(50)'),
XEmp.value('(Nachname)[1]', 'varchar(50)'),
XEmp.value('(Gehalt)[1]', 'int')
FROM
@input.nodes('/Mitarbeiter/Mitarbeiter') AS XTbl(XEmp)";
Any idea? Thanks for any help on this in advance!