【问题标题】:Deployment issue after doing code first development with entity framework使用实体框架进行代码优先开发后的部署问题
【发布时间】:2011-06-14 05:27:45
【问题描述】:

我遇到的问题是开发计算机和登台服务器之间的排序规则冲突。

在开发计算机上,当临时服务器使用 SQL_Latin 时,不知何故默认排序规则设置为我的本地语言。

我生成了一个部署包,准备导入sql后,报错了。

一般来说

    Cannot resolve the collation conflict between 'xxxxxx'
    and 'SQL_Latin1_General_CP!_CI xxx' in the equal to operation.

【问题讨论】:

    标签: sql-server entity-framework sql-server-2008


    【解决方案1】:

    有多种方法可以在 PER-QUERY 的基础上解决此问题,但您真正需要做的是更改数据库或服务器的排序规则(尽可能地)以使它们匹配。处理服务器/数据库排序规则不匹配真的很困难。

    我的选择是在 DEV 服务器/桌面上重新安装 SQL Server(或添加另一个实例),以匹配目标暂存/生产服务器的排序规则。

    查询特定的修复方法是在比较两个 [n][var]char 列时添加排序规则子句,例如

    SELECT *
    FROM TBL A, TBL2 B
    WHERE A.COL1 = B.COL2 collate Latin1_General_CI_AS
    

    这里之前的一些问题会让你更好地了解你所面临的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-24
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      相关资源
      最近更新 更多