将整个表从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 CE数据库复制到另一个数据库

你不会像在SQL Server中那样做,因为没有一个服务器同时管理两个数据库。你的应用程序是连接两个数据库的唯一东西,所以数据必须通过你的应用程序。你试图用错误的方式去做,这就是为什么你找不到解决方案:你正在寻找错误的东西。

有这样的例子。我知道,因为我自己也写过不止一本。您只需要使用数据适配器从第一个数据库填充DataTable,然后使用数据适配器将该DataTable的内容保存到第二个数据库。如果数据源是相同类型的,那么您甚至可以只使用一个数据适配器,因为SelectCommandInsertCommand可以有不同的连接。

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);
}
这个例子使用了SqlClient,但它对任何提供者都是一样的,包括SqlServerCe。