【问题标题】:How to create DbProviderFactory object for SQL Server CE?如何为 SQL Server CE 创建 DbProviderFactory 对象?
【发布时间】:2014-10-21 13:52:13
【问题描述】:

我正在尝试使用以下代码为DbProviderFactory 创建一个对象,

 try
 {
     var sql = ConfigurationManager.ConnectionStrings["sql"];
     DbProviderFactory sqlfactory = DbProviderFactories.GetFactory ( sql.ProviderName ); // This one works fine

     var sqlCE = ConfigurationManager.ConnectionStrings["sqlCE"];
     DbProviderFactory sqlCEfactory = DbProviderFactories.GetFactory ( sqlCE.ProviderName ); // This doesnt 
  }
  catch ( Exception ex )
  {
      Console.WriteLine ( ex.Message );
  }

app.config:

<connectionStrings>
   <clear/>
   <add name="sql" 
        providerName="System.Data.SqlClient" 
        connectionString="Server=.\SQLExpress;Database=TestResults;Trusted_Connection=Yes;"/>
   <add name="sqlCE" 
        providerName="System.Data.SqlServerCe" 
        connectionString="DATA SOURCE=DataBase\dbTestResults.sdf"/>  
</connectionStrings>

第一个(sqlFactory)创建成功,但是第二个(sqlCEfactory)抛出异常:

我错过了什么吗?

谢谢!

【问题讨论】:

    标签: c# sql sql-server-ce


    【解决方案1】:

    您在配置文件中指定了错误的提供程序名称。

    SQL Server CE 不变的提供程序名称是

    System.Data.SqlServerCe.4.0 
    

    (适用于 4.0 版运行时)

    System.Data.SqlServerCe.3.5 
    

    (适用于 3.5 版运行时)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      • 2012-01-31
      相关资源
      最近更新 更多