2016-08-07 3 views
0

Windows CE 응용 프로그램에서 작업 중이며 C# 프로그래밍을 사용하여 서버 테이블 데이터를 SQL Server CE 데이터베이스 (로컬)에 복사해야합니다. Visual Studio 2008, SQL Server 2008을 사용하고 있습니다.SqlBulkCopy를 사용하여 SQL Server에서 SQL Server CE로 테이블 데이터 복사

아래 코드는 내가 작업하고있는 코드이지만 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(); 

추가는 : 나는 코멘트에 이미지를 붙여 넣을 수 없기 때문에, 내가 대답로 포함하고있는 코드

+1

로컬 SQL Server CE 연결은'SqlCeConnection'과'SqlCeCommand'를 사용해야합니다 !! –

+1

이것은 VS2008과는 아무런 관련이 없습니다 - 문제는 : 'SqlBulkCopy'는 "실제"SQL Server (익스프레스 및 기타)에 대한 ** 전용 ** -하지만 ** 컴팩 에디션에는 ** 아닙니다 ** 실제로는 완전히 다른, 별도의 제품). 그러나 아마도 [이 프로젝트 (CodePlex 프로젝트)] (https://sqlcebulkcopy.codeplex.com/)가 도움이 될 수 있습니다. –

+0

@jobin 위의 코드를 컴파일/실행하는 동안 어떤 종류의 예외가 발생하는지 알 수 있습니까? –

답변

1

모두 using System.Data.SqlClient; & using System.Data; 포함했다. SqlBulkcopy는 System.Data.SqlClient 네임 스페이스 아래에 있습니다. SqlBulkcopy 네임 스페이스로 이동하면 아래로 이동해야합니다. enter image description here

만약 내가 dll 파일이 손상되었다고 생각되면 새 파일을 다시로드해야 할 수도 있습니다.