首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MSSQLCE版本检测和升级

MSSQLCE版本检测和升级
EN

Stack Overflow用户
提问于 2011-08-17 16:18:22
回答 1查看 956关注 0票数 1

这是我的“必要时升级”代码:

代码语言:javascript
复制
        try
        {
            cn.Open();
        }
        catch (System.Data.SqlServerCe.SqlCeInvalidDatabaseFormatException ex) 
        {
            //Try to upgrade
            SqlCeEngine engine = new SqlCeEngine(strConnection); 
            engine.Upgrade(strConnection);
            cn.Open();

        }

实际将3.5db版本升级到4.0版本。有没有更好的解决方案?这将是很好的,如果我检测到安装的引擎和数据库版本在使用中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-10 14:26:42

有关文件版本检测,请参阅以下内容:How can I upgrade my Sql Server CE 3.5 sdf database to Sql Server CE 4.0?

下面的代码可以检测安装的引擎版本:

代码语言:javascript
复制
    internal static bool IsV40Installed()
    {
        try
        {
            System.Reflection.Assembly.Load("System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91");
        }
        catch (System.IO.FileNotFoundException)
        {
            return false;
        }
        try
        {
            var factory = System.Data.Common.DbProviderFactories.GetFactory("System.Data.SqlServerCe.4.0");
        }
        catch (System.ArgumentException)
        {
            return false;
        }
        return true;
    }

    internal static bool IsV35Installed()
    {
        try
        {
            System.Reflection.Assembly.Load("System.Data.SqlServerCe, Version=3.5.1.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91");
        }
        catch (System.IO.FileNotFoundException)
        {
            return false;
        }
        try
        {
            var factory = System.Data.Common.DbProviderFactories.GetFactory("System.Data.SqlServerCe.3.5");
        }
        catch (System.ArgumentException)
        {
            return false;
        }
        return true;
    }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7089709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档