2010-01-18 3 views
2

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

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

Благодаря Йохан

ответ

4

Ну я провел день или работать над этим для любимого проекта. Я смог получить эту работу с Sql Server Compact 3.5 и iBatis.Net 1.6.2 на .Net Framework 4.0. Если вы хотите, чтобы он запускался в другой версии, вам нужно обновить версию и 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

Для чего это стоит, вот что я для 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" 
/> 
Смежные вопросы