一、问题描述

  1、采用gdb模板文件,在ArcSDE(数据服务器)中批量创建数据库表(数据迁移)时,用到接口ESRI.ArcGIS.Geodatabase.IGeoDBDataTransfer的方法Transfer时,报错,错误为:Exception from HRESULT: 0x80041538;

  2、在自己电脑上试验没问题,数据服务器上会有该问题;

  3、由于GIS相关问题,相关帮助手册及网上搜了一会,发现几乎没这个问题的相关资料。

二、解决方案

  1、只能从本机环境和数据服务器环境对比上着手,本机环境:Win7 旗舰中文版,Oracle 11g中文版;数据服务器环境:WinServer 2008 R2标准版(别人装的,貌似是英文版的,后来装了中文补丁包,未修改其他设置,输入中文汉字总感觉显示怪怪的),Oracle 11g英文版;

  2、怀疑是编码的问题,便拿ArcCatalog在数据服务器上创建名称为中文的表时,直接报错ORA-00911Invalid Character。于是,便可以断定是字符编码的问题。从两方面着手:

  A、操作系统问题

  windows的问题,在区域和语言设置,把非unicode编码设置为简体中文(设置完成后,重启电脑即可,再输入中文汉字就不觉得怪了)。

  

  B、Oracle数据库问题

  (1)首先查看Oracle的编码,两种方式可以查看(注册表或者sqlplus查询),这两种方式均是借鉴转载别人写的内容

  注册表查看:

  32位在:HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NODE\ORACLE\HOMExx\NLS_LANG
  (这里是32位的应用程序在64位windows系统中,注册表位置在"WOW6432NODE"下。)
  64位在:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG
  (这里是64位的应用程序在64位windows系统中,注册表位置直接在"SOFTWARE"下。)

  Sqlplus查询:

数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。
  客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter,
  会话字符集环境select * from nls_session_parameters,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。

  以上两种方式,可得知数据服务器上的Oracle编码为:WE8MSWIN1252(不支持中文)

  

  (2)既然知道了编码WE8MSWIN1252的问题,下面就好解决了,可参考http://blog.itpub.net/22871478/viewspace-1116638/,为了大家看的方法,我把原文转载过来了,如下:

  修改字符集为ZHS16GBK
  SQL> shutdown immediate;
  Database closed.
  Database dismounted.
  ORACLE instance shut down.
  SQL> startup mount
  ORACLE instance started.
   
  Total System Global Area  523108352 bytes
  Fixed Size                  1337632 bytes
  Variable Size             356517600 bytes
  Database Buffers          159383552 bytes
  Redo Buffers                5869568 bytes
  Database mounted.
  SQL> alter session set sql_trace=true;
 
  Session altered.
 
  SQL> alter system enable restricted session;
 
  System altered.
 
  SQL> alter system set job_queue_processes=0;
 
  System altered.
 
  SQL> alter system set aq_tm_processes=0;
 
  System altered.
 
  SQL> alter database open;
 
  Database altered.
 
  SQL> alter database character set ZHS16GBK;
  alter database character set ZHS16GBK
  *
  ERROR at line 1:
  ORA-12712: new character set must be a superset of old character set
 
 
  SQL> alter database character set internal_use ZHS16GBK;
 
  Database altered.
 
  红色部分的错误不影响
  到此修改成功,重启服务,支持中文。
 
  3、问题得以解决。

