2007-06-26

oracle 筆記

TOAD Select View 時,會查詢不到資料
原因一. 因為其環境變數[Org_ID]未給值。
DECLARE
P_ORG_ID VARCHAR2(30);
BEGIN
FND_PROFILE.GET('ORG_ID',P_ORG_ID);
DBMS_APPLICATION_INFO.SET_CLIENT_INFO(P_ORG_ID);
END;

如果還是不行 試試原因二.

環境變數 不可為 NLS_LANG = TRADITIONAL CHINESE_TAIWAN.ZHT16BIG5
改為 NLS_LANG = American_America.ZHT16BIG5
重新開機後 就可以了

================ 2007-08-01

此錯誤: Fatal error: Call to undefined function ocilogon()

是安裝 oracle client 後 php oci8 無法載入問題,只要調整 系統路徑 path 將 c:\php5\;c:\php5\ext\; 調整到最前面 後 重新開機 即可解決。

================ 2007-07-05

sqlplus 無法連上 tns 問題 ORA-12560: TNS:protocol adapter error
原因為 資料庫變更了 原本的 SID 所致
只要在DOS視窗輸入 C:\>set oracle_sid=ora10g 這樣的指令 即可

另外 根本解決之道 就是在 系統環境變數 增加
上面 區塊
ORACLE_SID = ORA10G
NLS_LANG = American_America.ZHT16BIG5

下面 區塊
NLS_LANG = American_America.UTF8

================
這是 oracle 10g 在VISTA下支援多國語系的設定

NLS_CHARACTERSET
AL32UTF8

NLS_NCHAR_CHARACTERSET
UTF8

================
1. sqlplus /nolog
2. SQL> connect / as sysdba
3. SQL> SHUTDOWN IMMEDIATE;
4. SQL> STARTUP MOUNT;
5. SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
6. SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
7. SQL> ALTER DATABASE OPEN;
8. SQL> ALTER DATABASE CHARACTER SET UTF8;
9. SQL> ALTER DATABASE NATIONAL CHARACTER SET UTF8;
10. SQL> SHUTDOWN IMMEDIATE;
11. SQL> STARTUP;

此範例是將語系改為UTF8

Oracle 10g 變更資料庫的 characterset

之前裝起來的 Oracle 10g 竟然放中文字進去會變成一堆問號。

於是下指令看看:

SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET';

竟然出現:

PARAMETER
------------------------
VALUE
------------------------
NLS_CHARACTERSET
WE8ISO8859P1

NLS_NCHAR_CHARACTERSET
AL16UTF16

================
NLS_CHARACTERSET
ZHT16MSWIN950

NLS_NCHAR_CHARACTERSET
AL16UTF16
================

主要是這個:NLS_CHARACTERSET

我想要可以放中文,而且是 UTF-8

找到一些適用於 9i 的步驟,試過之後,10g 也適用:

以 sysdba 角色進入 sqlplus 之後執行以下

shutdown immediate;
STARTUP MOUNT;
ALTER SESSION SET SQL_TRACE=TRUE;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET AL32UTF8;
ALTER SESSION SET SQL_TRACE=FALSE;


然重新啟動 oracle 就好了。

當然,這種方式會造成裏面的資料亂掉。應該要先把DB內清空再來做。

P.S. 因應 UTF-8, 環境變數 NLS_LANG 為:TRADITIONAL CHINESE_TAIWAN.AL32UTF8

P.S. 注意:網路上廣為流傳的用這種方法是不正確的: update props$ set value$='AL32UTF8' where name='NLS_CHARACTERSET';
透過前述 "ALTER DATABASE CHARACTER SET" 方式更改 characterset 時,Oracle至少需要更改 12 張 data dictionary,而這種直接更新 props$ 表的方式只完成了其中十二分之一的工作,其?在的完整性隱憂可想而知。

2007-06-22

delphi 筆記

刪除一列 的按鍵 ctrl + y 老是忘記 把他記錄在這裡,噯~人老囉

2007-06-05

遠端桌面使用筆記

