View Full Version : import یک اطلاعات یک فایل xml در MYSQL
h_mohamadi
سه شنبه 21 اسفند 1386, 08:05 صبح
سلام من یک فایل xml از دیتابیس خودم تهیه کرده ام و می خواهم کلیه اطلاعات داخل آن را در دیتابیس که MYSQL است بازگردانی کنم لطفا من را راهنمایی کنید.:تشویق:
متشکرم
vcldeveloper
سه شنبه 21 اسفند 1386, 15:51 عصر
http://barnamenevis.org/forum/showthread.php?t=98013
چیزی که در تاپیک بالا بهش اشاره شده وابسته به یک نوع بانک خاص نیست. شما می تونید از طریق اون XML خودتون رو تبدیل به Data Packet کنید و بعد اونو در جدول یک بانک مثل MySQL ذخیره کنید.
h_mohamadi
سه شنبه 21 اسفند 1386, 21:05 عصر
آقای کشاورز می شود راهش و یا دستوراتش که باید در دلفی بنویسم که اطلاعات فایل xml در یک tabel که در mysql است بازگردانی شود را برای توضیح دهید.ممنون
vcldeveloper
چهارشنبه 22 اسفند 1386, 01:48 صبح
اول از همه باید با XML Mapper مشخص کنید که داده فایل XML شما باید به چه شکلی تبدیل به Data Packet بشه. در واقع باید مشخص کنید که داده XML چطور باید به داده بانک تبدیل بشه. نتیجه این کار شما میشه یک فایل Transformation . این فایل مشخص میکنه که داده های XML باید به چه صورتی به داده های بانک تبدیل بشند.
حالا باید این داده ها به بانک ارسال بشند...
دلفی کامپوننتی داره به نام XMLTransformClient این کامپوننت مثل ClientDataSet رفتار میکنه، با این تفاوت که با داده های XML کار میکنه. شما باید این کامپوننت رو به یک DataSetProvider متصل کنید و DataSetProvider رو هم به یک DataSet. توی دلفی فقط dbExpress میتونه با MySQL ارتباط برقرار کنه. البته اگر MySQL درایور OLE یا ODBC ارائه میکنه، با ADO هم میشه.
وقتی XMLTransformClient از طریق DataSetProvider به بانک وصل میشه، میتونه کارهای مختلفی انجام بده که ما فعلا برای حل این مشکل بهشون نیازی نداریم. اون چیزی که ما بهش نیاز داریم اینه که XMLTransformClient میتونه یک فایل XML و یک فایل Transformation رو بگیره، داده های XML رو بر اساس دستورات موجود در فایل Transformation به داده های قابل فهم توسط DataSetProvider تبدیل کنه و اونها رو برای DataSetProvider بفرسته. برای این کار باید از متد ApplyUpdates استفاده کنید:
StringList1.LoadFromFile('MyXMLData.xml');
XMLTransformClient1.ApplyUpdates(StringList1.Text, 'MyTransformationFile.xtr', -1);
ApplyUpdate داده ها را به DataSetProvider میفرسته و Provider هم به طور خودکار تغییرات را از طریق DataSet روی بانک اعمال میکنه.
فکر کنم با این توضیحات متوجه شده باشید که باید چیکار کنید. دلفی کامپوننت هایی مثل XMTransformClient یا DataSetProvider رو مفصلا توضیح داده، همون کدی هم که مثال زدم از راهنمای دلفی کپی کردم.
ارائه یک سورس کامل از این ماجرا در حال حاضر از حوصله من خارجه. اگر واقعا نیاز به نمونه کد داشتید، که فکر نمی کنم داشته باشید، شاید دوستان دیگه تمایل داشته باشند که یه نمونه براتون درست کنند.
موفق باشید
mohammad_kerman65
شنبه 15 مهر 1391, 10:07 صبح
با سلام.
یه سوال مبتدی داشتم:خجالت: البته زیاد سرچ کردم چیزی ندیدم شاید هم درست نتوانستم سرچ کنم...
میخوام بدونم چطور باید اطلاعات sqlرو به xmlتبدیل کرد.من 1 جدول دارم که میخوام توی دلفی توی 1 grid یا dbgrid چند رکورد از جدول رو داخل 1 سطر نمایش دهم(پشت سرهم که با یک علامتی از هم جدا شده باشند)بهم گفته شده باید از xmlاستفاده کنی اما نمیدونم چطوری؟؟
با sql 2000 , 2005کار میکنم.
با تشکر
vcldeveloper
دوشنبه 17 مهر 1391, 21:32 عصر
بهم گفته شده باید از xmlاستفاده کنی
کاری که می خواید بکنید، ربطی به XML نداره.
mohammad_kerman65
چهارشنبه 19 مهر 1391, 15:48 عصر
میشه راهنمائی بفرمائید من باید برای انجام اینکار چکار کنم؟
ممنون میشم
BORHAN TEC
چهارشنبه 19 مهر 1391, 17:48 عصر
میشه راهنمائی بفرمائید من باید برای انجام اینکار چکار کنم؟
ممنون میشم
میتونید برای اینکار از لینک زیر استفاده کنید:
https://www.google.com/#hl=fa&safe=off&q=Group+Concat+in+SQLServer&oq=Group+Concat+in+SQLServer&gs_l=serp.3...659688.664475.8.664940.0.0.0.0.0.0.0 .0..0.0...0.0...1c.1.BI0YJq67Inw&bav=on.2,or.r_gc.r_pw.r_cp.&fp=e48d2ede5cd3d6ec&bpcl=35243188&biw=1360&bih=677
mohammad_kerman65
پنج شنبه 20 مهر 1391, 11:04 صبح
ممنون آقا شاهین مشکلم حل شد
Select stuff((select ',' +NameField from NameTable for xml path('')),1,1,'')as result
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.