nedata
شنبه 12 بهمن 1387, 00:05 صبح
سلام
من می خواهم داده ها را که به صورت xml است به جدول در دیتابیس منتقل کنم.
کد زیر را نوشتم ولی نمی دونم چرا کار نمی کند.
ممنون میشم کمکم کنید.
USE LABS
delete from Vendor
DECLARE @xml_text VARCHAR(4000), @i INT
SELECT @xml_text = '<VENDORDATA>
<VENDOR VID="V001" VSKILL="skill1">
<VNAME>ALI AHMADI</VNAME>
<VPROFILE>MALE</VPROFILE>
<VADDRESS>IRAN</VADDRESS>
<VPHONE>6675467</VPHONE>
<VWEB>WWW.SHOPPING.COM</VWEB>
<VEMAIL>INFO@SHOPPING.COM</VEMAIL>
</VENDOR>
<PROJECT PID="P001" STATUS="COMPELETED">
<PNAME>PROJ</PNAME>
</PROJECT>
<FINANCE>
<BILL>1200</BILL>
<ACCOUNT>2000</ACCOUNT>
</FINANCE>
</VENDORDATA>'
EXEC sp_xml_preparedocument @i OUTPUT, @xml_text
INSERT Vendor
SELECT * FROM
OPENXML(@i, '/VENDORDATA/VENDOR', 2)
WITH (VID char(8) ,
VSkill varchar(200),
VName varchar(200) ,
VProfile varchar(200),
VAddress varchar(200) ,
VPhone varchar(15) ,
VWeb varchar(20) ,
VEmail varchar(20) ,
PId varchar(10) ,
Status varchar(20) ,
PName varchar(30) ,
Bill varchar (10) ,
Account varchar (10)
)
INSERT Vendor
SELECT * FROM
OPENXML(@i, '/VENDORDATA/vendor/PROJECT', 2)
WITH (VID char(8) ,
VSkill varchar(200),
VName varchar(200) ,
VProfile varchar(200),
VAddress varchar(200) ,
VPhone varchar(15) ,
VWeb varchar(20) ,
VEmail varchar(20) ,
PId varchar(10) ,
Status varchar(20) ,
PName varchar(30) ,
Bill varchar (10) ,
Account varchar (10)
)
INSERT Vendor
SELECT * FROM
OPENXML(@i, '/VENDORDATA/vendor/Finance', 2)
WITH (VID char(8) ,
VSkill varchar(200),
VName varchar(200) ,
VProfile varchar(200),
VAddress varchar(200) ,
VPhone varchar(15) ,
VWeb varchar(20) ,
VEmail varchar(20) ,
PId varchar(10) ,
Status varchar(20) ,
PName varchar(30) ,
Bill varchar (10) ,
Account varchar (10) )
EXEC sp_xml_removedocument @i
من می خواهم داده ها را که به صورت xml است به جدول در دیتابیس منتقل کنم.
کد زیر را نوشتم ولی نمی دونم چرا کار نمی کند.
ممنون میشم کمکم کنید.
USE LABS
delete from Vendor
DECLARE @xml_text VARCHAR(4000), @i INT
SELECT @xml_text = '<VENDORDATA>
<VENDOR VID="V001" VSKILL="skill1">
<VNAME>ALI AHMADI</VNAME>
<VPROFILE>MALE</VPROFILE>
<VADDRESS>IRAN</VADDRESS>
<VPHONE>6675467</VPHONE>
<VWEB>WWW.SHOPPING.COM</VWEB>
<VEMAIL>INFO@SHOPPING.COM</VEMAIL>
</VENDOR>
<PROJECT PID="P001" STATUS="COMPELETED">
<PNAME>PROJ</PNAME>
</PROJECT>
<FINANCE>
<BILL>1200</BILL>
<ACCOUNT>2000</ACCOUNT>
</FINANCE>
</VENDORDATA>'
EXEC sp_xml_preparedocument @i OUTPUT, @xml_text
INSERT Vendor
SELECT * FROM
OPENXML(@i, '/VENDORDATA/VENDOR', 2)
WITH (VID char(8) ,
VSkill varchar(200),
VName varchar(200) ,
VProfile varchar(200),
VAddress varchar(200) ,
VPhone varchar(15) ,
VWeb varchar(20) ,
VEmail varchar(20) ,
PId varchar(10) ,
Status varchar(20) ,
PName varchar(30) ,
Bill varchar (10) ,
Account varchar (10)
)
INSERT Vendor
SELECT * FROM
OPENXML(@i, '/VENDORDATA/vendor/PROJECT', 2)
WITH (VID char(8) ,
VSkill varchar(200),
VName varchar(200) ,
VProfile varchar(200),
VAddress varchar(200) ,
VPhone varchar(15) ,
VWeb varchar(20) ,
VEmail varchar(20) ,
PId varchar(10) ,
Status varchar(20) ,
PName varchar(30) ,
Bill varchar (10) ,
Account varchar (10)
)
INSERT Vendor
SELECT * FROM
OPENXML(@i, '/VENDORDATA/vendor/Finance', 2)
WITH (VID char(8) ,
VSkill varchar(200),
VName varchar(200) ,
VProfile varchar(200),
VAddress varchar(200) ,
VPhone varchar(15) ,
VWeb varchar(20) ,
VEmail varchar(20) ,
PId varchar(10) ,
Status varchar(20) ,
PName varchar(30) ,
Bill varchar (10) ,
Account varchar (10) )
EXEC sp_xml_removedocument @i