iBatis.Net SQL Server Compact Edition 3.5 - PullRequest
       17

iBatis.Net SQL Server Compact Edition 3.5

2 голосов
/ 18 января 2010

Я хочу перенести одну из наших баз данных с SQL Server Express на SQL Server Compact 3.5. Я использую iBatis.Net, но не знаю, как должен выглядеть provider.config, чтобы я мог получить доступ к SQL CE 3.5.

Может кто-нибудь помочь мне с этим?

Спасибо Johan

Ответы [ 2 ]

4 голосов
/ 30 апреля 2010

Ну, я потратил день или около того, работая над этим для любимого проекта. Мне удалось заставить это работать с Sql Server Compact 3.5 и iBatis.Net 1.6.2 на .Net Framework 4.0. Если вы хотите, чтобы он работал на другой версии, вам нужно обновить Version и PublicKeyToken атрибута parameterDbTypeClass.

Вам просто нужно добавить следующее в ваш файл provider.config.

  <provider
      name="sqlServerCompact3.5"
       enabled="true"
       description="Microsoft SQL Server Compact 3.5, provider V3.5.1.0 in framework .NET V2.0"
       assemblyName="System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
       connectionClass="System.Data.SqlServerCe.SqlCeConnection"
       commandClass="System.Data.SqlServerCe.SqlCeCommand"
       parameterClass="System.Data.SqlServerCe.SqlCeParameter"
       parameterDbTypeClass="System.Data.SqlDbType, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
       parameterDbTypeProperty="SqlDbType"
       dataAdapterClass="System.Data.SqlServerCe.SqlCeDataAdapter"
       commandBuilderClass=" System.Data.SqlServerCe.SqlCeCommandBuilder"
       usePositionalParameters = "false"
       useParameterPrefixInSql = "true"
       useParameterPrefixInParameter = "true"
       parameterPrefix="@"
       allowMARS="false"
  />
0 голосов
/ 13 июня 2013

Для чего это стоит, вот что у меня есть для SQL CE 4.0 (в основном из предыдущего ответа, только что обновленный с версией):

<provider
    name="sqlServerCompact4.0"
     enabled="true"
     description="Microsoft SQL Server Compact 4.0, provider V4.0.0.0 in framework .NET V2.0"
     assemblyName="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
     connectionClass="System.Data.SqlServerCe.SqlCeConnection"
     commandClass="System.Data.SqlServerCe.SqlCeCommand"
     parameterClass="System.Data.SqlServerCe.SqlCeParameter"
     parameterDbTypeClass="System.Data.SqlDbType, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
     parameterDbTypeProperty="SqlDbType"
     dataAdapterClass="System.Data.SqlServerCe.SqlCeDataAdapter"
     commandBuilderClass=" System.Data.SqlServerCe.SqlCeCommandBuilder"
     usePositionalParameters = "false"
     useParameterPrefixInSql = "true"
     useParameterPrefixInParameter = "true"
     parameterPrefix="@"
     allowMARS="false"
/>
...