gpt4 book ai didi

mysql - ASP.net C#——将来自 MySQL 的数据集合并到 SQL Server 2008 表中

转载 作者:行者123 更新时间:2023-11-29 03:46:11 25 4
gpt4 key购买 nike

我将数据从 MySQL 数据库表加载到 DataSet 中。

例子:

MySqlConnection myConnection = new MySqlConnection(/*connection string*/);
MySqlCommand collectDataCommand = new MySqlCommand(/*Select comman*/, myConnection);

MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(collectDataCommand);
myConnection.Open();

DataSet tempData = new DataSet();
myDataAdapter.Fill(tempData);

现在我在 DataSet 中有了这个信息,我需要将这个信息MERGE(或 UPSERT)到一个匹配表中SQL Server 2008 数据库。

最有效的方法是什么?这可能吗?

非常感谢!!!

最佳答案

最有效的方法是使用 Table-Valued Parameters (TVP) , 受 SQL Server 2008 支持。

很容易在 SQL Server side 上实现以及 C# 客户端(参数将为 SqlDbType.Structured )。基本上,步骤是:

  • 在你的数据库中定义一个新的“表类型”
  • 在您的存储过程中添加一个参数,具有您刚刚定义的类型
  • 在你的客户端C#代码中添加相应的参数

以下是相关 MSDN 文章的摘录:

“表值参数提供了一种将多行数据从客户端应用程序编码到 SQL Server 的简单方法,无需多次往返或特殊的服务器端逻辑来处理数据。您可以使用表值参数来封装客户端应用程序中的数据行,并通过单个参数化命令将数据发送到服务器。传入的数据行存储在表变量中,然后可以使用 Transact-SQL 对其进行操作。

“可以使用标准的 Transact-SQL SELECT 语句访问表值参数中的列值。表值参数是强类型的,并且会自动验证它们的结构。表值参数的大小仅受服务器内存的限制。 "

关于mysql - ASP.net C#——将来自 MySQL 的数据集合并到 SQL Server 2008 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4832119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com