PDA

View Full Version : select و اجرای فایل آفیس از sqlserver



raminsalemi
دوشنبه 28 دی 1388, 11:30 صبح
سلام من خیلی جستجو کردم ولی نتونستم کد کارا و مناسبی پیدا کنم لطفاً یه نمونه برنامه که در اون بشه یه فایل word یا pdf رو از دیتا بیس select و اجرا کرد رو برام بذارید ممنونم

sia_2007
دوشنبه 28 دی 1388, 12:08 عصر
خود فایل رو ذخیره کردید یا آدرسش رو ؟

hamidreza20
دوشنبه 28 دی 1388, 12:46 عصر
دوست عزیز این قابلیت در sql sever 2088 اضافه شده تنوع داده ای گوناگون.

یه سری به bookonline اس کیو ال بزنید بد نیست مطالب مفیدی داره...


التماس دعا...

raminsalemi
دوشنبه 28 دی 1388, 13:09 عصر
خود فایل رو ذخیره کردم

sia_2007
دوشنبه 28 دی 1388, 14:55 عصر
شرمنده که یک جا نپرسیدم؛ قراره تو سرور اجرا بشن یا تو کلاینت ؟

raminsalemi
سه شنبه 29 دی 1388, 08:00 صبح
نرم افزار من تحت شبکه کار می کنه و از نوع win Apllication هستش اطلاعات از طریق client ها در دیتا بیسم که رو ی سرور هست ذخیره میشه نرم افزار من فقط همین مورد رو کم داره اگه امکان داره یه نمونه برنامه که امکان درج و باز یابی فایل های آفیس رو داشته باشه برام بذارید .ممنونم

raminsalemi
شنبه 03 بهمن 1388, 08:05 صبح
سلام یعنی واقعاً کسی از دوستان سایت برنامه نویس جواب سوال من رو نمی دونه؟

علیرضا حسن زاده
شنبه 03 بهمن 1388, 12:28 عصر
خوب اگه کار با SQL رو تو C#‎ بلد باشین باید کارهای زیر رو انجام بدین:
1- برای ذخیره تو دیتابیس فایل رو به صورت Text باز کن و تمامشو بخون و تو فیلد دیتا بیس insert کن البته برای این کار باید مقدار اون فیلد رو به صورت پارامتر بدی
2-برای باز کردن فایل کلی اطلاعات فیلد رو از دیتابیس بگیر و بریز تو یه متغییر یا بهتره تو یه فایل که مسیرش رو سیستم کلاینت تعیین و دخیره کنی بعد هم که proccess اجرا کن
اگخ بازم سوالی بود در خدمتم

raminsalemi
شنبه 03 بهمن 1388, 13:31 عصر
ممنون دوست عزیز من در insert فایلم مشکلی ندارم همینطور در نحوه select هم مشکلی ندارم مورد من اینه که اگرفایلم word,pdf و یا نوع دیگه ای باشه هر کدوم رو باچه دستوری باز کنم .لطفاً اگه امکان داره یه نمونه برنامهبرام بذارید .با تشکر

kia1349
شنبه 03 بهمن 1388, 17:13 عصر
نمیدونم درست فهمیدم منظورتو یا نه ولی اینو امتحان کن


System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents=false;
proc.StartInfo.FileName = "C:\\Program Files\\Adobe\\Reader 8.0\\Reader\\AcroRd32.exe";
proc.StartInfo.Arguments=filename;
proc.Start();

این لینک رو هم یه نگاهی بکن
http://pdfsharp.com/PDFsharp/index.php?option=com_content&task=view&id=27&Itemid=42
و قسمت آخر در صفحه این لینک
http://programmingfaq.w3ec.com/faq/62242/-net-open-pdf-in-winform-without-external-dependencies

raminsalemi
یک شنبه 04 بهمن 1388, 11:20 صبح
متاسفانه شما متوجه سوال من نشدید من می خوام فایل word رو که در sqlذخیره کردم رو بشه select و مستقیماً در محیط word اجرا کرد نه اینکه اول اون رو روی هارد client بریزم و بعد با دادن مسیر فایل باز بشه لطفاً اگه نمونه برنامه ای در این رابطه دارید برام بدارید با تشکر فراوان

