GBase8s數(shù)據(jù)庫有什么特點(diǎn)

這篇文章主要講解了“GBase8s數(shù)據(jù)庫有什么特點(diǎn)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“GBase8s數(shù)據(jù)庫有什么特點(diǎn)”吧!

格爾木網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),格爾木網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為格爾木上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的格爾木做網(wǎng)站的公司定做!

注意事項(xiàng)

將數(shù)據(jù)導(dǎo)入到GBase8s數(shù)據(jù)庫中,我們會(huì)進(jìn)行建庫、建表、建字段的操作,當(dāng)這些操作完成以后在初期導(dǎo)入一些測(cè)試或樣例數(shù)據(jù)的時(shí)候都比較順利。但有時(shí)到了正式環(huán)境,數(shù)據(jù)變多以后,里面藏著一些意向不到的特殊字符或生僻字會(huì)導(dǎo)致我們導(dǎo)入失敗。所以以此文檔記錄在GBase8s建庫過程中對(duì)生僻字處理的注意事項(xiàng)

關(guān)鍵的環(huán)境變量

n DB_LOCALE

含義:

通過 DB_LOCALE 環(huán)境變量設(shè)置的數(shù)據(jù)庫語言環(huán)境指定數(shù)據(jù)庫服務(wù)器用于正確解釋特定數(shù)據(jù)庫中語言環(huán)境相關(guān)的數(shù)據(jù)類型(NCHAR 和 NVARCHAR)所需的語言、地域和代碼集。DB_LOCALE 中指定的代碼集確定哪些字符在任何字符列中都是有效的,并且確定數(shù)據(jù)庫對(duì)象(如數(shù)據(jù)庫、表、列和視圖)的名稱。數(shù)據(jù)庫服務(wù)器使用 DB_LOCALE 環(huán)境變量指定的數(shù)據(jù)庫代碼集將數(shù)據(jù)傳入和傳出數(shù)據(jù)庫。

用途:

1. 在客戶機(jī)應(yīng)用程序和數(shù)據(jù)庫服務(wù)器交換字符數(shù)據(jù)時(shí),如果 DB_LOCALE 環(huán)境變量(在客戶機(jī)計(jì)算機(jī)上)的值與 CLIENT_LOCALE 的值不同,客戶機(jī)應(yīng)用程序?qū)?zhí)行代碼集轉(zhuǎn)換。 代碼集轉(zhuǎn)換防止這兩種代碼集不同時(shí)發(fā)生數(shù)據(jù)破壞。

2. 在客戶機(jī)應(yīng)用程序請(qǐng)求連接時(shí),它將包括 DB_LOCALE(如果已設(shè)置)的信息發(fā)送至數(shù)據(jù)庫服務(wù)器。

3. 在確定如何設(shè)置服務(wù)器處理語言環(huán)境的數(shù)據(jù)庫信息時(shí),數(shù)據(jù)庫服務(wù)器使用 DB_LOCALE。

4. 在客戶機(jī)應(yīng)用程序嘗試打開數(shù)據(jù)庫時(shí),數(shù)據(jù)庫服務(wù)器將客戶機(jī)應(yīng)用程序傳遞的 DB_LOCALE 環(huán)境變量的值與數(shù)據(jù)庫中存儲(chǔ)的數(shù)據(jù)庫語言環(huán)境進(jìn)行比較。

5. 當(dāng)數(shù)據(jù)庫服務(wù)器存取與語言環(huán)境相關(guān)的數(shù)據(jù)類型的列時(shí),數(shù)據(jù)庫服務(wù)器使用 DB_LOCALE 指定的語言環(huán)境。

6. 當(dāng)數(shù)據(jù)庫服務(wù)器創(chuàng)建新數(shù)據(jù)庫時(shí),它將檢查數(shù)據(jù)庫語言環(huán)境(DB_LOCALE),以確定如何在數(shù)據(jù)庫的系統(tǒng)目錄中存儲(chǔ)字符信息。此信息包括諸如如何處理正則表達(dá)式、比較字符串以及確保代碼集的正確使用的操作。

所以如果我們的數(shù)據(jù)庫需要支持中文字符,我們必須在建庫的時(shí)候必須將該變量設(shè)置為zh_CN.utf8或zh_cn.GB18030-2000。否則如果按照en_us.8859-1進(jìn)行建庫后,在插入中午字符后將會(huì)變成亂碼。以下是字符集名稱及編碼對(duì)照表

字符集名稱

編碼

8859-1

819

gb

57357

GB2312-80

57357

utf8

57372

big5

57352

GB18030-2000

5488

字符集名稱及編碼對(duì)照表

n GL_USEGLU

含義:

如果想使NCHAR 和 NVARCHAR數(shù)據(jù)類型的字段內(nèi)的數(shù)據(jù)支持unicode,則必須對(duì)GL_USEGLU環(huán)境變量進(jìn)行使用設(shè)置

所以如果我們的數(shù)據(jù)庫不僅需要支持中文,還需要支持生僻字符,則必須在建庫前開啟此變量

實(shí)際操作

我們需要把生僻字“”插入到數(shù)據(jù)庫中,根據(jù)剛才的描述我們需要正確設(shè)置兩個(gè)地方才能保證“”字成功入庫

我們首先使用echo $DB_LOCALE;命令查看當(dāng)前該變量的值

發(fā)現(xiàn)當(dāng)前該變量的值不是zh_CN.utf8或zh_cn.GB18030-2000

所以我們?cè)诮?shù)據(jù)庫之前,需要先將變量進(jìn)行修改

其次我們需要使用onstat -g env命令確認(rèn)GL_USEGLU是否進(jìn)行了設(shè)置

當(dāng)這兩個(gè)變量都設(shè)置完畢后,我們使用dbaccess建立數(shù)據(jù)庫testdb3

建表操作、新增生僻字記錄,詳情如下圖所示,操作成功

使用如下語句確認(rèn)當(dāng)前數(shù)據(jù)庫的編碼,顯示的是zh_CN.57372, 根據(jù)剛才的字符集名稱及編碼對(duì)照表,可知編碼57372對(duì)應(yīng)的字符集名稱是utf8

SELECT * FROM sysmaster:sysdbslocale WHERE dbs_dbsname like 'testdb3%';

以下是我們測(cè)試當(dāng)不設(shè)置GL_USEGLU變量的情況

我們通過unset GL_USEGLU命令變量使GL_USEGLU失效

使用onstat -g env命令對(duì)當(dāng)前環(huán)境變量進(jìn)行查看,發(fā)現(xiàn)已經(jīng)沒有了 GL_USEGLU環(huán)境變量

此時(shí)我們通過dbaccess建立了testdb4數(shù)據(jù)庫

我們?cè)俨迦雱偛诺纳ё帧爱蟆睂?huì)如下圖所示報(bào)錯(cuò) 34389 Illegal character 非法字符

再來測(cè)試插入正常漢字的情況

插入正常漢字是沒有問題的

感謝各位的閱讀,以上就是“GBase8s數(shù)據(jù)庫有什么特點(diǎn)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)GBase8s數(shù)據(jù)庫有什么特點(diǎn)這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

分享文章:GBase8s數(shù)據(jù)庫有什么特點(diǎn)
URL網(wǎng)址:http://bm7419.com/article12/gihodc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作營銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作品牌網(wǎng)站制作、企業(yè)建站、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)