2014-10-18 65 views
-2

我特林設置不區分大小寫的參數,如波紋管命令甲骨文不區分大小寫的設置

ALTER SESSION SET NLS_COMP=LINGUISTIC; 
ALTER SESSION SET NLS_SORT=BINARY_CI; 

ALTER SYSTEM SET NLS_COMP=LINGUISTIC; 
ALTER SYSTEM SET NLS_SORT=BINARY_CI; 

但是當它不工作。 有人可以幫我解決這個問題嗎?

我輸入第一個ALTER SESSION,它只能在SQL Developer中使用,但只能在第一次使用。當我打開一個新的連接時,它不起作用。

我輸入第二個,ALTER SESSION SET NLS_COMP = LINGUISTIC,在設置中顯示NLS_COMP = LINGUISTIC;但是當打開新的連接時,它不再工作。 我的意思是,當我用小寫搜索像

SELECT * 
FROM users 
WHERE username like 'conan' 

和我usernameCONAN它cannt找到

+0

你是什麼意思的「不工作」? – Mat 2014-10-18 13:46:24

+3

你只是改變會話,所以如果你打開一個新的會話,它不會工作,沒有... – Ben 2014-10-18 14:26:26

+1

會話和連接之間似乎有點混淆。連接是客戶端和服務器之間的實際連接(通常是TCP/IP上的套接字)。客戶端使用它來與服務器進行通信,並由服務器來響應客戶端的請求。 會話是爲該連接創建的服務器上爲服務客戶端的進程(或線程)。它從連接中讀取客戶端的請求,執行/服務請求,然後通過連接響應客戶端的請求。 – 2014-10-18 16:15:19

回答

2

ALTER SESSION SET NLS_COMP =語言學;

ALTER SESSION SET NLS_SORT = BINARY_CI;

該聲明只會影響您當前的會話,當您打開新會話時,上一會話中的上一個會話不會影響新會話。如果要使所有會話不區分大小寫,請使用AFTER LOGON TRIGGER並使用動態sql發出相同的語句。

例如,

CREATE OR REPLACE TRIGGER case_insensitive_trg 
AFTER LOGON ON SCHEMA 
BEGIN 
    execute immediate 'alter session set NLS_SORT=BINARY_CI'; 
    execute immediate 'alter session set NLS_COMP=LINGUISTIC'; 
END; 
/

有關詳細信息,不區分大小寫的排序和進行比較,請閱讀Oracle – Case Insensitive Sorts & Compares

對於系統級,

ALTER SYSTEM SET NLS_COMP=LINGUISTIC SCOPE SPFILE; 
ALTER SYSTEM SET NLS_SORT=BINARY_AI SCOPE SPFILE; 

你當然可以做任何你當然,這是你的數據庫。但是,我不會推薦在系統級別做這樣的事情。這是系統級的矯枉過正,對性能問題不必要的歡迎。

更新:會話和連接

的連接之間的混亂是客戶端和服務器之間的實際連接(通常通過TCP/IP套接字) 。它被客戶端用來與服務器進行通信,並由服務器響應 客戶端的請求。

會話是服務器上爲該連接創建的 服務客戶端的進程(或線程)。這將從連接中讀取客戶端的請求 ,執行/服務請求 ,然後通過連接響應對客戶端的請求。

因此,一個會話通過連接讀取並回應客戶端的請求

+0

在閱讀['ALTER SESSION'](http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_2012.htm)的文檔時,我遇到了一些奇怪的事情。它說_「使用ALTER SESSION語句來設置或修改任何影響到您的**連接**的數據庫的條件或參數。」_作爲我自己,我雖然關於*連接*是物理通路數據庫和*會話*通過連接建立以查詢數據庫。對於_shared server_,您可以通過一個連接進行多個會話。那麼ALTER SESSION會改變_session_或_connection_? – 2014-10-18 15:01:34

+0

根據我的經驗,我也在這裏分享了http://lalitkumarb.wordpress.com/2014/01/22/oracle-case-insensitive-sorts-compares/,它會改變當前執行改變會話的會話聲明。如果新會話打開,它不會受到影響。 – 2014-10-18 15:05:03

+0

我幾乎可以肯定這一點,但通過使用「連接」一詞而不是「會話」,文檔在我的腦海中插入了一點懷疑。 – 2014-10-18 15:17:34