2013-10-22 11 views
0

SQL Server CE 데이터베이스에서 데이터를 가져오고 업데이트하는 C# .net Windows 양식 응용 프로그램을 개발했습니다. Windows CE 6.0 시스템에서이 응용 프로그램을 실행 중이며 오류 : 네이티브 예외가 발생했습니다 .Net EXE

A native exception occurred in ItemDB.exe(my exe name). 

Details: 
Exception code : 0x80000002 
Exception address: 0x40e843b4 
Faulting module: sqlceme35.dll 
offset: 0x000043b4 

at  

NavigateMethod.GetKeyInfo(parm1,parm2,...) 

at 

SqlCEDataReader.FillMetaData(command) 

at 

sqlCeCommand.InitializeDataReader() 

그래서 나는 인터넷에서 검색이 링크를 발견

http://go4answers.webhost4life.com/Example/cant-find-pinvoke-dll-sqlceme35dll-49162.aspx

http://blogs.msdn.com/b/sqlservercompact/archive/2007/10/26/can-t-find-p-invoke-dll-sqlcemenn-dll.aspx

sugges로를 ted, Zip 파일을 복사했기 때문에 (Cab 파일을 얻지 못했기 때문에) .Cab로 변경했습니다. 그런 다음 Cab을 실행하려고 시도했지만, "이 파일은 유효한 명령 파일이 아닙니다."

희망을 명확히 설명했습니다. 아무도 도와 주시겠습니까?

답변

4

이것은 거의 항상 PC에서 컴파일 한 내용과 장치에 배포 한 내용 간의 SQL CE 버전 차이로 인해 발생합니다. SQL 참조 번호가 이고 프로젝트 참조 및 장치에있는 내용이 모두인지 확인하십시오. 일반적으로 참조에 ".NET"탭이 아닌 참조를 추가하지만 참조 번호는 정확히 이고 어떤 파일이 사용되고 있는지 정확히 알고 있으며 장치와 동일한 위치에서 SQLCE를 수동으로 배포합니다.

C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Devices\wce500\armv4i

그리고 당신의 프로젝트 참조 여기 가리켜 야 :

* 편집

배포 할 파일을 찾고해야 위치는 여기

C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v3.5\Devices\System.Data.SqlServerCe.dll

+0

내가 그랬어 , 이제는 "P/Invoke DLL sqlceme30.dll"을 찾을 수 없습니다. 어떻게이 문제를 해결할 수 있습니까? – bapi

+0

확인 : http://social.msdn.microsoft.com/Forums/sqlserver/en-US/e8f18881-c642-4989-a8e5-873176b3a0fe/cant-find-pinvoke-dll-sqlceme30dll?forum=sqlce 내가하지 않았다. C : \ Program Files (x86) \ Microsoft Visual Studio 8 \ SmartDevices \ SDK \ SQL Server \ Mobile \ v3.0 \ wce400 \ armv4에서 Zip 파일을 찾습니다. 이것을 설치하는 방법? – bapi