ورود

View Full Version : پروسیچور نگارش فایل در هارد



mokamel
شنبه 02 خرداد 1394, 11:56 صبح
سلام
دوستان من توی دیتابیسم (2008) یکسری اطلاعات باینری شده ( تا جچم 2 گیگ ) دارم . می شه پروسیجوری بنویسید که وقتی تو برنامم صداش زدم بره و طبق مسیری که تو برنامه بهش دادم بره فایل و تو هارد ذخیره کنه ؟

اگر کمکی کنید سپاس گذارم
اسم دیتابیس MyDB و اسم جدول MyTable و ستون مورد نظر که اطلاعات باینری توشه هست ContentFile

دقت کنید حجم ممکنه تا 2 گیگ باشه

pezhvakco
شنبه 02 خرداد 1394, 12:40 عصر
اگه بدونید چه فایلی و با چه ساختاری ذخیره شده است می شود داده های را به فایل اصلی برگشت داد.

SabaSabouhi
شنبه 02 خرداد 1394, 14:46 عصر
سلام
دوستان من توی دیتابیسم (2008) یکسری اطلاعات باینری شده ( تا جچم 2 گیگ ) دارم . می شه پروسیجوری بنویسید که وقتی تو برنامم صداش زدم بره و طبق مسیری که تو برنامه بهش دادم بره فایل و تو هارد ذخیره کنه ؟

اگر کمکی کنید سپاس گذارم
اسم دیتابیس MyDB و اسم جدول MyTable و ستون مورد نظر که اطلاعات باینری توشه هست ContentFile

دقت کنید حجم ممکنه تا 2 گیگ باشه





سلام
من صورت مساله رو نمی‌دونم، اما اگه واقعاً قراره هم‌چنین کاری انجام بدی، احتمالاً باید از xp_cmdshell استفاده کنی. در این صورت
مطمئن شو که مشتری بهت اجازه می‌ده که از sa استفاده کنی، چون برای این کار دسترسی بالا لازم داری، من با Backup Operator
هم تست کردم، اجازه‌ی این کار رو نمی‌داد بهم.

صبا صبوحی

mokamel
شنبه 02 خرداد 1394, 23:41 عصر
هم نوع فرمت فايل ذخيره شده مشخصه هم اينكه دسترسي sa دارم.
حالا لطفا بفرماييد چطوري، نمونه كدي هم بزاريد عاليه

SabaSabouhi
دوشنبه 04 خرداد 1394, 12:33 عصر
هم نوع فرمت فايل ذخيره شده مشخصه هم اينكه دسترسي sa دارم.
حالا لطفا بفرماييد چطوري، نمونه كدي هم بزاريد عاليه

سلام
همونطور که پیش‌تر نوشتم، پرسش شما برای من روشن نیست.
اما هر چی که باشه، شما می‌تونی با SP سیستمی xp_cmdshell هر فایل exeای رو اجرا کنی.
کافیه به برنامه‌ی کوچیک از نوع Console Application بسازی که به دیتابیس وصل بشه و اون اطلاعات
رو برات تبدیل به فایل کنه. ( در واقع این برنامه هم دسترسی به Sql Server داره و هم به هارد درایو
Server ) و این برنامه رو با exec xp_cmdshell اجرا کنی.
من برای فشرده کردن و تکه‌تکه کردن فایل فشرده، برنامه‌ی RAR.exe رو با این فرمان اجرا می‌کردم.

صبا صبوحی

mokamel
سه شنبه 05 خرداد 1394, 21:55 عصر
خانم صبوحی مطلب به این شکله :
توی دیتابیس یکسری فایل ذخیره شده بصورت باینری .
نمی خواهم از طریق برنامه سی شارپ این باینری ها رو بیارم توی برنامم و تبدیل به فایل اصلی کنم . سوالم این است که آیا می شود توسط خود sql و نوشتن کوئری داخل خود Sql این کار و کرد . یعنی با نوشتن یک کوئری داخل Sql . این فایل های باینری رو بصورت فرمت اصلیشون توی هارد ذخیره کرد .
مرسی

hamid_hr
شنبه 09 خرداد 1394, 10:59 صبح
منظورتون از فایل باینری رو نمیدونم
ولی یه قایلیت برا کار با فایل sql server داره به نام filestream
شما اونو فعال میکنی و تنظیماتشو انجام میدی
برا جدولت دو تا فیلد میزاری به این صورت

[UqID] [uniqueidentifier] ROWGUIDCOL NOT NULL
[Pic] [varbinary](max) FILESTREAM NULL


خود sql server میاد فایل رو روی هارد ذخیره میکنه و با یه سلکت معمولی هم به اطلاعات فایلت دسترسی داری
در من آقای صبوحی نه خانم صبوحی

Reza_Yarahmadi
دوشنبه 11 خرداد 1394, 17:48 عصر
به لینک زیر یه نگاه بندازید
http://barnamenevis.org/showthread.php?417859-%DA%A9%D9%BE%DB%8C-%DB%8C%DA%A9-%D9%81%D8%A7%DB%8C%D9%84-%D8%AF%D8%B1-%D8%B3%D8%B1%D9%88%D8%B1-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-IP-%D8%A8%D8%A7-%D8%A7%D8%B3%DA%A9%DB%8C%D9%88%D8%A7%D9%84-%D8%B3%D8%B1%D9%88%D8%B1&p=1869952&viewfull=1#post1869952