First, the problem description
1, using the gdb template file, in the ARCSDE (data server) in the batch creation of database tables (data migration), When using the method of interface ESRI.ArcGIS.Geodatabase.IGeoDBDataTransfer transfer, error is: Exception from hresult:0x80041538;
2, the test on their own computer no problem, the data server will have the problem;
3, because of GIS-related issues, related help manuals and online search for a while, found that there is little information about this problem.
Second, the solution
1, only from the local environment and the data server environment to start, the local environment: Win7 flagship Chinese version, Oracle 11g Chinese version; Data server environment: Winserver R2 Standard Edition (others, seemingly English version, later loaded with Chinese patch pack, not modified other settings, Input Chinese characters total feeling show strange), Oracle 11g English version;
2, suspicion is the problem of coding, then take arccatalog in the data server to create a table named Chinese, the direct error ora-00911invalid Character. Therefore, it can be concluded that the problem of character encoding. Proceed in two ways:
A, operating system issues
Windows issues, in regional and language settings, set non-Unicode encoding to Simplified Chinese (after Setup is complete, restart the computer, and then input Chinese characters will not feel Strange).
B, Oracle Database issues
(1) First look at the Oracle encoding, two ways to view (registry or Sqlplus query), both of which are borrowed from others to write the content
Registry view:
32 bit in: Hkey_local_machine\software\wow6432node\oracle\homexx\nls_lang
(Here is the 32-bit application in the 64-bit Windows system, the registry location under "Wow6432node". )
64 bit in: Hkey_local_machine\software\oracle\homexx\nls_lang
(Here is the 64-bit application in the 64-bit Windows system, the registry location is directly under "Software".) )
Sqlplus query:
The database server character Set select * from Nls_database_parameters, which is derived from props$, is the character set representing the database.
Client Character Set Environment select * from Nls_instance_parameters, which originates from V$parameter,
Session Character Set Environment select * from Nls_session_parameters, which originates from V$nls_parameters, represents the session's own settings, which may be the session's environment variable or alter session completion, If the session does not have a special setting, it will be consistent with nls_instance_parameters.
In either of these ways, you know that the Oracle encoding on the data server is: we8mswin1252 ( Chinese is not supported )
(2) Since know the coding we8mswin1252 problem, the following is good to solve, can refer to http://blog.itpub.net/22871478/viewspace-1116638/, for everyone to see the method, I reproduced the original, as follows:
Modify the character set to ZHS16GBKsql> shutdown immediate;Database closed. Database dismounted. ORACLE instance shut down.sql> Startup MountORACLE 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 the old character setsql> ALTER DATABASE character set Internal_use ZHS16GBK;Database altered. The red part of the error does not affect the success of this modification, restart the service, support Chinese. 3. The problem can be solved.
ArcSDE Data Migration Exception from hresult:0x80041538 problems and solutions