2

I want to migrate one of our databasis from SQL Server Express to SQL Server Compact 3.5. I'm using iBatis.Net but do not know what the providers.config must look like for me to be able to access SQL CE 3.5.

Can anyone help me out with this?

Thanks Johan

4

2 回答 2

4

好吧,我花了一天左右的时间来做一个宠物项目。我能够在 .Net Framework 4.0 上使用 Sql Server Compact 3.5 和 iBatis.Net 1.6.2。如果您希望它在不同的版本上运行,则需要更新 parameterDbTypeClass 属性的 Version 和 PublicKeyToken。

您只需将以下内容添加到您的 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"
  />
于 2010-04-30T15:37:47.107 回答
0

对于它的价值,这就是我对 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"
/>
于 2013-06-12T21:13:10.057 回答