如何使用遠端桌面重開機 開始 >> 執行 >> 輸入 shutdown -r

2007-05-31

Vista 使用筆記

2007-06-01 休眠 不見了 怎麼辦呢?
徵狀

在 Windows Vista 中,您可能會遇到下列一或多個徵狀:
•
[開始] 功能表電源選項功能表中沒有 [休眠] 選項。
•
[關閉 Windows] 對話方塊中沒有 [休眠] 選項。注意 如果要開啟 [關閉 Windows] 對話方塊,請按 ALT+F4。
•
安全桌面上的電源按鈕功能表中沒有 [休眠] 選項。注意 您可以在從 Windows Vista 登出時,存取安全桌面的電源按鈕功能表。

發生的原因

如果下列其中一種情況成立,就會發生這個問題:
•
曾經使用「磁碟清理公用程式」刪除「休眠檔案清除工具」。
•
電腦不支援休眠功能。
•
休眠功能已停用。
•
「混合式睡眠」功能已啟用。當使用者在任一電源選項功能表中選擇 [睡眠] 選項時,「混合式睡眠」功能就會讓電腦進入睡眠狀態並產生休眠檔案。因此,當啟用「混合式睡眠」時,[休眠] 不會顯示為電源選項。

解決方案

如果要解決這個問題,請使用 PowerCfg 命令列工具來啟用休眠功能。如果要執行這項操作,請依照下列步驟執行。注意 如果電腦不支援休眠功能,就無法啟用此功能。如需有關如何使用 PowerCfg 工具來判斷電腦是否支援休眠功能的詳細資訊,請參閱<其他相關資訊>一節。
1.
按一下 [開始],在 [開始搜尋] 方塊中輸入 command,用滑鼠右鍵按一下 [程式集] 清單中的 [命令提示字元],然後按一下 [以系統管理員身分執行]。 如果出現要求您輸入系統管理員密碼或確認的提示,請輸入密碼或按一下 [繼續]。
2.
在命令提示字元中,輸入 powercfg /hibernate on。

其他相關資訊

您也可以使用 PowerCfg 命令列工具來判斷電腦是否支援休眠功能。如果要執行這項操作,請依照下列步驟執行:
1.
按一下 [開始],在 [開始搜尋] 方塊中輸入 command,用滑鼠右鍵按一下 [程式集] 清單中的 [命令提示字元],然後按一下 [以系統管理員身分執行]。 如果出現要求您輸入系統管理員密碼或確認的提示,請輸入密碼或按一下 [繼續]。
2.
在命令提示字元中,輸入 powercfg /a。PowerCfg 工具會產生類似下列的輸出:此系統有以下幾種睡眠狀態:待命 ( S1 S3 ) 休眠 混合式睡眠 此系統缺乏以下幾種睡眠狀態:待命 (S2)




系統軔體不支援此待命狀態。列為可供使用和無法使用的睡眠狀態會依電腦硬體而有所不同。

2007-03-06

兩種 MySQL 備份的分別

在 MySQL 備份有兩種方法,一種是用 mysqldump 將資料庫內容匯出成 SQL 語句的檔案,而另一種方法則是用 mysqlhotcopy直。(如果要手動實現第二種方法,只要先將 MySQL 停止運作,再把把 MySQL 的資料目錄備份即可。)

根據 MySQL 官方說明文件,如果所有的資料表類型也是 MyISAM 的話 (MySQL 預設資料表類型),用 mysqlhotcopy 備份及復原會較快速。所以如果 MySQL 裡面有資料表不是用 MyISAM 作為資料表類型,那只可以用 mysqldump 來備份。

===================================

mysql 最佳化 TABLE 指令 要是TABLE經常新增又刪除會出現很多多餘空間 用此指令可最佳化
OPTIMIZE TABLE `court_coerce`

2006-09-27

Linux 抓檔案

wget http://nchc.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-2.9.0.tar.gz

linux ftp 下載檔案方法

匿名登入
lftp ftp://mp3.budaedu.org/
get ghosa/C006/T0A77n/A77102AM.mp3
get ghosa/C006/T0A77n/A77102BM.mp3