ArcSDE 数据迁移 Exception from HRESULT: 0x80041538问题及解决方案的更多相关文章

  1. 京东云开发者|京东云RDS数据迁移常见场景攻略

    云时代已经来临,云上很多场景下都需要数据的迁移.备份和流转,各大云厂商也大都提供了自己的迁移工具.本文主要介绍京东云数据库为解决用户数据迁移的常见场景所提供的解决方案. 场景一:数据迁移上云 数据迁移 ...

  2. MySQL数据迁移到MSSQL-以小米数据库为例-测试828W最快可达到2分11秒

    这里采用.NET Framework 4.0以上版本中新出现的 ConcurrentQueue<T> 类 MSDN是这样描述的: ConcurrentQueue<T> 类是一个 ...

  3. 从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上

    阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并 ...

  4. 在Entity Framework 7中进行数据迁移

    (此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注.) 题记:虽然EF7重新设计了Entity Framework,不过也还是能够支持数据迁移的. Entity Fra ...

  5. HDFS数据迁移解决方案之DistCp工具的巧妙使用

    前言 在当今每日信息量巨大的社会中,源源不断的数据需要被安全的存储.等到数据的规模越来越大的时候,也许瓶颈就来了,没有存储空间了.这时候怎么办,你也许会说,加机器解决,显然这是一个很简单直接但是又显得 ...

  6. zookeeper数据迁移

    在不停机的情况下,实现集群之间数据迁移代码: private void create(ZooKeeper zk1, ZooKeeper zk2, String path) throws Excepti ...

  7. 完美数据迁移-MongoDB Stream的应用

    目录 一.背景介绍 二.常见方案 1. 停机迁移 2. 业务双写 3. 增量迁移 三.Change Stream 介绍 监听的目标 变更事件 四.实现增量迁移 五.后续优化 小结 附参考文档 一.背景 ...

  8. 【DB2】数据迁移

    数据迁移概述 在日常生活中常有数据的导入导出,为此db2提出了很多工具可以选择,export.import.load.db2look.db2move.db2dart,如下图所示: a.最上面虚线框部分 ...

  9. Asp.net Core 2.0+EntityFrameWorkCore 2.0添加数据迁移

    Asp.net Core 由于依赖注入的广泛使用,配置数据迁移,与Asp.net大不相同,本篇介绍一下Asp.net Core添加数据迁移的过程 添加Nuget包 Install-Package Mi ...

随机推荐

  1. mybatis必知必会一

    入门: 1.每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的.SqlSessionFactory 的实例可以通过 SqlSessionFactoryBui ...

  2. Lua脚本语言基础知识

      注释 在Lua中,你可以使用单行注释和多行注释. 单行注释中,连续两个减号"--"表示注释的开始,一直延续到行末为止.相当于C++语言中的"//". 多行注 ...

  3. K:栈和队列的比较

    栈和队列的相同点: 都是线性结构,即数据元素之间具有"一对一"的逻辑关系 都可以在顺序存储结构和链式存储结构上进行实现 在时间代价上,插入和删除操作都需常数时间:在空间代价上,情况 ...

  4. MySQL B+树索引和哈希索引的区别(转 JD二面)

    导读 在MySQL里常用的索引数据结构有B+树索引和哈希索引两种,我们来看下这两种索引数据结构的区别及其不同的应用建议. 二者区别 备注:先说下,在MySQL文档里,实际上是把B+树索引写成了BTRE ...

  5. 浅谈 Linux 下的 SSH1, SSH2

    SSH:Secure Shell .是一种安全协议. 常见的应用场景是远程控制台登陆. SSH1免费,SSH2收费.  其实 SSH 并不只是在 Linux 和 Unix  下使用,他们同样在 Win ...

  6. 【MySQL数据库】一些bug的解决

    往往碰到mysql配置好后,第二天就登不上,也运行不了服务. 在cmd中输入 net start mysql  报mysql无法启动系统错误1067等 解决方案: 以前搞到最后没办法,重装了,后来找到 ...

  7. 【javascript】javasrcipt设计模式之策略模式

    策略模式支持在运行时由使用者选择合适的算法,对于使用者而言不用关心背后的具体事项,而使用者自动根据当前程序执行的上下文和配置,从已有的算法列表中选择出合适的算法来处理当前任务. 1.要解决的问题 2. ...

  8. linux shell实现守护进程 看门狗 脚本

    嵌入式初学者,第一次上传代码.昨天做了一个udhcpd与udhcpc的守护,目前只会用shell模仿编写,还有什么方法可以做守护呢? ? 1 2 3 4 5 6 7 8 9 10 11 12 13 1 ...

  9. restframework类继承图

  10. [CentOS]安装软件问题:/lib/ld-linux.so.2: bad ELF interpreter解决

    环境: [orangle@localhost Downloads]$ uname -m&&uname -r x86_64 2.6.32-220.el6.x86_64 [orangle@ ...