arcsde9.2中text的存储类型问题(unicode,varchar and nvarchar)
2008-11-06 23:30
281 查看
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 -p
sde导出文件(这里“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,其它似乎也有问题,但帮助中说全面支持,build
1324肯定不行,无法识别unicode字段,可以看到图形,但看不到属性表中内容,无法使用identify,无法select,无法导出,等
等。。。。。
但到9.2中text默认处理为nvarchar或nvarchar2,这时发现capi把该字段识别为SE_WCHAR,这时发现原来代码中用的字符全转全部失效了,呵呵,有办法
考虑到其它客户端的访问问题,最好还是用老的存储模式,操作如下:
sdedbtune -o export -f c:/aa -i esri_sde -s beifeng -u sde -p
sde导出文件(这里“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,其它似乎也有问题,但帮助中说全面支持,build
1324肯定不行,无法识别unicode字段,可以看到图形,但看不到属性表中内容,无法使用identify,无法select,无法导出,等
等。。。。。
相关文章推荐
- SQL中数据类型char/varchar/nvarchar/nchar/text/ntext的区别
- SQL中数据类型char/varchar/nvarchar/nchar/text/ntext的区别
- Oracle各种类型的运用|char、varchar、text和nchar、nvarchar、ntext的区别
- MSSQL中数据类型Char(n) - Nchar(n) - varchar(n) - Nvarchar(n) - text(n) 的描述及其区别
- mysql处理varchar类型的between和and的时间问题少一天解决;
- SQL 2005中char、nchar、varchar、ntext and nvarchar(max)的区别
- sql server数据类型char和nchar,varchar和nvarchar,text和ntext
- sql server数据类型char和nchar,varchar和nvarchar,text和ntext的区别
- varchar and nvarchar and varchar(max) and nvarchar(max) and text and ntext
- SQLServer中的char、varchar、nvarchar、text等类型比较
- 数据类型 text 和 nvarchar,text 在 equal to 运算符中不兼容得问题
- sql server数据类型char和nchar,varchar和nvarchar,text和ntext的区别
- sql server数据类型char和nchar,varchar和nvarchar,text和ntext的区别
- SQL 2005中char、nchar、varchar、ntext and nvarchar(max)的区别
- sqlserver数据类型char和nchar,varchar和nvarchar,text和ntext的用法以及区别
- sql server数据类型char和nchar,varchar和nvarchar,text和ntext
- sql server数据类型char和nchar,varchar和nvarchar,text和ntext的区别
- sql server数据类型char和nchar,varchar和nvarchar,text和ntext的区别
- 数据类型 text 和 nvarchar 在 equal to 运算符中不兼容得问题。
- sql server数据类型char和nchar,varchar和nvarchar,text和ntext?