2016-08-07 28 views
0

我正在使用Windows CE应用程序,我需要使用C#编程将服务器表数据复制到SQL Server CE数据库(本地)。我正在使用Visual Studio 2008,SQL Server 2008进行开发。SQL Server到SQL Server CE表数据使用SqlBulkCopy复制

下面是我正在使用的代码,但它似乎在VS2008 SqlBulkCopy不支持。我们有没有其他方法来实现这个功能?

SqlConnection source = new SqlConnection(Con_s);// server connection string SQL Server 

SqlCeConnection destination = new SqlConnection(Con_l);// Local connection string SQL Server CE DB 
SqlCeCommand cmd = new SqlCeCommand("DELETE FROM ProductList", destination); 
source.Open(); 

destination.Open(); 
cmd.ExecuteNonQuery(); 

cmd = new SqlCommand("SELECT * FROM Products", source); 

SqlDataReader reader = cmd.ExecuteReader(); 

SqlBulkCopy bulkData = new SqlBulkCopy(destination); 
bulkData.DestinationTableName = "ProductList"; 

bulkData.WriteToServer(reader); 

bulkData.Close(); 
destination.Close(); 
source.Close(); 

补充:我既包括using System.Data.SqlClient; & using System.Data;代码

+1

本地SQL Server CE连接必须使用'SqlCeConnection'和'SqlCeCommand'! –

+1

这与VS2008无关 - 问题是:'SqlBulkCopy'仅适用于**“真正的”SQL Server(Express和其他)**,但**不适用于精简版(这实际上是一个完全不同的,独立的产品)。但是[CodePlex上的这个项目](https://sqlcebulkcopy.codeplex.com/)可能对你有帮助 –

+0

@jobin我们可以知道在编译/执行上面的代码时你得到了什么样的异常吗? –

回答

1

既然不能在评论中粘贴图像,我包括它的答案。 SqlBulkcopy存在于System.Data.SqlClient命名空间下。 只是导航到SqlBulkcopy命名空间,你必须导航到以下enter image description here

如果不是我认为你的DLL损坏可能是你需要重新加载一个新的。