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

نام تاپیک: نوع داده FileStream

  1. #1

    Question نوع داده FileStream

    با سلام
    لطفا در مورد نوع داده FileStream توضیح بدید. اینکه چطور میشه یه فایل(مثلا pdf ) رو در SQL SERVER ذخیره کرد.
    و مهمتر ازاون چطوری در #C به اون فایل دسترسی پیدا کرد.مثلا کاربر بتونه هم فایل ها رو ذخیره کنه و هم بتونه فراخوانی کنه .با زدن بروی اسم فایل pdf در دیتا گریدویو برنامه Acrobat اجرا بشه.
    ممنون

  2. #2

    نقل قول: نوع داده FileStream

    سلام
    این نوع داده در واقع از نسخه 2008 به بعد اضافه شد و در نسخه 2012 با اضافه شدن FileTable بر روی fileStream قابلیت های بیشتری بهش اضافه شد.
    در خود File Stream نحوه کار مثل قبل هست . با فایل مثل یک Stream رفتار کرده و در دیتابیس ذخیره می کنید.
    در FileTable دیگه نیازی به این روش نیست و کافیه شما فایل رو در مسیری که این جدول ایجاد شده کپی کنید. خود فایل در داخل دیتابیس اضافه میشه.
    این جدول نیز به یک مسیر فیزیکی روی هارد لینک خواهد شد که اون مسیر فقط از طریق Database Engine در دسترس هست. تمامی مدیریت فایلها توسط خود SQL SErver انجام خواهد شد.
    نحوه فراخوانی اونم بسیار ساده هست.
    نمونه های بسیار زیادی در اینترنت هست که با یک سرچ ساده میتونید کلی سورس در مورد استفاده از FileTable پیدا کنید.
    پیشنهاد میکنم که به جای FileStream از FileTable استفاده کنید که از مزایای جدیدتر اون بهره مند بشین.

  3. #3

    نقل قول: نوع داده FileStream

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

  4. #4

    نقل قول: نوع داده FileStream

    نوع داده uniqueidentifier و ()newid توی sql sever دقیقا چی هستن ؟
    درضمن اگه میشه این کدها رو توضیح بدید.مال #C هستش.به خدا خیلی گیج شدم.اصلا سر در نمیارم.
    کد HTML:
    con.Open();
     SqlTransaction txn = con.BeginTransaction();
                    string sql = "SELECT fData.PathName(), GET_FILESTREAM_TRANSACTION_CONTEXT(), fName FROM MyFsTable";
                    SqlCommand cmd = new SqlCommand(sql, con, txn);
                    SqlDataReader rdr = cmd.ExecuteReader();
                    while (rdr.Read())
                    {
                        string filePath = rdr[0].ToString();
                        byte[] objContext = (byte[])rdr[1];
                        string fName = rdr[2].ToString();
     
                        SqlFileStream sfs = new SqlFileStream(filePath, objContext, System.IO.FileAccess.Read);
     
                        byte[] buffer = new byte[(int)sfs.Length];
                        sfs.Read(buffer, 0, buffer.Length);
                        sfs.Close();
     
                        // Just write all files in the table to the temp direcotory.
                        // This is probably not how you would do it in the real world. But this is just an example.
                        string filename = @"C:\Temp\" + fName;
     
                        System.IO.FileStream fs = new System.IO.FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.Write);
                        fs.Write(buffer, 0, buffer.Length);
                        fs.Flush();
                        fs.Close();
    آخرین ویرایش به وسیله mandagarana : شنبه 23 بهمن 1395 در 07:54 صبح

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

  1. نوع داده ای timestamp
    نوشته شده توسط m-khorsandi در بخش SQL Server
    پاسخ: 12
    آخرین پست: یک شنبه 23 تیر 1387, 10:01 صبح
  2. نوع داده AutoNumber
    نوشته شده توسط S.A در بخش SQL Server
    پاسخ: 4
    آخرین پست: شنبه 19 دی 1383, 11:03 صبح
  3. نوع داده ای smalldatetime و مشکل تاریخ شمسی
    نوشته شده توسط مهدی ذوقی در بخش SQL Server
    پاسخ: 3
    آخرین پست: پنج شنبه 05 آذر 1383, 19:32 عصر
  4. نوع داده جدید در sql
    نوشته شده توسط a_pirhayati در بخش SQL Server
    پاسخ: 8
    آخرین پست: شنبه 04 مهر 1383, 12:45 عصر
  5. پاسخ: 5
    آخرین پست: سه شنبه 05 خرداد 1383, 17:47 عصر

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

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