This is my xml file data : name=newxf.xml
<newdataset>
<lrtest>
<lr_no>12807</lr_no>
<bkg_stn>CHATRAL</bkg_stn>
<frmshort>CTR</frmshort>
</lrtest>
<lrtest>
<lr_no>12808</lr_no>
<bkg_stn>CHATRAL</bkg_stn>
<frmshort>CTR</frmshort>
</lrtest>
<lrtest>
<lr_no>12811</lr_no>
<bkg_stn>CHATRAL</bkg_stn>
<frmshort>CTR</frmshort>
</lrtest>
<lrtest>
<lr_no>13466</lr_no>
<bkg_stn>VATVA</bkg_stn>
<frmshort>VAT</frmshort>
</lrtest>
</newdataset>
I created the below said table:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[IExml](
[Lr_no] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[Bkg_Stn] [varchar](30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[FrmShort] [varchar](5) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
===========================
And i am running this query to bulk load xml file into
my sql server table.
use master
DECLARE @TESTPB TABLE (Lr_no Varchar (50), Bkg_Stn Varchar(30) , FrmShort Varchar(5))
DECLARE @xml XML;
SELECT @xml = (
SELECT * FROM OPENROWSET(
BULK 'D:\newxf.xml',
SINGLE_BLOB) x)
INSERT INTO @TestPB(LR_no,Bkg_Stn,FrmShort)
SELECT X.product.value('LR_no[1]', 'Varchar(50)'),
X.product.value('Bkg_Stn[1]', 'Varchar(30)'),
X.product.value('FrmShort[1]', 'Varchar(5)')
FROM
@xml.nodes('NewDataSet/LRTest') AS X(product);
INSERT INTO Master.dbo.IExml
Select * From @TestPB
==============================
And Result is :
Lr_no Bkg_Stn FrmShort
NULL CHATRAL CTR
NULL CHATRAL CTR
NULL CHATRAL CTR
NULL SARKHEJ SRK
NULL SARKHEJ SRK
NULL SARKHEJ SRK
NULL VATVA VAT
NULL SARKHEJ SRK
The problem is when i am execute above said query i get the msg. com complt sucfully.
But LR_No Column data is not inserting....
The Lr_no column conatained numerical data , is should be look like :
Lr_no Bkg_Stn FrmShort
123456 CHATRAL CTR
123457 CHATRAL CTR
123458 CHATRAL CTR
123459 SARKHEJ SRK
123451 SARKHEJ SRK
123452 SARKHEJ SRK
Please let me know where i am going wrong. its urgent.. pls..... help me...