درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من

باز کردن فایل های XML در SQL Server بوسیله OPENROWSET

0 نظرات
125 بازدیدها
یکی از قابلیت های SQL Server کار کردن با مستندات XML هست، یعنی شما می توانید خروجی کوئری ها را تبدیل به مستندات XML کرده یا یک فایل XML را خوانده و محتویات آن را پردازش کنید. در این نکته قصد داریم تا با نحوه باز کردن یک فایل XML و پردازش آن آشنا شویم. فرض کنید که فایل XML شما با نام data.xml و در درایو D ذخیره شده و شامل محتویات زیر است:

<Customers>
	<Customer Id="1">
		<FirstName>Hossein</FirstName>
		<LastName>Ahmadi</LastName>
		<Address Zipcode="1111111111">
			<Country>Iran</Country>
			<State>Alborz</State>
			<City>Karaj</City>
		</Address>
	</Customer>
	<Customer Id="2">
		<FirstName>Mohammad</FirstName>
		<LastName>Nasiri</LastName>
		<Address Zipcode="2222222222">
			<Country>Iran</Country>
			<State>Alborz</State>
			<City>Mohammad Shahr</City>
		</Address>
	</Customer>
</Customers>

جهت باز کردن این فایل شما باید ابتدا یک متغیر از نوع xml تعریف کرده و بعد بوسیله عبارت OPENROWSET فایل مورد نظر را باز کنید و محتویات آن را در متغیر تعریف شده ذخیره کنید:

declare @xmlDoc xml;
select @xmlDoc = p from OPENROWSET(BULK'd:\data.xml',SINGLE_BLOB) as T(P);
select @xmlDoc;

با اجرای اسکریپت بالا محتویات فایل XML بوسیله دستور select در خروجی نمایش داده می شود. در ادامه می توان متغیر xmlDoc را در عبارت OPENXML برای پردازش محتویات آن استفاده کرد:

declare @xmlDoc xml;
select @xmlDoc = p from OPENROWSET(BULK'd:\data.xml',SINGLE_BLOB) as T(P);

declare @handler int;
exec sp_xml_preparedocument @handler out,@xmlDoc;

select
	*
from
	openxml(@handler,'Customers/Customer/Address')
	with
	(
		[FirstName] nvarchar(200) '../FirstName',
		[ZipCode] nvarchar(10) '@Zipcode',
		[Country] nvarchar(200) 'Country'
	)

البته از openrowset برای باز کردن فایل های دیگر هم می توان استفاده کرد که استفاده آن مشابه اسکریپتی است که در ابتدای نکته گفته شد. ITpro باشید

نویسنده: حسین احمدی
منبع: ITpro
برچسب ها
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید

    arrow