C# 你能使用SnowflakeDbConnection批量上传吗?
我有以下代码,它可以一次插入一条记录。逐行加载数据需要很长时间C# 你能使用SnowflakeDbConnection批量上传吗?,c#,snowflake-cloud-data-platform,bulk-load,C#,Snowflake Cloud Data Platform,Bulk Load,我有以下代码,它可以一次插入一条记录。逐行加载数据需要很长时间 using (SnowflakeDbConnection connection = new SnowflakeDbConnection()) { connection.ConnectionString = connstr; connection.Open(); int rowsAffected; using (SnowflakeDbCommand sqlcomm = SnowflakeDbCommand)conn
using (SnowflakeDbConnection connection = new SnowflakeDbConnection())
{
connection.ConnectionString = connstr;
connection.Open();
int rowsAffected;
using (SnowflakeDbCommand sqlcomm =
SnowflakeDbCommand)connection.CreateCommand())
{
sqlcomm.CommandType = CommandType.Text;
sqlcomm.CommandText = String.Format("INSERT INTO {0}({1},{2})
values('9', 'Value99')", DestinationTableName, "ValueID", "FullName");
rowsAffected = sqlcomm.ExecuteNonQuery();
}
}
我在找这样的东西
using (var bulk = new SqlBulkCopy(this.connection))
{
bulk.DestinationTableName = "DestinationTableName";
bulk.WriteToServer(table);
}
您应该看看如何使用copyinto命令。您需要进行一些设置才能使其正常工作
COPY-INTO命令的语法:您应该了解如何使用COPY-INTO命令。您需要进行一些设置才能使其正常工作
复制到表中命令导入
[我假设您在Azure上使用雪花-也适用于AWS S3和GCP]。您可以查看如何同时插入多行(但仍然是一个小数字)的绑定参数的示例
您应该考虑将压缩数据写入Azure blob“雪花暂存区”,并通过复制到表中命令导入
[我假设您在Azure上使用雪花-也适用于AWS S3和GCP]。这有帮助吗?谢谢,这不是直接从SQL服务器开始的,你需要先转储到文件中,然后再加载。这是通过云存储而不是通过多次插入导入批量数据的“雪花方式”。假设当您有大量数据时,写入云存储+复制到表中的速度更快。由于表的存储方式是“写一次”,许多插入可能比您想象的更糟糕。这有帮助吗?谢谢,这不是直接从SQL服务器开始的,你需要先转储到文件中,然后再加载。这是通过云存储而不是通过多次插入导入批量数据的“雪花方式”。假设当您有大量数据时,写入云存储+复制到表中的速度更快。由于表的存储方式“写一次”,许多插入可能比您想象的更糟糕。这将起作用,但有点手动。如果您将数据写入Azure blob存储并将其配置为外部阶段,您仍然可以使用COPY-into-table(复制到表中)。这将起作用,但需要一些手动操作。若您将数据写入Azure blob存储并将其配置为外部阶段,那个么您仍然可以使用COPY-into-table。