![](/img/trans.png)
[英]How store a large file into SQL Server 2008 and retrieve all of it?
[英]How to store and retrieve .pdf, .exe file in SQL Server 2008
我目前正在使用Windows Forms應用程序(C#,VS 2010),並且需要創建使用戶能夠將.pdf
和.exe
文件上傳到SQL Server 2008數據庫並將其重新下載的功能。
我的問題是,即使它們大小相同,從數據庫下載的文件也總是損壞( .txt
文件除外)。 而且我已經使用varbinary(MAX)
作為文件類型將數據存儲在數據庫中。
誰能給我看一些示例代碼來做到這一點?
PS:我已經研究了一個多星期,但仍然找不到解決我問題的方法,有人可以幫忙嗎? 任何答案將不勝感激。
在下面的示例中,有一些假設:
IDbConnection
對象。 CREATE TABLE Data (Id INT IDENTITY(1, 1) PRIMARY KEY, Data VARBINARY(MAX))
。 ReadAllBytes
的文檔 因此,顯然,由於您沒有在表結構周圍提供任何內容,因此您將不得不更改此代碼以滿足您的需求,但這將使您入門。
this.connection.Open();
try
{
var parameters = new
{
Data = File.ReadAllBytes(...);
};
return connection.Execute("INSERT INTO Data (Data) VALUES (@Data)", parameters);
}
finally
{
this.connection.Close();
}
this.connection.Open();
try
{
var parameters = new { Id = 1 };
return connection.Query(
"SELECT Data FROM dbo.Data WHERE Id = @Id", parameters)
.Select(q => q.Data as byte[])
.Single();
}
finally
{
this.connection.Close();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.