ssh 帳號@IP <===連到另一台主機
fssh IP <=== 用SSH抓檔案

2006-09-22

Excel 相關應用

session_cache_limiter('private');

session_cache_limiter('public');
header("Content-type: application/vnd.ms-excel; charset=BIG5;");
header("Content-Disposition: inline; filename=UniformCashNewReport.xls;");

or

session_cache_limiter('public');
header("Content-type: application/vnd.ms-excel; charset=UTF8;");
header("Content-Disposition: inline; filename=MachAuditReport.xls;");

日期格式
Style='mso-number-format:\"yyyy\\-mm\\-dd\"'
Style='mso-number-format:\"yyyy\\-mm\\-dd hh\\:mm\"'

字串格式
Style='mso-number-format:\"\@\";'

2006-09-19

找出 相同資料的SQL

SELECT emp_sn, count(emp_sn) FROM uniform_cash
GROUP BY emp_sn HAVING count(emp_sn) > 1

2006-09-05

GB2312 to UTF-8 for MySQL

$link = @mysql_pconnect("127.0.0.1","leeyc","xxxxxx") or die(throwError('unable to establish a connection'));

@mysql_select_db("chilier", $link) or die(throwError('unable to select database'));

mysql_query("set names utf8", $link); // 轉 GB2312 to UTF-8 需要先下這行指令


// 將 GB2312 碼轉為 UTF-8
function encodeString($s) {
$s = mb_convert_encoding($s, 'UTF-8', 'GB2312');
$s = htmlspecialchars($s, ENT_COMPAT, 'UTF-8');
return $s;
}

2006-07-06

如何讓 Windows XP 進行乾淨的開機

