--sunfruit
在Linux Enterprise 5安裝Oracle的時(shí)候有時(shí)候會(huì)報(bào)錯(cuò)例如“makefile '/oracle/product/10.2.0/db_1/rdbms/lib/ins_rdbms.mk' 的目標(biāo) 'all_no_orcl' 時(shí)出錯(cuò)”
經(jīng)過(guò)多次測(cè)試是缺少相關(guān)的系統(tǒng)包文件,至少我的環(huán)境中確實(shí)是這樣,只要是安裝了下面的包文件,這個(gè)錯(cuò)誤可以避免(版本號(hào)在不同環(huán)境中略有不同)
compat-libstdc++-33-3.2.3-61
compat-libstdc++-296-2.96-138
gcc-4.1.1-52.el5
gcc-c++-4.1.1-52.el5
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
libgcc-4.1.1-52.el5
make-3.81-1.1
binutils-2.17.50.0.6-2.el5
openmotif-2.3.0-0.3.el5
以上的安裝包由于在安裝Linux的選擇的包以及具體的環(huán)境不同可能,可能有些不需要,不過(guò)如果出現(xiàn)了ins_rdbms.mk的錯(cuò)誤,可以按照這個(gè)方法嘗試一下
注:以上的安裝在Linux Enterprise 5的安裝盤中都包含,不需要額外在網(wǎng)上下載
-sunfruit
如果在安裝Oracle10g的時(shí)候沒(méi)有選擇字符集,則按照下面的3部進(jìn)行字符集的修改就可以完全正常的使用Oracle10g(注:關(guān)于下面的1、2、3均是轉(zhuǎn)貼,后面添加了個(gè)人在使用的時(shí)候一些心得)
1、檢查服務(wù)器上Oracle數(shù)據(jù)庫(kù)的字符集
sqlplus /nolog
SQL> connect / as sysdba
連接成功.
SQL> desc props$
列名 可空值否 類型
------------------------------- -------- ----
NAME NOT NULL VARCHAR2(30)
VALUE$ VARCHAR2(2000)
COMMENT$ VARCHAR2(2000)
SQL> col value$ format a40
SQL> select name,value$ from props$;
NAME VALUE$
------------------------------ -------------------------
DICT.BASE 2
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_DATE_FORMAT DD-MON-YY
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET ZHS16GBK
NLS_SORT BINARY
NLS_CALENDAR GREGORIAN
NLS_RDBMS_VERSION 7.3.4.0.0
GLOBAL_DB_NAME ORACLE.WORLD
EXPORT_VIEWS_VERSION 3
NLS_CHARACTERSET和NLS_CHAR_CTERSET這個(gè)參數(shù)應(yīng)該是ZHS16GBK,如不是,改為它。
SQL*Plus中修改方法:
SQL> update props$ set value$='ZHS16GBK' where name='NLS_CHARACTERSET';
2、確認(rèn)字符集是否修改的不徹底。
SELECT DISTINCT (NLS_CHARSET_NAME(CHARSETID)) CHARACTERSET,
DECODE(TYPE#, 1,
DECODE(CHARSETFORM, 1, 'VARCHAR2', 2, 'NVARCHAR2', 'UNKOWN'),
9,
DECODE(CHARSETFORM, 1, 'VARCHAR', 2, 'NCHAR VARYING', 'UNKOWN'),
96,
DECODE(CHARSETFORM, 1, 'CHAR', 2, 'NCHAR', 'UNKOWN'),
112,
DECODE(CHARSETFORM, 1, 'CLOB', 2, 'NCLOB', 'UNKOWN')) TYPES_USED_IN
FROM SYS.COL$
WHERE CHARSETFORM IN (1, 2)
AND TYPE# IN (1, 9, 96, 112);
3、如果上面的查詢的確顯示有多個(gè)字符集的設(shè)定,則進(jìn)行如下處理:
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
COL VALUE NEW_VALUE CHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
COL VALUE NEW_VALUE NCHARSET
SELECT VALUE FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_NCHAR_CHARACTERSET';
--INTERNAL_USE是沒(méi)有寫在文檔中的參數(shù),用以強(qiáng)制完成字符集一致化
ALTER DATABASE CHARACTER SET INTERNAL_USE &CHARSET;
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE &NCHARSET;
SHUTDOWN IMMEDIATE;
STARTUP;
-- 再次啟動(dòng)數(shù)據(jù)庫(kù)一遍
SHUTDOWN IMMEDIATE;
STARTUP;
**************注意****************
本人在使用上面的方法設(shè)置以后Oracle10g可以正常使用,在導(dǎo)入dmp,sql文件的時(shí)候則需要在Linux中做如下設(shè)置
sql文件,dmp文件在導(dǎo)入oracle的時(shí)候需要設(shè)置字符集
export LANG=zh_CN.GBK //這個(gè)是linux的字符集設(shè)置
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK //這個(gè)是oracle的字符集設(shè)置
--sunfruit
在applet上疊加層有2種方式
第一:使用iframe的方式
第二:使用window.createPopup();方式
<div></div>的方式我是沒(méi)有試成功,無(wú)論如何設(shè)置,div都在applet的下面,要是哪位實(shí)驗(yàn)成功了,經(jīng)驗(yàn)也共享一下
由于window.createPopup()主要用于創(chuàng)建右鍵菜單,由于其的一些特性,例如在其他地方點(diǎn)擊,該window.createPopup()對(duì)象消失,所以疊加層方式使用window.createPopup()并不合適,使用iframe制作疊加層的效果更好更好
效果圖如下
演示:
http://www.fruitres.cn/applet.jsp,可以從該演示頁(yè)直接下載js代碼,或者到代碼下載頁(yè)下載
代碼下載:
http://www.fruitres.cn/servlet/buyproductservlet?tag=single&tag1=info&PRODUCT_ID=1084563770&number=0
更多下載:
http://www.fruitres.cn/