将整个表从SQL Server CE数据库复制到另一个数据库
本文关键字:数据库 CE 复制 另一个 Server SQL | 更新日期: 2023-09-27 18:06:01
我正在开发一个c#应用程序,我想从SQL Server CE数据库以编程方式复制整个表到另一个。我知道我可以在SQL Server中使用此命令,但我不确定如何在c#中使用两个数据库连接。
Select * into DestinationDB.dbo.tableName from SourceDB.dbo.SourceTable
你不会像在SQL Server中那样做,因为没有一个服务器同时管理两个数据库。你的应用程序是连接两个数据库的唯一东西,所以数据必须通过你的应用程序。你试图用错误的方式去做,这就是为什么你找不到解决方案:你正在寻找错误的东西。
有这样的例子。我知道,因为我自己也写过不止一本。您只需要使用数据适配器从第一个数据库填充DataTable
,然后使用数据适配器将该DataTable
的内容保存到第二个数据库。如果数据源是相同类型的,那么您甚至可以只使用一个数据适配器,因为SelectCommand
和InsertCommand
可以有不同的连接。
using (var adapter = new SqlDataAdapter("SELECT statement here", "source connection string here"))
using (var destinationConnection = new SqlConnection("destination connection string here"))
using (var insertCommand = new SqlCommand("INSERT statement here", destinationConnection))
{
// Add parameters to insertCommand here.
adapter.InsertCommand = insertCommand;
// Leave the RowState of all DataRows as Added so they are ready to be inserted.
adapter.AcceptChangesDuringFill = false;
var table = new DataTable();
// Retrieve data from source and save to destination.
adapter.Fill(table);
adapter.Update(table);
}