การเปิดใช้งานฟีเจอร์ 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
ไม่มีความคิดเห็น:
แสดงความคิดเห็น