讓PDF.NET支援不同版本的SQL Server Compact資料庫

我才是銀古發表於2014-06-29

  最近專案中需要用到嵌入式資料庫,我們選用的資料開發框架是PDF.NET(http://www.pwmis.com/SqlMap/),之前的博文已經總結了讓PDF.NET支援最新的SQLite,今天我們來總結一下如何讓PDF.NET支援不同版本的SQL Server Compact資料庫。PDF.NET支援大部分主流的資料庫,SQL Server Compact也不例外,但是PDF.NET只支援SQL Server Compact 4.0,而SQL Server Compact又沒有做到向下相容,要想讓PDF.NET支援SQL Server Compact 3.5就需要對原始碼進行重新修改編譯。
  修改方式很簡單,下載PDF.NET原始碼(http://www.pwmis.com/SqlMap/),找到PWMIS.Core專案,然後在它的專案引用裡找到System.Data.SqlServerCe,你會發現這個DLL是指向4.0版本的,要讓它支援3.5版本只要將這個DLL替換成3.5的即可。
  PDF.NET對SQL Server Compact的連線字串為
  <connectionStrings>
  <add name="default" connectionString="Data Source=.\n.sdf;Persist Security Info=True" providerName="PWMIS.DataProvider.Data.SqlServerCe,PWMIS.Core" />
  </connectionStrings>
  需要注意的是在部署的時候,電腦上要安裝SQL Server Compact相應的程式,雖然網上有文章說可以不安裝,但是,我自己測了一下,還是要安裝的。
  我發現VS2012之後的版本中缺少了像Local Database Cache這樣的支援,還好我找到了一個開源的專案,就是來實現類似的功能的,這裡提供一下地址http://sqlcetoolbox.codeplex.com/

相關文章