2010-01-18 94 views
2

我想将我们的一个数据库从SQL Server Express迁移到SQL Server Compact 3.5。 我正在使用iBatis.Net,但不知道providers.config必须看起来像我能够访问SQL CE 3.5。iBatis.Net SQL Server精简版3.5

任何人都可以帮我解决这个问题吗?

感谢 约翰

回答

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" 
    /> 
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" 
/>