0

我在网络中的服务器机器上有这个 SQL 数据库,我希望任何客户端机器能够相应地向数据库上传和下载文件,文件将保存到服务器机器文件系统及其元数据将存储在数据库中。
执行该任务的最佳方法是什么?以及如何使用 C# winform 应用程序实现它?提前谢谢@_@

4

2 回答 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 回答