易飞报错 数据库的排序规则不一致
2013-04-08 18:15
183 查看
刚装的数据库,选的默认的排序规则,在执行批次需求操作的时候,弹出错误提示“
”,然后追踪批次操作所执行的sql语句,发现语句中的表的所有字段的排序规则并没有不一样的,可以用如下语句查看表的所有字段的排序规则:
然后试着找出问题所在,用到如下一些语句,记录在此。
查出数据库存在几种不一样的规则,包括报错的两种。
但是用如下语句:
确并未找到相关的记录。
经过详细查找,发现“批次需求”所牵涉到的一些sql语句,在某些插入语句里面有用到“临时表”。而临时表是存放在系统数据库tempdb中的,所才有的排序规则也是系统数据库tempdb的排序规则,而系统数据库tempdb的排序规则是“Chinese_PRC_CI_AS”,错误就出在这里了,这个排序规则必须要换为“Chinese_PRC_BIN",而系统数据库的排序规则是有系统数据库model决定的,所以必须改系统数据库model的排序规则,然后重启sql服务就好了,后发现手动改系统数据库model的排序规则受阻,这个原因没有详查,只好重装数据库解决问题,重装时候选择的排序规则是“Chinese_PRC_BIN"
。
”,然后追踪批次操作所执行的sql语句,发现语句中的表的所有字段的排序规则并没有不一样的,可以用如下语句查看表的所有字段的排序规则:
--查看某个表各个字段的排序规则 SELECT OBJECT_NAME(object_id),collation_name ,name FROM sys.all_columns WHERE object_id=OBJECT_ID('JX_2011.dbo.INVMB')
然后试着找出问题所在,用到如下一些语句,记录在此。
--查看数据库的排序规则 select * from sys.databases
--查看所有字段的排序规则 select * from sys.all_columns
--查看某表有多少排序规则 SELECT DISTINCT collation_name--OBJECT_NAME(object_id),collation_name ,name FROM sys.all_columns WHERE object_id=OBJECT_ID('JX_2011..INVMB')--WHERE collation_name IS NOT NULL
--查询出数据库有多少排序规则 SELECT DISTINCT collation_name--OBJECT_NAME(object_id),collation_name ,name FROM sys.all_columns WHERE collation_name IS NOT NULL --object_id=OBJECT_ID('sales.CountryRegionCurrency')
查出数据库存在几种不一样的规则,包括报错的两种。
但是用如下语句:
select * from sys.all_columns where collation_name like '%Chinese_PRC_CI_AS%'
确并未找到相关的记录。
经过详细查找,发现“批次需求”所牵涉到的一些sql语句,在某些插入语句里面有用到“临时表”。而临时表是存放在系统数据库tempdb中的,所才有的排序规则也是系统数据库tempdb的排序规则,而系统数据库tempdb的排序规则是“Chinese_PRC_CI_AS”,错误就出在这里了,这个排序规则必须要换为“Chinese_PRC_BIN",而系统数据库的排序规则是有系统数据库model决定的,所以必须改系统数据库model的排序规则,然后重启sql服务就好了,后发现手动改系统数据库model的排序规则受阻,这个原因没有详查,只好重装数据库解决问题,重装时候选择的排序规则是“Chinese_PRC_BIN"
。
相关文章推荐
- [易飞]修改数据库的排序规则
- 排序规则不一致引起代理错误
- MySQL创建数据库时候直接指定编码和排序规则
- 数据库字段数据(昵称)排序,规则: 数字>英文字母>汉字首字母 兼容简繁体排序
- LocalDB数据库修改排序规则,修复汉字变问号
- Sql server 修改数据库排序规则
- MYSQL创建数据库时候直接指定编码和排序规则
- 如何修改数据库排序规则
- [易飞]二进制排序规则下-汉字字典排序
- 实施逻辑复制软件时对目的端数据库的字符集(排序规则)的要求
- SQL Server 2005数据库的排序规则相关知识介绍
- 关于数据库排序规则的修改
- MYSQL创建数据库时候直接指定编码和排序规则
- 数据库的字符集与排序规则、视图、函数、存储过程
- SQL 数据库排序规则修改和 数据库表列排序规则修改
- 【数据库】排序规则
- [易飞]二进制排序规则下-汉字字典排序
- 有关排序规则的一些函数和数据库定义
- 修改sqlserver的数据库排序规则语句
- 数据库字符集与排序规则