我在网络中的服务器机器上有这个 SQL 数据库,我希望任何客户端机器能够相应地向数据库上传和下载文件,文件将保存到服务器机器文件系统及其元数据将存储在数据库中。
执行该任务的最佳方法是什么?以及如何使用 C# winform 应用程序实现它?提前谢谢@_@
问问题
1836 次
2 回答
0
为什么要将文件存储在数据库中?文件系统(我确信有问题的服务器也有)更适合保存和提供文件。
如果文件必须在数据库中,那么您可能只想将它们存储在 blob 字段中。当然,应将附加字段与有关文件的数据添加到表中。文件名,文件类型,如果您不想从 blob 动态计算文件大小,可能是上传它的用户,上传时间等。
那时,您将像应用程序中的任何其他数据库记录一样与它进行交互(为简洁起见,跳过对此的解释,不乏有关该主题的教程),还需要在 blob 的字节数组之间进行转换数据。此外,不乏例子。
但我必须回到我原来的问题。为什么要将文件放在关系数据库中?
于 2010-12-23T21:00:25.367 回答
0
try
{
if (txtFilePath.Text == pdfFilepath )
{
byte [] b=File .ReadAllBytes (pdfFilepath);
SqlConnection con1=Connection.Conn();
SqlCommand cmd=new SqlCommand ("insert into tbl_Document(Company_Id,FileNo,PdfFile)values(@cid,@fno,@file)",con1);
cmd .Parameters .AddWithValue("@cid",txtCompanyId.Text);
cmd .Parameters .AddWithValue("@fno",txtFileNumber.Text);
cmd .Parameters .AddWithValue("@file",b);
con1.Open();
cmd .ExecuteNonQuery();
con1.Close();
}
else
{
MessageBox.Show("Please give a valid file address.");
this.Dispose();
}
}
catch
{
MessageBox.Show("Unable to Process.");
this.Dispose();
}
于 2012-08-30T11:37:19.427 回答