【发布时间】:2018-06-09 07:13:11
【问题描述】:
我有一个巨大的 .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();
}
}
我真的很感激任何帮助,因为我已经被困了一段时间了!
非常感谢
【问题讨论】:
-
为什么要加载到 SQL Server 中? PowerBI 可以直接使用 .CSV 文件
-
我知道,但我想使用 Power BI 服务,据我所知,如果本地文件发生更改,您必须将文件重新上传到 BI 服务以更新数据。还是我错了?
-
要更新数据,在任何情况下都必须重新加载 Power BI 模型 - 无论它是存储在 SQL 服务器还是本地文件中。此要求的唯一例外是直接查询模式,但它有很多缺点,很难证明其使用的合理性(除非您有数十亿条记录)。使用 SQL Server 而不是直接导入的唯一其他原因是您计划执行复杂的数据转换和验证。 SQLS 在这方面比 Power Query(Power BI 用于处理数据导入的工具)更好。
-
我同意@RADO - 关于数据转换的一点。 Power Query(Power BI 中的查询编辑器)比 SQL(或 SSIS)更容易学习和使用,也更灵活。
-
如果您的“巨大 .csv 文件”存储在云存储服务(例如 OneDrive)中,则 Power BI Web 服务的数据集刷新可以直接从那里读取它,并针对它运行转换 Power Queries。然后只有数据从云存储服务移动到 Power BI Web 服务数据集。
标签: c# sql sql-server visual-studio