2016-08-07 7 views
0

Я работаю над приложением Windows CE, и мне нужно скопировать данные таблицы сервера в базу данных SQL Server CE (локально) с помощью программирования на C#. Я использую 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 и других) - но ** NOT ** для Compact Edition (что действительно является полностью другой, отдельный продукт). Но возможно [этот проект на CodePlex] (https://sqlcebulkcopy.codeplex.com/) может вам помочь –

+0

@jobin Можем ли мы узнать, какое исключение вы получаете при компиляции/выполнении вышеуказанного кода ?. –

ответ

1

Поскольку я не могу вставить изображение в комментариях, я включаю его в качестве ответа. SqlBulkcopy присутствует в пространстве имен System.Data.SqlClient. Просто перейдите к пространству имен SqlBulkcopy, вы должны перейти на ниже enter image description here

Если нет, я думаю, что ваша dll повреждена, возможно, вам нужно перезагрузить новую.