如何讓 Windows XP 進行乾淨的開機情形電腦顯示一大堆您看不懂的錯誤訊息,或者電腦在下列幾種狀況中停止不動:-安裝某個應用程式時發生問題。-某個應用程式安裝完畢之後。- 即使電腦啟動時有顯示錯誤訊息,Windows XP 還是可以正常載入。您懷疑這些問題可能是因為記憶體衝突、驅動程式老舊或軟體不相容所造成的。與技術服務人員聯絡過之後,他們建議您想辦法讓系統進行乾淨的開機,看看問題是否能解決。解釋所謂的「乾淨開機」,指的是重新啟動 Windows,而且不執行任何應用程式,連額外啟動的驅動程式也愈少愈好。當 Windows XP 安裝好之後,接下來安裝的應用程式有些會加裝額外的驅動程式。Windows XP 有兩個方法可以做到乾淨開機:選擇性啟動與診斷啟動。選擇性啟動可讓您自行挑選哪些程序要載入,哪些程序不要載入,讓您容易一個一個排除無關的程序,最後便可找出問題到底是哪個程序所造成的。本文將說明選擇性啟動的步驟。讓 Windows XP 進行選擇性啟動:
按下「開始」,然後按下「執行」。畫面上便會出現「執行」視窗。
在「開啟」方塊內輸入 msconfig,接著按下「確定」,「系統設定公用程式」便會顯示出來。
按下「一般」標籤。
按下「選擇性啟動」。
在「選擇性啟動」下,除了「載入系統服務之外」,將其它所有處理選項全部取消選取。注意:
「使用原始的 BOOT.INI」這個選項不一定可以取消選取。
取消選取所有方塊 (「載入系統服務」除外) 可確保電腦真正乾淨開機。
您取消的選項愈多,就愈有可能將問題解決。請注意,如果將所有方塊全部取消,將導致無法安裝賽門鐵克的產品。
有時候您可能必須載入「啟動」群組的某些程序,此時請依照以下程序進行:
依照步驟四中的指示按下選擇性啟動。
取消勾選除了"讀取系統服務"與"讀取啟動項目"外所有啟動性選擇下列出進行中的選項。
按下「啟動」標籤。
勾選您希望下次電腦啟動時應該執行的程序,並將其它所有程序取消。
執行下列其中一項:
若您執行基本清除啟動,跳到步驟。
若您執行完全清除啟動,請依照下列指示
按下"服務"標籤
勾選"隱藏所有Microsoft服務"
注意: 請勿跳過此步驟。 您必須在進入步驟C之前隱藏Microsoft服務。
取消勾選"服務"標籤上所有仍然顯示的服務。
按下「套用」,然後按下「關閉」。
當系統建議您重新啟動電腦時,請按「是」。
接下來 Windows 啟動後的環境將與當初 Windows 剛安裝完成之後類似,也就是尚未安裝任何軟體的 Windows。將電腦還原為原來的設定:
按下「開始」,然後按下「執行」。畫面上便會出現「執行」視窗。
在「開啟」方塊內輸入 msconfig,接著按下「確定」,「系統設定公用程式」便會顯示出來。
按下「正常啟動」。
按下「確定」。
當系統建議您重新啟動電腦時,請按「是」。
接下來 Windows 啟動時便會將所有驅動程式、軟體以及您對螢幕的所有設定全部載入生效。參考資料要在 Windows XP 啟動時讓某些應用程式自動啟動,共有以下四種方法:
「啟動」資料夾:含有應用程式的捷徑,當 Windows 啟動後這些應用程式便會立刻執行
Windows 登錄:含有 Windows 啟動時會跟著執行的應用程式模組
Win.ini 檔案:含有各種裝置的 Windows 驅動程式,例如印表機和數據機等等
System.ini 檔案:含有應用程式所需的虛擬驅動程式
選擇性啟動利用 Windows 的 MSConfig 公用程式設定下次電腦啟動時要載入哪些程式與驅動程式。在 MSConfig 對話方塊內,請根據先前的清單挑選下次電腦啟動時要執行哪些項目以及不要執行哪些項目。選擇性啟動和診斷啟動不同,前者可讓您決定 Windows 登錄資料庫與「啟動」資料夾中的哪些程式不要跟著 Windows 一起啟動,賽門鐵克建議大部分使用者都應先考慮採用選擇性啟動這種方式。診斷啟動是一個交談式的過程,逐項詢問您要不要載入各個元件。只要選取 Windows MSConfig 公用程式中的診斷啟動,接著重新啟動電腦,或者在電腦啟動過程中早一點按住 F8 鍵,便可跳到診斷啟動模式。進行診斷啟動時,您可以針對每一個元件決定要不要載入。診斷啟動與選擇性啟動不同的地方,在於前者不能讓您針對「啟動」資料夾與 Windows 登錄資料庫中的個別項目決定要不要啟動。這種啟動方式比較適合經驗豐富的使用者,換句話說,了解各項元件對 Windows 有何影響的人比較適合採用診斷啟動方式。

XP 快速關機設定

按我們下面提供的方法更改註冊表選項,你的Windows XP系統開機速度就會非常的快了HKEY_LOCAL_MACHINE\SYSTEM\CURRENTCONTROLSET\CONTROL\SESSION MANAGER\MEMORY MANAGEMENT\PREFETCHPARAMETER 雙擊ENABLEPREFETCHER鍵值,把3改為5'快速關機體積龐大的Windows XP作業系統關機起來很慢,大約需要30~50秒,但是按我們下面提供的方法更改註冊表選項,你的Windows XP系統關機速度就會非常的快了。找到HKEY-CURRENT-USER\Control Panel\Desktop鍵,將WaitToKillAppTimeout改為:1000,即關閉程式時僅等待1秒。另:程式出錯和系統自動關閉停止回應的程式如何實現快速關閉。1、將HungAppTimeout 值改為:200,表示程式出錯時等待0.5秒。2、將AutoEndTasks 值設為:1,讓系統自動關閉停止回應的程式。

=====================================================

