将本地文件上载到SQL Server的程序

时间:2018-06-09 07:13:11

标签: c# sql sql-server visual-studio

我有一个巨大的.csv文件需要上传到SQL Server,以便我可以直接在Microsoft Power BI中访问数据。

我正在尝试创建一个程序,在运行时会自动将指定的文件放到服务器上,以便文件保持更新。

解决这个问题的正确方法是什么?

我不熟悉Visual Studio和C#,但尝试过以下方法但没有成功,因为我不知道如何指定我创建的SQL Server数据库:

public static void databaseFilePut(string varFilePath) 
{
    byte[] file;

    using (var stream = new FileStream(varFilePath, FileMode.Open, FileAccess.Read)) 
    using (var reader = new BinaryReader(stream)) 
    {
        file = reader.ReadBytes((int) stream.Length);       
    }          

    using (var varConnection = Locale.sqlConnectOneTime(Locale.sqlDataConnectionDetails))
    using (var sqlWrite = new SqlCommand("INSERT INTO Raporty (RaportPlik) Values(@File)", varConnection)) 
    {
        sqlWrite.Parameters.Add("@File", SqlDbType.VarBinary, file.Length).Value = file;
        sqlWrite.ExecuteNonQuery();
    }
}

我真的很感激任何帮助,因为我已经被困在这一段时间了!

非常感谢

1 个答案:

答案 0 :(得分:0)

导入工作应该通过SSIS(Sql Serve Integration Services)完成。 Power BI可以完成这项工作,但考虑到其他500MB应该考虑使用SSIS等企业级软件。

然后,一旦获得了数据库中的所有数据,就应该在SSAS(SQL Server Analysis Services)上构建模型,然后为具有实时连接的报告连接power BI。此解决方案的优点是所有数据都在服务器上,因此您无需刷新数据。

如果您希望 SSIS 电源查询的企业级别, SSAS 是用于建模数据的企业级别。

如果您熟悉电源BI中的数据建模并使用DAX进行操作,那么处理SSAS时不会遇到太多问题,而SSIS与电源BI(又称Power查询)的导入工具完全不同。为Visual Studio安装数据工具这是使用SSIS和SSAS的必备工具。

希望有所帮助。