วันพฤหัสบดีที่ 15 พฤศจิกายน พ.ศ. 2561

การตั้งค่าฐานข้อมูล SQL Serve เพื่อใช้คุณสมบัติ FileStream

การเปิดใช้งานฟีเจอร์ FileStream โดยปกติค่าคอนฟิกเริ่มต้นของSQL Server จะยังไม่ได้เปิดใช้งาน FileStream มาให้ ดังนั้นขั้นตอนแรกให้ทำการเปิดการทำงานเสียก่อน โดยเข้าไปที่หน้า 

ขั้นตอนที่ 1 เปิด SQL Server Configuration Manager และทำตามภาพได้เลยครับ

รูปที่ 1.1 SQL Server Configuration Manager


รูปที่ 1.2

รูปที่ 1.3

 - หลังจากนั้นทำการ Restart  Service

ขั้นตอนที่ 2 กลับมาที่หน้า SQL Server Management Studio ดังรูปที่ 1.3

รูปที่ 1.3

- ใช้เครื่องมือ New Query สำหรับเขียนคำสั่งนี้ลงไป 

EXEC sp_configure filestream_access_level, 2  RECONFIGURE  

-เสร็จแล้วกด ใช้เครื่องมือ Execute

ขั้นตอนที่ 3 ทำการสร้าง Database โดยการ Execute คำสั่งนี้ลงไป ในส่วนของ Path สำหรับเก็บไฟล์ข้อมูลสามารถเปลี่ยนไปตำแหน่งที่ต้องการได้ โดยระบุลงไปในคำสั่งได้เลย

CREATE DATABASE XDocsFileStream

ON

PRIMARY ( NAME = XDocsFileStream,

      FILENAME = 'C:\XDocsFileStreamDB\XDocsFileStreamDB.mdf'),

      FILEGROUP XDocsFileStreamFS CONTAINS FILESTREAM(

      NAME = XDocsFileStreamFS,

    FILENAME = 'C:\XDocsFileStreamDB\XDocsFileStreamDBFS')

LOG ON (                        

      NAME = XDocsFileStreamLOG,

    FILENAME = 'C:\XDocsFileStreamDB\XDocsFileStreamDBLOG.ldf')

GO
รูปที่ 1.4

- หลังจากทำการ Execute คำสั่งในการสร้าง Database ให้ทำการ Refresh Panel Object Explorer ที่อยู่ฝั่งซ้าย เพื่อให้ฐานข้อมูลแสดงขึ้นมา 

ขั้นตอนที่ 4 ทำการสร้าง Table โดยการ Execute คำสั่งนี้ลงไป 

CREATE TABLE dbo.Documents
(
PkId int Primary Key IDENTITY (1, 1),
Id uniqueidentifier NOT NULL Unique ROWGUIDCOL Default newid(),
Description nvarchar(64) NOT NULL,
FileSummary varbinary(MAX),
FileData varbinary(MAX) FileStream NULL


รูปที่ 1.5
จากโครงสร้างของ Table ที่ยกตัวอย่างนี้ จะประกอบไปด้วย Field ดังนี้

PkId เป็นประเภท Identity number อาจกำหนดให้เป็น Primary Key ของ Table ก็ได้
Id  เป็นตัวแปลประเภท uniqueidentifier ไม่สามารถซ้ำกันได้ ขนาด 128-bit Interger (16 byte)
Description ตัวแปลประเภท nvarchar 
FileSummary ตัวแปลประเภท varbinary(MAX)
FileData ตัวแปลประเภท varbinary(MAX) เป็น Field ที่ใช้เก็บข้อมูลทั้งหมดของ File
* ทั้งนี้ผู้อ่านสามารถออกแบบเปลี่ยนแปลงโครงสร้างของ Table ให้เหมาะสมกับงานของท่านก่อนจะทำการ Execute ได้

- เมื่อเสร็จสิ้น จะปรากฎ Table ที่สร้างใน Database 

ขั้นตอนสุดท้าย
- ทำการทดสอบ Insert ข้อมูลลงไปใน Table โดยการ Execute คำสั่งนี้

Insert Into Documents(
[Description],
[FileSummary],
[FileData])  Values(
'This is description',
Cast('FileSummyry' As varbinary(max)),
Cast('FileData of Pdf your file' As varbinary(max)))

รูปที่ 1.6

หากไม่มีอะไรผิดพลาด ข้อมูลจะถูกบันทึกลงฐานข้อมูลในรูปแบบของ FileStream


ไม่มีความคิดเห็น:

แสดงความคิดเห็น

วิธีแก้ “Operation could not be completed (error 0x00000709)

วิธีแก้ปัญหา Add Printer แล้วเจอ Error Connect to Printer 0x709 ปัญหานี้เจอตอนกำลังจะ Add Printer ที่แชร์ใน Wifi ครับ เครื่องแชร์ Pr...