arcsde9.2中text的存储类型问题(unicode,varchar and nvarchar)

来源:互联网 发布:单片机晶振电路的作用 编辑:程序博客网 时间:2024/05/29 08:01

arcsde9.2全面支持unicode,这是好事,但对用过老版本的人确是坏事,以前的版本都不支持,对以在arccatalog中看到的text类型默认处理为varchar或varchar2,特别是用capi的人都习惯了ansi的字符转换代码

但到9.2中text默认处理为nvarchar或nvarchar2,这时发现capi把该字段识别为SE_WCHAR,这时发现原来代码中用的字符全转全部失效了,呵呵,有办法

考虑到其它客户端的访问问题,最好还是用老的存储模式,操作如下:

sdedbtune -o export -f c:/aa -i esri_sde -s beifeng -u sde -psde导出文件(这里“beifeng”是指sde的安装机器名称,如果在本机上操作,-s的参数可以不写的,),然后在aa文件的defaults节下添加UNICODE_STRING "FALSE"一行,然后用sdedbtune -o import -f c:/aa -i esri_sde-s beifeng -u sde -p sde导入进去,然后重启arcsde

做这些操作需要把原来库中的所有数据集、要素类重新导入,不能自动转换,另外注意desktop使用的本版

最好用新的打补丁,prerelease的不支持unicode,其它似乎也有问题,但帮助中说全面支持,build1324肯定不行,无法识别unicode字段,可以看到图形,但看不到属性表中内容,无法使用identify,无法select,无法导出,等等。。。。。

原创粉丝点击