无法以编程方式创建Sql Compact DB

时间:2013-06-07 18:50:49

标签: sql-server-2008 asp.net-mvc-4 sql-server-ce

我正在尝试创建一个MVC4应用程序,使用户可以动态创建SQL Server Compact数据库。

这是我的代码直接来自MSDN:

        string connStr = "Data Source = Test.sdf;";

        SqlCeEngine engine = new SqlCeEngine(connStr);
        engine.CreateDatabase();
        engine.Dispose();
        SqlCeConnection conn = null;

        try
        {
            conn = new SqlCeConnection(connStr);
            conn.Open();

            SqlCeCommand cmd = conn.CreateCommand();
            cmd.CommandText = "CREATE TABLE myTable (col1 int, col2 ntext)";
            cmd.ExecuteNonQuery();
        }

        catch { }

        finally
        {
            conn.Close();
        }

但是我收到了这个错误:

不允许访问数据库文件。 [1914,文件名= Test.sdf,SeCreateFile]

在管理员模式下运行VS 2012会解决问题,但是一旦编译了这个MVC应用程序,它会起作用吗?

1 个答案:

答案 0 :(得分:0)

尝试:

        string connStr = "Data Source = |DataDirectory|\Test.sdf;";