نمایش نتایج 1 تا 27 از 27

نام تاپیک: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

  1. #1
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    سلام.


    دارم با FileTable کار میکنم و مطالب این سایت رو خوندم
    نتیجه راهنمای بالا باید تصویر زیر باشه

    ضمیمه 148973

    ولی نتیجه کار من بصورت زیر شده

    ضمیمه 148974

    کسی میتونه راهنمایی کنه. مرجعی هست که در این خصوص کامل توضیح داده باشه؟
    درضمن مطابق راهنمای سایت، دستور ساخت SubDirectory به درستی در SQL کار میکنه ولی در Explorer ویندوز هیچ پوشه ای رو نمیبینم که اضافه شده باشد.


    تشکر

  2. #2
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    دوستان کسی نمیتونه کمکم کنه...

  3. #3

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    سلام. کاش کدهای خودت رو هم میذاشتی شاید دوستان بتونن کمک کنن

  4. #4
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    سلام

    ابتدا در SQL Server Configuration Manager گزینه Enable FileStream رو به همراه سایر گزینه های این بخش فعال کردم

    ضمیمه 149490

    در SQL Server Management گزینه FileStream Access Level را برابر Full Access Enabled قرار دادم.

    پس از اون تنظیم بانک اطلاعاتی رو به شکل زیر انجام داده:
    ابتدا در ّFileGroups
    ضمیمه 149491

    تنظیمات بخش Files
    ضمیمه 149492

    تنظیمات بخش Options
    ضمیمه 149493

    در انتها با کدهای زیر جدول رو ایجاد کردم و جدول ایجاد شد

    USE TestFT
    GO


    CREATE TABLE tblFT AS FILETABLE
    WITH
    (
    FILETABLE_DIRECTORY = 'TestFT_FT',
    FILETABLE_COLLATE_FILENAME = database_default
    )
    GO


    با استفاده از StoredProcedure زیر فایل رو ذخیره میکنم

    CREATE PROCEDURE SaveFile
    -- Add the parameters for the stored procedure here
    @FileStream VARBINARY(max),
    @FileName NVARCHAR(150)
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;


    INSERT INTO tblFT (file_stream,name,is_directory,is_archive) VALUES (@FileStream,@FileName, 1, 0);


    END
    GO



    کد زیر هم مربوط میشه به VB.NET


    Dim FS As Byte()
    Dim FN As String


    FS = IO.File.ReadAllBytes("D:\TestFT.txt")
    FN = "TestFT"
    bal.SaveFile(FS, FN)


    تصویر زیر پس از ذخیره فایل
    ضمیمه 149494

    این هم نتیجه ذخیره فایل در هارد دیسک
    ضمیمه 149495

    ممنون میشم اگر دوستان راهنمایی کنند

  5. #5
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    جدای مشکل بالا چندین سوال دیگه هم داشتم:


    1. اگر قرار باشه تعداد بسیار زیادی فایل در سرور ذخیره بشه ایا ذخیره همه فایل ها در یک Directory مشکل ساز نیست؟ کند شدن سیستم و مسائل دیگه ای که شاید به ذهن من نرسه
    2. مثلا برنامه بخشی داره که هر کاربر میتونه اطلاعات خودشو آپلود کنه و گزارش تصویری در برنامه بصورت عکس ذخیره کنه حالا اگر 10 کاربر هرکدوم عکسهایی با نام های مشابه داشته باشند SQL نام های مشابه قبول نمیکنه و خطا میده. برای این چه راه حلی وجود داره؟ منظورم ذخیره فایل با اسامی مشابه هست.


    تشکر

  6. #6

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    این لینک رو ببینید کمکتون میکنه؟
    https://programming.tosinso.com/arti...7%D9%88%D9%84)

  7. #7
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    من هم به نوعی همین شکلی کار کردم. لینک بالا کار با فایل بصورت FileStream هستش و نتیجه هم درسته ولی در FileTable فایل های با نام خودشان ذخیره میشوند و باید بتوان Directory تولید کرد که در نمونه خودم این مورد بوجود نمیاد.

  8. #8
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    مسئله اول که در خصوص FileTable و FileStream هستش هنوز موفق نشدم حلش کنم.

    اما در خصوص اینکه فایل های مختلف رو بتونم در پارتیشن های مختلف ذخیره کنم یه راه حل به ذهنم رسید و اون اینه که به ازای هر گروه از فایل های برنامه که حدود 3 گروه اصلی هستند، 3 بانک اطلاعاتی مجزا ایجاد کنم و هر بانک اطلاعاتی تنها حاوی یک جدول FileStream خواهد بود و در زمان ارسال فایل کافیه که فایل رو به بانک خودش ارسال کنم.

    ممنون میشم اگر دوستان نظر بدند

  9. #9

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    نقل قول نوشته شده توسط mmbguide مشاهده تاپیک
    جدای مشکل بالا چندین سوال دیگه هم داشتم:


    1. اگر قرار باشه تعداد بسیار زیادی فایل در سرور ذخیره بشه ایا ذخیره همه فایل ها در یک Directory مشکل ساز نیست؟ کند شدن سیستم و مسائل دیگه ای که شاید به ذهن من نرسه
    2. مثلا برنامه بخشی داره که هر کاربر میتونه اطلاعات خودشو آپلود کنه و گزارش تصویری در برنامه بصورت عکس ذخیره کنه حالا اگر 10 کاربر هرکدوم عکسهایی با نام های مشابه داشته باشند SQL نام های مشابه قبول نمیکنه و خطا میده. برای این چه راه حلی وجود داره؟ منظورم ذخیره فایل با اسامی مشابه هست.


    تشکر
    1 رو نمیدونم
    2 خود sql server اسامی فایل ها رو تغییر میده و نام یونیک میزاره. نام ها تکراری نیستند . شما باید تو جداول نام فایل رو ذخیره کنید

  10. #10
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

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

  11. #11

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    نقل قول نوشته شده توسط mmbguide مشاهده تاپیک
    مکلم با نام فایل نیست. هدفم از تفکیک جداول این بود که سه گروه متفاوت فایل دارم و به دلیل حجم بالای فایل ها میخوام هر گروه رو روی یک هارد جداگانه ذخیره کنم.
    سه جدول جدا توی یک دپیتابیس بساز
    هر جدول رو به یک فایل گروپ نسبت بده
    هر فایل گروپ رو روی یک هارد بساز

  12. #12
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    من جداول رو ساختم ولی دیگه فایل ذخیره نمیشه. از نمونه کد زیر استفاده کردم:

    CREATE TABLE [tblFiles]
    ( FileId UNIQUEIDENTIFIER NOT NULL ROWGUIDCOL UNIQUE DEFAULT(NEWID()),
    Title NVARCHAR(255) NOT NULL,
    SystemFile VARBINARY(MAX) FILESTREAM NULL )
    ON [PRIMARY] FILESTREAM_ON [fsg1]



    من در خط آخر در هر جدول از نام Filegroup استفاده کردم. نمیدونم روشم درست بوده یا خیر؟

  13. #13
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    آقا درست شد و الان داره جواب میده. فقط یه مشکلی دارم. زمانی که در قسمت File برای بار اول مسیر تعریف میکنم و پنجره رو میبندم و مجدد باز میکنم دیگه امکان تغییر Path وجود نداره. اگر میشه در این خصوص راهنمایی کنید. اصلا بطور کل میخوام بدونم چطور میشه Location رو بعد از ذخیره کلی فایل تغییر داد. تشکر

  14. #14
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    سلام.

    الان من دو تا جدول دارم که فایل های رو در دو درایو مجزا ذخیره میکنه. اما حالا میخوام بانک اطلاعاتیم رو ببرم روی سیستم دیگه Attach کنم. اما چند مشکل وجود داره:


    1. من اطلاعات یک جدول رو حذف کردم و هیچ رکوردی وجود نداره و همچنین از Shrink > File رو هم اجرا کردم ولی همچنان فضای اشغال شده دارم. البته از نظر SQL و اجازه نمیده در تنظیمات بانک اطلاعاتیم File ایجاد شده به عنوان FileStream رو حذف کنم.
    2. در چنین شرایطی که طراحی بانک در کامپیوتر خودم انجام شده و باید به یک سیستم دیگه ای انتقال پیدا کنه باید چکار کرد؟ چون در سیستم بعدی در زمان Attach کردن اگر مسیرهای انتخاب شده وجود ناشته باشند خطا میده.


    ممنون

  15. #15

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    نقل قول نوشته شده توسط mmbguide مشاهده تاپیک
    مسئله اول که در خصوص FileTable و FileStream هستش هنوز موفق نشدم حلش کنم.

    اما در خصوص اینکه فایل های مختلف رو بتونم در پارتیشن های مختلف ذخیره کنم یه راه حل به ذهنم رسید و اون اینه که به ازای هر گروه از فایل های برنامه که حدود 3 گروه اصلی هستند، 3 بانک اطلاعاتی مجزا ایجاد کنم و هر بانک اطلاعاتی تنها حاوی یک جدول FileStream خواهد بود و در زمان ارسال فایل کافیه که فایل رو به بانک خودش ارسال کنم.

    ممنون میشم اگر دوستان نظر بدند
    میتونید چند Data Container و یا چند فایل گروپ داشته باشید. نیازی به چند جدول نیست.
    https://dba.stackexchange.com/questi...ngle-filegroup
    https://www.sqlshack.com/sql-server-...and-filegroups
    https://www.sqlshack.com/sql-server-...and-filegroups

  16. #16
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    تشکر. اگر در مورد پست #14 هم راهنمایی کنید ممنون میشم

  17. #17
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    دوستان به یه مشکلی برخوردم. برحسب اشتباه محتویات پوشه ای که به عنوان Path در File انتخاب کرده بودم رو پاک کردم و الان جلوی بانک اطلاعاتیم عبارت Recovery Pending نوشته و دسترسی به بانک اطلاعاتیم ندارم.

    لطفا کمک کنید. چطور میتونم این مشکل رو حل کنم. البته با یک نرم افزار بانک رو Recovery کردم ولی وقتی به Properties میرم بخش FileGroup خاموشه.

    ممنون

  18. #18

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    نقل قول نوشته شده توسط mmbguide مشاهده تاپیک
    دوستان به یه مشکلی برخوردم. برحسب اشتباه محتویات پوشه ای که به عنوان Path در File انتخاب کرده بودم رو پاک کردم و الان جلوی بانک اطلاعاتیم عبارت Recovery Pending نوشته و دسترسی به بانک اطلاعاتیم ندارم.

    لطفا کمک کنید. چطور میتونم این مشکل رو حل کنم. البته با یک نرم افزار بانک رو Recovery کردم ولی وقتی به Properties میرم بخش FileGroup خاموشه.

    ممنون
    فایل filestream.hdr درون پوشه را ریکاوری کنید و برگردانید داخل پوشه و سرویس اسکیول را ریستارت کنید.

  19. #19

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    نقل قول نوشته شده توسط mmbguide مشاهده تاپیک
    سلام.

    الان من دو تا جدول دارم که فایل های رو در دو درایو مجزا ذخیره میکنه. اما حالا میخوام بانک اطلاعاتیم رو ببرم روی سیستم دیگه Attach کنم. اما چند مشکل وجود داره:


    1. من اطلاعات یک جدول رو حذف کردم و هیچ رکوردی وجود نداره و همچنین از Shrink > File رو هم اجرا کردم ولی همچنان فضای اشغال شده دارم. البته از نظر SQL و اجازه نمیده در تنظیمات بانک اطلاعاتیم File ایجاد شده به عنوان FileStream رو حذف کنم.
    2. در چنین شرایطی که طراحی بانک در کامپیوتر خودم انجام شده و باید به یک سیستم دیگه ای انتقال پیدا کنه باید چکار کرد؟ چون در سیستم بعدی در زمان Attach کردن اگر مسیرهای انتخاب شده وجود ناشته باشند خطا میده.


    ممنون
    https://docs.microsoft.com/en-us/sql...ql-server-2017

  20. #20
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    نقل قول نوشته شده توسط Mahmoud.Afrad مشاهده تاپیک
    فایل filestream.hdr درون پوشه را ریکاوری کنید و برگردانید داخل پوشه و سرویس اسکیول را ریستارت کنید.
    منظورتون از ریکاوری، همون بازیابی فایل های حذف شده هستش یا سازوکاری در SQL برای اینکار وجود داره؟ اگه بازیابی فایل حذف شده هستش فرض کنیم فایل مورد نظر بازیابی نشه، اونوقت تکلیف چیه؟ یعنی تمام فایل های ذخیره شده از بین میرن؟

  21. #21

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    نقل قول نوشته شده توسط mmbguide مشاهده تاپیک
    منظورتون از ریکاوری، همون بازیابی فایل های حذف شده هستش یا سازوکاری در SQL برای اینکار وجود داره؟ اگه بازیابی فایل حذف شده هستش فرض کنیم فایل مورد نظر بازیابی نشه، اونوقت تکلیف چیه؟ یعنی تمام فایل های ذخیره شده از بین میرن؟
    بله منظورم بازیابی فایل هست.

    راه دیگر اینکه
    اگر از دیتابیس بکاپ دارید یک دیتابیس جدید ایجاد و restore کنید.

    یا اینکه
    یک دیتابیس جدید ایجاد کنید. دیتابیس جدید را offline کنید. از فایل های دیتابیس خراب یک کپی بگیرید و به محل فایلهای دیتابیس جدید رفته و جایگذین فایلهای دیتابیس جدید کنید. دیتابیس جدید را online کنید.

  22. #22
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    نقل قول نوشته شده توسط mmbguide مشاهده تاپیک
    آقا درست شد و الان داره جواب میده. فقط یه مشکلی دارم. زمانی که در قسمت File برای بار اول مسیر تعریف میکنم و پنجره رو میبندم و مجدد باز میکنم دیگه امکان تغییر Path وجود نداره. اگر میشه در این خصوص راهنمایی کنید. اصلا بطور کل میخوام بدونم چطور میشه Location رو بعد از ذخیره کلی فایل تغییر داد. تشکر
    سلام دوست عزیز منم کلی راجب همین فایل تیبل سرچ کردم و آخرگیج شدم. اگه در امکانتون هست و وقتشو دارید یه پروژه ساده تک فرمه برای مثال ذخیره اسم و یه فایل اینجا بزارید ازش الگو بگیریم. نحوه فعال کردن فایل تیبل رو هم بگید ممنون میشم

  23. #23
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    سلام. تا آخر همین هفته یه نمونه ساه برات آماده میکنم.

  24. #24
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    سلام. مطابق آنچه که در ابتدای همین تاپیک گفته شده عمل کنید. در حقیقت در زمان ذخیره سازی اطلاعات باید مشابه همون حالتی که برای اطلاعات معمولی در SQL عمل می کنید کار رو انجام بدید. درواقع کدهای ساده که در پست های بالا اومده جواب میده. البته سعی میکنم حتما یک نمونه آماده کنم. بنابه مشکلات فعلا موفق نشدم که نمونه برایتان آماده کنم ولی بزودی براتون تهیه میکنم.

  25. #25
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    سلام. با توجه به راهنمایی دوستان در حال حاضر دارم با FileStream کار میکنم. حالا سوالم درخصوص تغییر آدرس FileStream هستش. برای تغییر آدرس اونطور که در سایت های مختلف جستجو کردم باید مراحل زیر به ترتیب انجام بشه:

    حذف ستون Varbinary

    ALTER TABLE Items DROP COLUMN ItemImage


    قطع ارتباط FileStream با جدول

    ALTER TABLE Items SET (FILESTREAM_ON = "NULL")


    حذف FileGroup

    ALTER DATABASE NorthPole REMOVE FILE NorthPoleFS ;
    ALTER DATABASE NorthPole REMOVE FILEGROUP NorthPoleFS ;


    خودم این روش را تست نکردم و سوالم اینه که با حذف ستون Varbinary چه اتفاقی برای فایل ها میوفته. چون جایی به این موضوع اشاره نکرده که فرض این باشه که حدود 2000 تا فایل در جدول ذخیره شده باشه و من هم فکر میکنم منظور نویسنده این بوده که جدول هنوز خالیه و هیچ رکوردی ندارد. حالا آیا با این کار و تغییر Path با وجود فایل hdr در مسیر تعریف شده آیا پس از ایجاد ستون جدید و اتصال FileStream جدید به جدول، میتونم از تمام فایل ها استفاده کنم یا خیر.

    امیدوارم مطلب نامفهوم نبوده باشه. تشکر

  26. #26

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    در لینکی که چند پست قبل ارسال کردم توضیح داده شده.

  27. #27
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,143

    نقل قول: چرا فایل هایی که بصورت FileStream به SQL میفرستم با اسامی نامفهوم ذخیره میشه

    مرسی آقای Mahmoud.Afrad

تاپیک های مشابه

  1. پاسخ: 1
    آخرین پست: یک شنبه 23 بهمن 1390, 02:18 صبح
  2. مبتدی: چرا sms هایی که send میشه نمیرسه به گوشی
    نوشته شده توسط mohammadian7 در بخش Java ME : نگارش میکرو جاوا
    پاسخ: 2
    آخرین پست: یک شنبه 16 مرداد 1390, 11:20 صبح
  3. سوال: چگونگي به دست آوردن ليست تمامي فايل هايي كه باز هستند ؟
    نوشته شده توسط BORHAN TEC در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 2
    آخرین پست: یک شنبه 01 آذر 1388, 05:03 صبح
  4. پاسخ: 2
    آخرین پست: شنبه 09 شهریور 1387, 10:09 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •