程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> sqlldr 采集中文數據亂碼問題,sqlldr中文

sqlldr 采集中文數據亂碼問題,sqlldr中文

編輯:Oracle教程

sqlldr 采集中文數據亂碼問題,sqlldr中文


測試機上裝入數據 發現中文字段全部變成???????,初步判斷為字符集問題

   更改      UPDATE sys.props$      SET VALUE$='WE8ISO8859P1'      where name like 'NLS%'      and value$='ZHS16GBK'; commit; 後發現sqlldr采集數據時,報錯 SQL*Loader-704: Internal error: ulmtsyn: OCIStmtExecute(tabhp) [6552] ORA-06552: PL/SQL: Compilation unit analysis terminated ORA-06553: PLS-553: character set name is not recognized   查資料後發現原來更改字符集還需要在設置字符集時把數據庫設置成RESTRICTED模式等諸多操作,進行以下操作後,sqlldr采集正常 >STARTUP MOUNT;  ORACLE instance started.   Total System Global Area 76619308 bytes  Fixed Size 454188 bytes   Variable Size 58720256 bytes  Database Buffers 16777216 bytes   Redo Buffers 667648 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> set linesize 120  SQL> ALTER DATABASE CHARACTER SET ZHS16GBK; ORA-12712: new character set must be a superset of old character set RROR at line 1:

>ALTER DATABASE character set INTERNAL_USE zhs16gbk;

>ALTER SESSION SET SQL_TRACE=FALSE;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved