آخرين پست هاي ارسالي انجمن ايران دلفي

تماشای رایگان فیلم ایرانی ، خارجی و کودک آکادمی دلفی
نمایش نتایج: از 1 به 2 از 2

موضوع: اضافه کردن قابلیت File Stream به یک دیتابیس

Hybrid View

  1. #1
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1

    Post اضافه کردن قابلیت File Stream به یک دیتابیس

    در این پست قصد داریم تا به شما اضافه کردن قابلیت File Stream به دیتابیس رو آموزش بدهیم.
    فعال سازی قابلیت FileStream
    همانند اکثر قابلیت*های اس کیوال سرور، فعال سازی FileStream نیز حداقل به دو صورت استفاده از GUI و قابلیت*های management studio میسر است و یا استفاده از دستورات T-SQL (و البته کتابخانه*ی SMO یا همان محصور کننده*ی توانایی*های management studio نیز قابل استفاده است).
    روش اول) استفاده از management studio
    قابلیت FileStream به صورت پیش فرض غیرفعال است. برای فعال سازی آن به مسیر زیر مراجعه نمائید:

    Start > All Programs > Microsoft SqlServer 2008 > Configuration Tools > SQL Server Configuration Manager

    سپس در قسمت SQL Server services ، وهله مربوط به SQL Server را یافته، کلیک راست و به برگه خواص آن مراجعه کرده (شکل زیر) و قابلیت FileStream را فعال کنید:

    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]



    گزینه*های مختلف آن به شرح زیر هستند:
    • Enable FileStream for transact-sql access : امکان استفاده از دستورات T-SQL را جهت دسترسی به فایل*ها فعال می*سازد (یا برعکس)
    • Enable FileStream for File I/O streaming access : امکان دسترسی به فایل*ها با استفاده از Win32 streaming access
    • All remote clients to have streaming access to file stream data : اجازه*ی دسترسی به کلاینت*های راه دور جهت استفاده از قابلیت FileStream

    مرحله بعد، فعال سازی سطح دسترسی به سرور است. به management studio مراجعه نمائید. سپس بر روی وهله سرور مورد نظر کلیک راست نموده و به خواص آن مراجعه کنید (شکل زیر). سپس در قسمت advanced سطح دسترسی را بر روی Full قرار دهید.

    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]


    پس از این تنظیم به شما پیغام داده خواهد شد که باید دیتابیس سرور را یکبار راه اندازی مجدد نمائید تا تنظیمات مورد نظر، اعمال شوند.

    در ادامه باید دیتابیسی را که نیاز است نوع داده FileStream را بپذیرد، تنظیم نمود.
    بر روی دیتابیس مورد نظر کلیک راست کرده و در برگه خواص آن به گزینه*ی Filegroups مراجعه کنید. سپس در اینجا یک گروه جدید را اضافه کرده ، نامی دلخواه را وارد نموده و سپس تیک مربوط به default بودن آن*را نیز قرار دهید (شکل زیر):

    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]

    سپس در همین برگه*ی خواص دیتابیس که باز است، به گزینه*ی Files مراجعه کنید. در اینجا سه کار را باید انجام دهید. ابتدا بر روی دکمه Add کلیک کرده و در قسمت logical name ردیف اضافه شده، نامی دلخواه را وارد کنید. سپس file type آن را بر روی FileStream قرار دهید. در ادامه به قسمت path در همین ردیف مراجعه نموده و مسیر ذخیره سازی را مشخص کنید. در پایان بر روی دکمه*ی OK کلیک نمائید تا کار تنظیم دیتابیس به پایان رسد (شکل زیر):

    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]

    روش دوم) استفاده از دستورات T-SQL
    منهای قسمت تنظیمات SQL Server Configuration Manager که باید از طریق روش عنوان شده صورت گیرد، سایر موارد فوق را با استفاده از دستورات T-SQL نیز می*توان انجام داد:

    الف) تنظیم سطح دسترسی بر روی سرور

    کد:
    EXEC sp_configure filestream_access_level, 2 -- 0 : Disable , 1 : Transact Sql Access , 2 : Win IO Access
    GO
    RECONFIGURE
    GO
    ب) تنظیمات دیتابیس

    اگر نیاز باشد دیتابیس جدیدی ایجاد شود: (ایجاد گروه فایل مربوطه و سپس تنظیمات مسیر آن)

    کد:
    CREATE DATABASE Test_Db
    ON
    PRIMARY ( NAME = TestDb1,
       FILENAME = 'C:\DATA\Test_Db.mdf'),
    FILEGROUP FileStreamGroup1 CONTAINS FILESTREAM( NAME = Testfsg1,
       FILENAME = 'C:\DATA\Learning_DbStream')
    LOG ON  ( NAME = TestDbLog1,
        FILENAME = 'C:\DATA\Test_Db.ldf')
    GO
    و یا ایجاد تغییرات بر روی دیتابیسی موجود: (ایجاد گروه فایل مخصوص و سپس افزودن فایل مربوطه و تنظیمات آن)

    کد:
    [TABLE]
    
    --add filegroup
    alter database TestDb
     Add FileGroup FileStreamFileGroup1 contains FileStream
    go
     
    --Add FileGroup To DB
    alter database TestDB
     add file
     (
       name = 'UserDocuments'  ,
       filename = 'C:\FileStream\UserDocuments'
     ) to filegroup FileStreamFileGroup1
    تعریف جدولی آزمایشی به همراه فیلدی از نوع FileStream :
    تا اینجا سرور و همچنین دیتابیس جهت پذیرش این نوع داده آماده شدند. اکنون نوبت به استفاده از آن است:

    کد:
    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]
    توسط دستور T-SQL فوق جدولی که از نوع داده FileStream استفاده می*کند، ایجاد خواهد شد. این جدول همانطور که مشخص است حتما باید دارای یک فیلد منحصربفرد باشد (ر.ک. مقاله قبل) و همچنین برچسب فایل استریم به فیلدی از نوع VARBINARY(MAX) نیز الصاق شده است. به علاوه گروه فایل آن نیز باید به صورت صریح مشخص گردد؛ که در مثال ما مطابق تصاویر به fsg1 تنظیم شده بود.

    منبع : [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  2. 3 کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده اند .

    b_e_shamlu (21 / January / 2015),dorado325 (08 / March / 2016),meyti (21 / January / 2015)

  3. #2
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    39
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1

    پاسخ : اضافه کردن قابلیت File Stream به یک دیتابیس

    در این پست بحث یک مقدار تخصصی تر دنبال شده و فرض شده که بر روی جدولی که وجود دارد قرار است تغییراتی انجام بشود ، که لازم دونستم مقداری از بحث رو اینجا به زبان اصلی بیارم و اگه دوستان سوالی داشتند به سوالشون پاسخ لازم رو بدم.


    1. III. Enabling FILESTREAM on an existing table

    a) Create a ROWGUID column
    کد:
    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] DBNAME
     [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] tablename
     Add columname uniqueidentifier not null ROWGUIDCOL unique default newid()
     GO
    b) Turn on FILESTREAM
    کد:
     [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] DBNAME
     [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] tablename
     SET (filestream_on=FILESTREAMGroupName)
     GO
    c) Add FILESTREAM column to the table
    کد:
     [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] DBNAME
     [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] tablename
     Add columname varbinary(max) FILESTREAM null
     GO
    d) Move data into the new column
    کد:
    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] tablename
     SET new_columnname=old_columnname
     GO
    e) Drop the old column
    کد:
    [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] [برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید] tablename
     DROP column old_columnname
     GO
    f) Rename the new FILESTREAM column to the old column name
    کد:
    Use DBNAME
     EXEC sp_rename ‘tablename.newcolumnname’, ‘oldcolmnname’, ‘COLUMN’
      GO
    منبع :[برای مشاهده لینک ها شما باید عضو سایت باشید برای عضویت در سایت بر روی اینجا کلیک بکنید]
    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  4. 3 کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده اند .

    b_e_shamlu (21 / January / 2015),dorado325 (08 / March / 2016),meyti (21 / January / 2015)

موضوعات مشابه

  1. طریقه ی ایجاد دیتابیس
    توسط admin در انجمن SQLServer 2000
    پاسخ: 4
    آخرين نوشته: 16 / June / 2021, 12:18 AM
  2. پاسخ: 0
    آخرين نوشته: 14 / January / 2015, 09:27 PM
  3. اشکال در اتچ کردن دیتابیس
    توسط msi1393 در انجمن SQLServer 2008
    پاسخ: 8
    آخرين نوشته: 28 / August / 2014, 01:09 AM
  4. چگونگی ارتباط با دیتابیس sql از محیط دلفی xe5
    توسط farid_radfar در انجمن SQLServer 2008
    پاسخ: 3
    آخرين نوشته: 14 / July / 2014, 12:41 PM
  5. رفع ارور SUSPECT از دیتابیس
    توسط b_itman_b در انجمن SQLServer 2008
    پاسخ: 4
    آخرين نوشته: 16 / February / 1970, 11:36 AM

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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