如何为 .sdf 数据库编写和运行升级脚本?

Posted

技术标签:

【中文标题】如何为 .sdf 数据库编写和运行升级脚本?【英文标题】:How do I write and run an upgrade script for .sdf databases? 【发布时间】:2010-08-30 21:31:27 【问题描述】:

sqlcmd 能做到吗?我没有尝试升级数据库文件的版本。我正在尝试升级其中的架构和数据。

【问题讨论】:

我正在努力实现同样的目标。我尝试使用: sqlcmd -E -S localhost\SQLEXPRESS -d master -Q "EXEC sp_attach_db @dbname=N'ExDB', @filename1 = N'%dbdir%\TestDB.sdf'" 但我收到一条错误消息告诉我它不是有效的数据库文件头。如果我找到解决方案,我会在这里发布。 【参考方案1】:

重写

您可以使用SQL Compact's TSQL commands,例如ALTER TABLE和UPDATE。

这可以通过您选择的客户端来完成,无论是在使用 SqlServerCe 命名空间方法的应用程序中(您需要引用 SQL Compact 库)还是使用 SQL Server Management Studio 之类的客户端。

请记住,SQL Compact 一次只允许一个进程连接到数据库。

【讨论】:

我真的在寻找一个可编写脚本的命令行实用程序,我可以将其用作结帐过程的一部分... 乔希,你找到答案了吗?我也想从 SQL 脚本生成我的 SDF 文件作为我的构建过程的一部分。 对于可编写脚本的命令行实用程序,您可以考虑使用 PowerShell 和 SqlServerCe 库。【参考方案2】:

您可以手动对 SQL CE 数据库运行脚本,如下所示:

打开 Microsoft SQL Server Management Studio 单击工具栏上的新建查询。出现一个标题为“连接到服务器”的对话框 将服务器类型设置为“SQL Server Compact Edition” 对于数据库文件字段,输入.sdf文件的完整路径 点击连接

您应该得到一个查询窗口,您可以使用它以通常的方式执行脚本。并在对象资源管理器中查看数据库。

【讨论】:

以上是关于如何为 .sdf 数据库编写和运行升级脚本?的主要内容,如果未能解决你的问题,请参考以下文章

如何为需要 4 个数字输入的 C 程序编写 Bash 脚本? [复制]

如何为在 docker 容器内运行的 corda 节点运行迁移脚本?

如何为 Linux 目录中的所有文件运行脚本? [复制]

如何为整个数据库生成脚本

如何为asp.net 4.0编写IIS预热脚本?

如何为android数据绑定点击监听器编写proguard规则?