最近有的用户在反应这样一个问题,为什么外联库和内置库的数据一样,我做了关联却无法显示数据呢?
正常情况下,如果数据一致,是不存在关联不显示数据的问题,那么问题会出在哪里呢?这就得为大家普及一下数据库的知识了。
以SQL Server数据库为例,主要的问题还是出在数据库数据不一致的问题上。
1.活字格的文本类型均为nvarchar类型(可变长度,存储Unicode字符,根据数据长度自动变化)。
2.大家在创建SQL Server数据库时,往往会忽略字段类型的选择,如果是文本类型,会默认使用SQL中自带进来的nchar类型(固定长度,存储Unicode字符,不足的补英文半角空格)。
3.nvarchar类型会根据长度自动变化,但是nchar则会在不足长度的时候使用空格进行补充。例如nvarchar(50)的字段是"MA001",nchar(10)的字段则是"MA001 ",这样在活字格中关联的数据虽然你看到的是一样的。但是是无法匹配的。
具体的字段类型之间的区别你可以看下这里:SQLServer中char、varchar、nchar、nvarchar的区别
4.如果遇到外联库和内置库关联数据无法显示的问题,你可以将外联库的字段类型进行修改,当然,也需要把所有数据多余的空格都去掉。
因此建议大家在使用外联库时,一定要主要文本字段的类型。
|
|