更改 SQL Server Compact 4.0 的排序规则
Posted
技术标签:
【中文标题】更改 SQL Server Compact 4.0 的排序规则【英文标题】:Alter collation of SQL Server Compact 4.0 【发布时间】:2013-03-27 23:30:46 【问题描述】:是否可以更改 .sdf 文件的排序规则?我已经尝试过 Management Studio 2008,但它只支持 3.5 版,就我所见,Management Studio 2012 根本不支持 SQL Server Compact,Visual Studio 的 SQL Server Compact 工具箱似乎不提供这种可能性,ALTER DATABASE 也似乎不见了——有什么解决办法吗?
【问题讨论】:
【参考方案1】:是的,有一个解决方案,SqlCeEngine Compact 方法允许您从代码中执行此操作(它有效地重新创建数据库文件),或者您可以通过我的 sqlcecmd 命令行实用程序执行此操作。
sqlcecmd -d "Data Source=C:\data\mydb.sdf" -z "Data Source=;LCID=1044"
从http://sqlcecmd.codeplex.com下载
【讨论】:
太酷了——你的工具又来救场了(:【参考方案2】:我认为为了更改 .sdf 文件的排序规则,您需要在 SQL Server 中将其重新创建为数据库:
USE master
GO
CREATE DATABASE "file.sdf" DATABASEPASSWORD '<Pwd>' COLLATE <the_Collation>
GO
如果您已经将它建立为数据库,那么您只需要更改数据库:
USE master
GO
ALTER DATABASE <the_Database>
COLLATE <new_Collation>
GO
然后您可以重新压缩数据库,它将具有您需要的排序规则。
【讨论】:
我已经尝试使用 ALTER 但它在关键字 DATABASE 中出现错误 - 创建一个新的不是问题,所以也许最简单的方法是创建一个新的空数据库和脚本模式和 dato从旧数据库到新数据库。 更多的手册,但我认为这将毫无问题地工作。很抱歉我的解决方案不能满足您的需求。以上是关于更改 SQL Server Compact 4.0 的排序规则的主要内容,如果未能解决你的问题,请参考以下文章
从 SQL Server Compact 4.0 迁移到 SQL Server Express 后提供程序错误
如何部署 SQL Server Compact Edition 4.0?
SQL Server Compact 4.0 DateTime 精度不包括秒
缺少 Sql Server Compact 4.0 提供程序