SQL Server中FileStream的作用是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
創(chuàng)新互聯(lián)歡迎來電:18982081108,為您提供成都網(wǎng)站建設網(wǎng)頁設計及定制高端網(wǎng)站建設服務,創(chuàng)新互聯(lián)網(wǎng)頁制作領域10年,包括雨棚定制等多個領域擁有豐富的營銷推廣經驗,選擇創(chuàng)新互聯(lián),為網(wǎng)站保駕護航。
一、FileStream配置
1.配置SQL Server安裝實例:Start -> All Programs -> Microsoft SQL Server 2008 R2 -> Configuration Tools -> SQL Server Configuration Manager
右擊屬性,切換到FILESTREAM標簽,勾選如下配置
2. 打開SQL Server,并配置如下
以上也可以通過如下腳本執(zhí)行:
Exec sp_configure filesteam_access_level, 2RECONFIGURE
最后重啟SQL Server Service
二、實例展示
創(chuàng)建FileStream類型文件/組
--Create filestreamgroup ALTER DATABASE [Archive]ADD FILEGROUP [FileStreamGroup] CONTAINS FILESTREAM GO--Create filestream and association with filestreamgroup aboveALTER DATABASE [Archive]ADD FILE ( NAME = N'FileStream', FILENAME = N'D:\Company\Data\SQL Server\FileStream') TO FILEGROUP [FileStreamGroup]GO
創(chuàng)建測試表(注意:如果表包含F(xiàn)ILESTREAM列,則每一行都必須具有唯一的行ID)
--Create tableCREATE TABLE Archive.dbo.Attachment ( [ID] [UNIQUEIDENTIFIER] ROWGUIDCOL NOT NULL PRIMARY KEY, [FileName] NVARCHAR(100) NULL, [CreateUser] NVARCHAR(100) NULL, [CreateDatetime] DATETIME NULL, [Content] VARBINARY(MAX) FILESTREAM NULL )FILESTREAM_ON [FileStreamGroup]
插入一些測試數(shù)據(jù)
--Insert some recordsINSERT INTO Attachment VALUES (NEWID(),'File Name 1','shg.cpan', GETDATE(),NULL),(NEWID(),'File Name 1','shg.cpan', GETDATE(),CAST('' AS VARBINARY(MAX))),(NEWID(),'File Name 1','shg.cpan', GETDATE(),CAST('This is a attachment, which contains all introduction for filestream' AS VARBINARY(MAX)))
從前臺插入一些數(shù)據(jù)
using (SqlConnection conn = new SqlConnection("server=10.7.15.172;database=Archive;uid=sa;pwd=1234;Connect Timeout=180")){ conn.Open(); using (SqlCommand cmd = conn.CreateCommand()) { string id = Guid.NewGuid().ToString(); cmd.CommandText = "INSERT INTO Attachment VALUES('" + id + "','File Name 2','shg.cpan','" + DateTime.Now + "',@content)"; SqlParameter param = new SqlParameter("@content", SqlDbType.VarBinary, 1000000000); param.Value = File.ReadAllBytes(@"D:\Folder\131 u_ex151207.log"); cmd.Parameters.Add(param); cmd.ExecuteNonQuery(); } conn.Close();}
檢索數(shù)據(jù)
SELECT DATALENGTH(CONTENT)/(1024.0 * 1024.0) AS MB,* FROM ATTACHMENT
結果
文件系統(tǒng)
上面的文件都是上傳的真實文件,只不過沒有后綴,如果重命名加上后綴,即可讀取,如最后一個是excel文件,加上.xls,即可用Excel軟件打開此文件
三、注意事項
請注意以下事項:
?并不是所有的文件存儲都適合使用FileStream,如果所存儲的文件對象平均大于1MB考慮使用FileStream,否則對于較小的文件對象,以varbinary(max)BLOB存儲在數(shù)據(jù)庫中通常會提供更為優(yōu)異的流性能;?FileStream可以使用在故障集群上(Failover Cluster),但此時FileStream文件組必須位于共享磁盤資源上;?FILESTREAM 與其他 SQL Server 功能的兼容性:https://msdn.microsoft.com/zh-cn/library/bb895334(v=sql.105).aspx
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。
文章標題:SQLServer中FileStream的作用是什么
本文路徑:http://sd-ha.com/article16/jgeogg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供云服務器、網(wǎng)站設計、定制網(wǎng)站、網(wǎng)站策劃、微信公眾號、外貿建站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)