【问题标题】:How to programmatically extract SQL Server table schema to construct SQL Server CE?如何以编程方式提取 SQL Server 表架构来构造 SQL Server CE?
【发布时间】:2011-12-23 10:11:12
【问题描述】:

如标题所述,如何以编程方式从远程 SQL Server 创建 SQL Server CE 4.0?

我希望我的应用程序允许用户在数据库架构更新时删除.sdf 并基于新的远程数据库架构创建一个新的。然后下载相关数据供离线使用。

我已经阅读了有关 SqlCeEngine 部分的信息,但我不擅长 SQL Server CE 查询 - 在 Management Studio 中尝试时似乎给出了许多语法错误。

我也尝试过 Microsoft Sync Framework 快照同步,但感觉过于庞大,并且本地缓存数据库修改了我的数据库架构并生成了很多我不需要的垃圾。也许像查询 information.schema 之类的较低级别的解决方案可能会更好?

【问题讨论】:

    标签: c# .net sql visual-studio-2010 sql-server-ce


    【解决方案1】:

    结帐 DMO。使用托管代码,您可以在 sql server 端枚举表、列等对象。

    http://msdn.microsoft.com/en-us/library/aa174487(v=sql.80).aspx

    这里有一个入门教程:

    http://www.codeproject.com/KB/database/SMO_Tutorial_1.aspx

    关于数据,一个选项是 bcp 实用程序

    http://msdn.microsoft.com/en-us/library/aa337544.aspx

    如果您想提取和创建一个新数据库,这些都是很好的起点。对于镜像/同步,可能不是一个好的路径。如果它是客户端上的只读数据并且您只想更新本地数据,那么您可以再次提取并丢弃旧的“数据缓存”

    【讨论】:

      【解决方案2】:

      您可以使用我的脚本 API 和命令行工具来执行此操作:http://exportsqlce.codeplex.com - 例如,请参阅此博客文章:http://erikej.blogspot.com/2010/02/how-to-use-exportsqlce-to-migrate-from.html

      【讨论】:

        【解决方案3】:

        这可能是仅使用 SQL 的更新方式:

        SELECT * FROM INFORMATION_SCHEMA.COLUMNS
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-10-07
          • 2010-10-18
          • 2010-11-07
          • 1970-01-01
          • 2013-05-08
          • 2011-06-17
          相关资源
          最近更新 更多