علیرضا حسن زاده
یک شنبه 04 بهمن 1388, 20:19 عصر
متاسفانه شما متوجه سوال من نشدید من می خوام فایل word رو که در sqlذخیره کردم رو بشه select و مستقیماً در محیط word اجرا کرد نه اینکه اول اون رو روی هارد client بریزم و بعد با دادن مسیر فایل باز بشه لطفاً اگه نمونه برنامه ای در این رابطه دارید برام بدارید با تشکر فراوان
شما از چه زباین استفاده می کنید؟
اگه از #C استفاده می کنید اگه منظورتون از اینکه نمی خوایید فایل را روی سیستم Client ذخیره کنید امنیت باشه که با راه حل هایی می تونید تا حدی امنیت رو واسه فایل داشته باشید و همون طور که قبلا گفتم و تو پست آخر صفحه اول هم دوستمون کدش رو گذاشتن می تونید اطلاعات رو از فیلد بخونید و تو یه فایل موقت ذخیره کنید و اگه درست یادم باشه اگه پسوند فایل رو عوض نکنید به جای دادن مسیر فایل اجرایی برنامه میتونید مسیر همون فایل رو بدین و ویندوز با برنامه ای که مشخص کردین او فایل رو باز میکنه مثلا با ورد. باز هم تاکید می کنم این راحت ترین راه حله.

حالا اگه به هر دلیلی نخواستین یه فایل رو سیستم کلاین ایجاد کیند بازم راه داره ولی مشکله:
1-اگه فایل رو با فرمت RTF در ورد یا بوسیله برنامتون ذخیره کنید می تونید با استفاده از کنترل RichText این کار رو انجام بدین و خاصیت RTF کتنرل رو با مقدار فیلد پایگاه داده هر دفه ست کنید که اگه جواب نداد اول اون بریزن تو یه متغییر از نوع string و بعد خاصیت RTF کنترل رو با اون متغییر ست کنین البته در استفاده از RTF بعضی خواص متن مثل خاصیت justify متن که تو ورد وجود داره از بین میره (اگه خواستی یه کنترل برات می زارم که این خاصیت رو داشته باشه)
2-می تونی برنامه ورد رو از داخل #C کنترل کنی (با برنامه نویسی) من این راه رو پیشنهاد نمی کنم چون از COM استفاده میکنه و واسه کار با دات نت همه چیز رو باید با دقت کنترل کنی که تو برنامت باگ نباشه که برنامت گیر کنه.
3- اگه از وبی استفاده میکنی و ورد تو برنامت استفاده می کنی اگه درست یادم باشه همون جا می تونی مقدار فیلد رو بهش بدی و فکر کنم بصورت استریم یا همچین چیزی بهش بدی البته بازم میگم که تو این زبان راحت ترین راه همون ایجاد فایل هست.

حالا یه راه دیگه هم اینه که اگه از دانت استفاده می کنی می تونم بیشتر از این هم راهنماییی کنم.

raminsalemi
دوشنبه 05 بهمن 1388, 07:58 صبح
از راهنمایی مفید شما متشکرم دوست عزیز من با زبان C#.netکار میکنم من می خوام کاربر بتونه فایل هایی رو از قبیل word,pdf,powerpointرو همراه با یک فیلد id در دیتا بیس ذخیره کنه و بشه بر اساس این فیلد id عمل select رو انجام داد و فایل بر اساس نوع در محیط مربوط به خودش اجرا شه مثلا اگر wordباشه در نرم افزار Microsoft Office Word باز شه.
نه اینکه فایل اول در سیستم client ذخیره و بعد بر اساس آدرسش فایل باز شه .

kia1349
دوشنبه 05 بهمن 1388, 17:20 عصر
دوست عزیز
برای اینکه word یا هرکدوم از برنامه های آفیس بصورت اتوماتیک اجرا بشن شما باید فرمت و پسوند فایل رو هم در یک فیلد دیگه ذخیره کنید تا سیستم با خوندن اون بفهمه باید کدوم برنامه رو اجرا کنه
بعدش باید با توجه به اون فیلد ، برنامه مناسب رو اجرا کنید مثلا word رو (مثالهاش هم توی اینترنت فراونه)
بعدش باید محتویات فایل رو از sql بخونید و در حافظه سیستم یا clipboard ذخیره کنید(میتونید از richtextbox هم به عنوان واسطه استفاده کنید
حالا باید دستور new رو به برنامه باز شده (در اینجا word می باشد) ارسال کنید و محتویات حافظه رو توی اون paste کنید
این بهترین چیزی بود که به ذهنم رسید
چون تا شما فایلی رو که وجود فیزیکی روی سیستم نداشته باشید به آفیس ندهید اون نمیفهمه باید چیکار کنه
بهترین راهش اجرای آفیس و ایجاد یک صفحه جدی و سپس paste کردن دیتای حافظه در اونه

kia1349
جمعه 09 بهمن 1388, 11:21 صبح
http://www.c-sharpcorner.com/uploadfile/mgold/creatingandopeningmicrosoftdocumentfrom.netusingcs harp11262005050939am/creatingandopeningmicrosoftdocumentfrom.netusingcs harp.aspx

http://www.codeproject.com/KB/office/WordInDotnet.aspx

http://www.codeproject.com/KB/miscctrl/winwordcontrol.aspx

http://blog.codinglight.com/2008/10/simple-docbrowser-control.html