【问题标题】:Check sqlce database existence as per web.config根据 web.config 检查 sqlce 数据库是否存在
【发布时间】:2011-02-13 20:30:03
【问题描述】:

请参阅问题How to check for the existence of a DB? 我试图根据 web.config 连接字符串检测数据库的存在,但运气不好。

我使用上面的最后一个答案作为我的试验。

试验一: web.config 中的连接字符串

    <add name="sqlCEConnString" connectionString="Data Source=|DataDirectory|db.sdf;Initial Catalog=master" providerName="System.Data.SqlServerCE.4.0"/>

我收到错误:不支持关键字:'初始目录'。

试用2:没有关键字

字符串 conString = ConfigurationManager.ConnectionStrings["sqlCEConnString"].ConnectionString;

    using(SqlCeConnection cnn = new SqlCeConnection(conString))
    { 
        cnn.Open();
        using (SqlCeCommand com = new SqlCeCommand("select count(*) from sys.databases where name = 'db.sdf'" , cnn))
        {
            int j=com.ExecuteNonQuery();
            Response.Write("Result:" + j);
        }
    }

这次我收到以下错误: 指定的表不存在。 [@@sys.databases]

我做错了什么?

【问题讨论】:

    标签: c# sql-server-ce


    【解决方案1】:

    最后我找到了根据连接字符串检测数据库是否存在的方法。在“SqlCeEngine”类下有一个名为“Verify”的方法,可以通过它进行检测。

            string conString = ConfigurationManager.ConnectionStrings["sqlCEConnectionString"].ConnectionString;
        using (SqlCeEngine objCeEngine = new SqlCeEngine(conString))
        {
            if (!objCeEngine.Verify())
            {
                objCeEngine.CreateDatabase();
            }
        }
    

    【讨论】:

      【解决方案2】:

      在这里查看源代码,它会检测 SQL CE 数据库文件是否存在于 ASP.NET 应用程序中,并在需要时使用表创建它:http://sqlcemembership.codeplex.com

      【讨论】:

      • 非常感谢您提供的链接。同时,我已经使用“验证”方法进行了测试,并且它有效。我会试试你的链接,让你知道。
      【解决方案3】:

      我觉得你需要指定sqlce数据库所在的连接。

      试试这个链接。

      Connectionstring.com / Sql Compact

      问候!

      【讨论】:

      • 在连接字符串中已经被告知。
      • 你试过了吗。数据源=//MyFilepath//MyData.sdf;Persist Security Info=False;
      • 您是否认为以下数据源无效:connectionString="Data Source=|DataDirectory|db.sdf;
      • 它也是有效的..但是尝试测试在connectionstring.com上给出的另一个字符串......并测试它。
      猜你喜欢
      • 1970-01-01
      • 2021-11-30
      • 2014-07-08
      • 2019-06-24
      • 2014-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多