2

起初它写了这个异常:

“SQL Server Compact 不适用于 ASP.NET 开发。”

然后我补充说:

AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true);

到 Global.aspx 并修复它。

但是现在当我尝试打开它时,SqlCeConnection它给了我这个异常:

不兼容的数据库版本。如果这是兼容文件,请运行修复。对于其他情况,请参阅文档。[ Db 版本 = 4000000,请求版本 = 3505053,文件名 = \?\C:\Users\gal\Documents\Visual Studio 2012\WebSites\Project_Level_4\DB\PhoneBookWeb.sdf ]

有人可以帮忙吗?

4

1 回答 1

0

安装 SQL CE 4.0 包:http ://www.microsoft.com/en-us/download/details.aspx?id=17876

尝试将 IDE 中的引用添加到“C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dll”

添加 using 子句:

using System.Data.SqlServerCe;
using System.IO;

然后尝试这样的事情:

        string connectionString;
        string fileName = "test.sdf";
        string password = "test";

         if (File.Exists(fileName))
            File.Delete(fileName);

        connectionString = string.Format("DataSource=\"{0}\"; Password='{1}'", fileName, password);

        SqlCeConnection conn = null;

        try {

            SqlCeEngine engine = new SqlCeEngine(connectionString);
            engine.CreateDatabase();

            conn = new SqlCeConnection(connectionString);
            conn.Open();

            SqlCeCommand cmd = conn.CreateCommand();
            cmd.CommandText = "CREATE TABLE myTable (col1 int, col2 ntext)";
            cmd.ExecuteNonQuery();
        }
        catch(Exception ex) 
        {
            Console.WriteLine(ex.ToString());
        }
        finally {
            conn.Close();
        }
于 2013-09-27T13:48:45.543 回答