如何在ASP.NET Web应用程序中为Windows Mobile创建SQL Compact 3.5数据库?

时间:2009-07-23 10:17:07

标签: .net asp.net compact-framework sql-server-ce

在ASP.NET Web应用程序中,我必须从数据源(SQL Server)为Windows Mobile Compact Framework应用程序动态创建 SQL Compact 3.5数据库

我必须创建数据库文件,所需对象(表,...)并用数据填充表。客户端应用程序(Windows Mobile设备)将下载生成的文件。

我需要哪些先决条件(引用的装配,安装) - 或者:这是否可能?

3 个答案:

答案 0 :(得分:3)

至少需要System.Data.SqlServerCe程序集。这通常在GAC中,但它可以用作本地复制的DLL。

从那里开始,您可以实例化一个SqlCeEngine对象并使用CreateDatabase()

这是VB.NET中的一些CodeProject example code

答案 1 :(得分:1)

基本上Henk的答案指向了正确的方向。但有一些警告。 SQLServerCE程序集会引发运行时错误。

我找到了这两个有用的链接:

要使用程序集,您必须调用此方法:

AppDomain.CurrentDomain.SetData("SQLServerEverywhereUnderWebHosting", true)

答案 2 :(得分:-1)

您需要SQL Compact 3.5 SP1运行时:

http://www.microsoft.com/downloads/details.aspx?FamilyId=DC614AEE-7E1C-4881-9C32-3A6CE53384D9&displaylang=en

然后添加对System.Data.SqlServerCe的引用

以下是一些创建新数据库的示例代码:

using System.Data.SqlServerCe;

public static class SqlCompactServices
{
    public static void CreateDatabase()
    {
        string connectionString = "Data Source=file.sdf";
        using (SqlCeEngine engine = new SqlCeEngine(connectionString))
        {
            engine.CreateDatabase();
        }

        using (SqlCeConnection connection = new SqlCeConnection(connectionString))
        {
            connection.Open();
            // preform queries just like "regular" SQL Server
        }
    }
}