返回列表 发帖

V5 的 收藏夹的中文 为何显示问号??

如题。 谁遇到的,如何解决,请 给个回复。谢谢。

提示,是否同 数据库的排序方式不是  Latin1_General_BIN 有关系??

Re:V5 的 收藏夹的中文 为何显示问号??

Liya遇到的情况应该是MS SQLServer吧?我在Oracle中没有遇到过。

TOP

Re:V5 的 收藏夹的中文 为何显示问号??

我没有遇过这种现象,但是我认为同数据库的Latin1_General_BIN排序有关,我的排序是Chinese_PRC_BIN

TOP

Re:V5 的 收藏夹的中文 为何显示问号??

SQL数据库排序规则错误。

TOP

Re:V5 的 收藏夹的中文 为何显示问号??

的确是数据库排序规则错误。

TOP

Re:V5 的 收藏夹的中文 为何显示问号??

Liya   , 就是你说的问题。解决方法有一个:不动数据库,直接修改SQL SERVER 2000的排序规则能解决此问题,但带来的恶果是在SQLSERVER 再也打不开表结构。我就是这样的,哈哈。

 

TOP

Re:V5 的 收藏夹的中文 为何显示问号??

大家可以打开console,在solution页面上面有一个database scripts,点这个可以看到console创建数据库时所使用的sql语句。在创建数据库时配置程序自动将排序规则限制为了lartin,故adonix数据库的排序规则自建好后就默认为lartin了。

关于此问题,我想到了解决办法,但是需要装了sqlserver2000的同学帮我做小白鼠,哈哈。

貌似如果安装sqlserver2005中文版就不会有这个问题。

我的解决思路:


1、更改数据库排序规则;
use master;
ALTER DATABASE adonix COLLATE Chinese_PRC_CI_AS

2、读取所有表:
Select
'alter table ',sysobjects.name As Tb_name,' alter column ',
syscolumns.name As Colu_name,
systypes.name As Col_type, '(',
syscolumns.length/2 As Col_len,') collate Chinese_PRC_CI_AS;'
from sysobjects,systypes,syscolumns
where sysobjects.xtype ='U'
and sysobjects.id = syscolumns.id and
    systypes.xtype = syscolumns.xtype and
    systypes.name <> 'sysname' and
    sysobjects.name Like '%' AND systypes.name='nvarchar'
union
Select
'alter table ',sysobjects.name As Tb_name,' alter column ',
syscolumns.name As Colu_name,
systypes.name As Col_type, '(',
syscolumns.length As Col_len,') collate Chinese_PRC_CI_AS;'
from sysobjects,systypes,syscolumns
where sysobjects.xtype ='U'
and sysobjects.id = syscolumns.id and
    systypes.xtype = syscolumns.xtype and
    systypes.name <> 'sysname' and
    sysobjects.name Like '%' AND systypes.name<>'nvarchar'
order by sysobjects.name,syscolumns.name

这一段sql的功能是把syscolumns里面所有类型为varchar/nvarchar的字段读出来,把各字段的排序规则改为Chinese。

为什么要这样做?

第一步:修改数据库的默认排序规则,这样后续这个db中新建的表都将按照新的排序规则来执行;

第二步:系统中原有表的排序规则也要改。因为事实上我们新建表的机会不会太多,修改现有的才是最重要的。

注意:在使用下面一段sql进行排序规则读取和修改的时候,应注意字段是否为空的设置,这个属性也应该带进去。这个设置是在syscolumns.isnull什么的,可以看看syscolumns这个表。

关于alter table修改排序规则的sql语法可以参考sqlserver 查询分析器的说明。

很重要一点:

现在MS已经停止销售sqlserver2000转而推sqlserver2005,我们的客户中使用2000的好像已不太多,基本上已经全部转到2005/oracle后台,更多使用sqlserver2000的是我们自己内部的顾问。这个修改是否有必要继续研究下去还有待商榷。建议有此现象的同学干脆下手狠一点,花点精力把机器重新弄一下,更新到2005/oracle上面来。

欢迎拍砖。。。。

[此帖子已被 tansj 在 2009-3-5 10:53:25 编辑过]

TOP

Re:V5 的 收藏夹的中文 为何显示问号??

SQL2005如果排序规则是Latin1_General_BIN ,也还是显示问号????。

看来的确是排序规则的问题。

TOP

Re:Re:V5 的 收藏夹的中文 为何显示问号??

zhihui.chen:

SQL2005如果排序规则是Latin1_General_BIN ,也还是显示问号????。

看来的确是排序规则的问题。

2005修改数据库排序规则很方便,不用研究语句了。数据库--属性---选项修改即OK

TOP

Re:Re:Re:V5 的 收藏夹的中文 为何显示问号??

zhihui.chen:
zhihui.chen:

SQL2005如果排序规则是Latin1_General_BIN ,也还是显示问号????。

看来的确是排序规则的问题。

2005修改数据库排序规则很方便,不用研究语句了。数据库--属性---选项修改即OK

修改数据库的排序规则会同步更新到现有的表字段的排序规则吗?可以把sqlserver的建表sql导出来研究下。我这没有sqlserver2005环境,谁有的麻烦看下。

TOP

返回列表