我有一个巨大的.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();
}
}
我真的很感激任何帮助,因为我已经被困在这一段时间了!
非常感谢
答案 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的必备工具。
希望有所帮助。