最近把應用程式要安裝到其他電腦運作

突然就給他跳出這個錯誤

 

“Unable to load the native components of SQL Server mpact corresponding to the ADO . NET  provider of version 8876 the correct version of SQL Server Compact. Refer to KB article 974247 for more details”

 

阿就很玄~

 

這錯誤很明顯跟程式有用到的SQL Server Compact 有關

就是 讀取 .sdf 檔案的功能

通常都是作一個小資料庫使用

跟 SQL lite 概念類似

 

但是!

 

這錯誤其實是跟版本有關

 

參考
https://stackoverflow.com/questions/12226530/unable-to-load-the-native-components-of-sql-server-compact-corresponding-to-the

 

 

就是說

因為編譯的使用到件已經是 microsoft sql server compact 4.0

而目前卻只有 microsoft sql server compact 3.0

 

所以必須安裝 microsoft sql server compact 4.0 才可以在這個電腦運行

 

可是問題來了...

 

當我嘗試在這台電腦安裝 microsoft sql server compact 4.0

也就是從

https://www.microsoft.com/zh-tw/download/details.aspx?id=30709

這邊下載的檔案

 

我點兩下安裝

卻什麼反應都沒有

沒有報錯

沒有反饋

沒有安裝任何東西

 

尷尬...

 

因此我想到的解決方案是

 

找已經安裝  microsoft sql server compact 4.0 的電腦 (例如編譯的電腦)

複製 compact 4.0 dll 出來

 

 

複製到你編譯後的程式那邊讓他可以直接載入

這是最簡單的方法了...

 

 

有時候問題只能用這種直接的方法

如果再想辦法去找為什麼新電腦不能安裝 sql server compact 4.0

那可能主管就要跳腳了

 

能解決問題

就是好方法囉~

 

不然就是想辦法編譯的時候把 dll 當作資源也一併輸出

這也是好方法

 

給大家參考囉