【IT168 實用技巧】現在網上的XP啟動加速文章多如牛毛,而真正有用的並不多,甚至有一些都是誤導讀者。我本身也是個XP用戶,對於XP的啟動加速也深有感觸。看過無數的優化文章,安裝過N次的XP,走過很多彎路,不過最終還是總結出了真正可以優化XP啟動的經驗。  首先,打開“系統屬性”(在我的電腦上點右鍵-屬性,或者在控制面板裡打開“系統”,快捷鍵win+pause break)點“高級”選項卡,,在“啟動和故障恢復”區裡打開“設置”,去掉“系統啟動”區裡的兩個√,如果是多系統的用戶保留“顯示操作系統列表的時間”的√。點“編輯”確定啟動項的附加屬性為 /fastdetect而不要改為nodetect,先不要加 /noguiboot屬性,因為後面還要用到guiboot。  接下來這一步很關鍵,在“系統屬性”裡打開“硬體”選項卡,打開“設備管理器”,展開“IDE ATA/ATAPI控制器”,雙擊打開“次要IDE通道”屬性,點“高級設置”選項卡,把設備1和2的傳送模式改為DMA若可用,設備類型如果可以選擇“無”就選為“無”,點確定完成設置,同樣的方法設置“主要IDE通道”。  現在啟動加速已經完成,不過既然加速了啟動也順便把關機也加速一下吧。  打開注冊表(開始-運行-regedit),單擊“我的電腦”打開“編輯”菜單的“查找”,輸入AutoEndTasks,點“查找下一個”。雙擊打開找到的結果修改“數值數據”為1。然後在AutoEndTasks的下面可以找到HungAppTimeout,WaitToKillAppTimeout,把“數值數據”設為2000或者更小,在這裡順便也把菜單延遲的時間修改一下,在AutoEndTasks的下面找到MenuShowDelay,數值是以毫秒為單位,如果希望去掉菜單延遲就設為0。 修改後點“編輯”菜單,打開“查找下一個”(快捷鍵F3),把找到的結果都安裝上一步的方法修改。  現在啟動和關機的加速都已經完成,重啟一下電腦感受一下極速啟動的感覺吧,滾動條是不是隻轉一二圈就OK了。  享受了極速重啟的樂趣後我們再進一步加速一下啟動的速度,打開“系統屬性”- “高級”-“啟動和故障恢復”設置,打開“系統啟動”區的編輯,在fastdetect的後面加上 /noguiboot,這樣在啟動的時候就不會再顯示滾動條。如果你非常喜歡這個滾動條的顯示這一步就不用做了。

2006-04-27

IIS ASP.NET 設定

C:\WINDOWS> cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322> aspnet_regiis.exe -i
Start installing
ASP.NET (1.1.4322). ..................... Finished installing ASP.NET (1.1.4322).

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322> regsvr32 aspnet_isapi.dll

讓 Windows 2000 / XP 開機後自動登入

讓 Windows 2000 / XP 開機後自動登入
步驟 1:
2000 執行指令: control userpasswords (同 控制台 → 使用者和密碼)
XP 執行指令: control userpasswords2
步驟 2:
點選預設登入的使用者帳號
步驟 3:
取消勾選「必須輸入使用者名稱和密碼,才能使用這台電腦」,按「確定」
步驟 4:
輸入密碼; 如果該帳號沒有密碼, 直接按「確定」即可


參考網址如下: http://cha.homeip.net/blog/archives/2005/11/_windows_xp.html

2006-04-21

產生 PuTTY 的設定檔

將下列幾行存成 putty.bat

@ECHO OFF
regedit /s putty.reg
regedit /s puttyrnd.reg
start /w putty.exe
regedit /ea new.reg HKEY_CURRENT_USER\Software\SimonTatham\PuTTY
copy new.reg putty.reg
del new.reg
regedit /s puttydel.reg

執行這個 putty.bat 檔後 會開啟 PUTTY 然後按關閉 PUTTY 後會產生 putty.reg
將 putty.reg COPY 到你新的電腦 執行它 就會把舊電腦的 PuTTY 設定檔一模一樣了。

2006-03-07

WEB 列印 換頁 應用

<STYLE> BR.page { page-break-after: always }</STYLE>
<BODY>page 1
<BR CLASS=page>
page 2
</BODY>