仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 734|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之字符集成绩的开端切磋(二)

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:33:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
支持多种存储引擎。成绩
字符集成绩的开端切磋(二)

--数据库的字符集

Saturday,2004-09-1111:38Eygle

原文宣布于itpub手艺丛书《Oracle数据库DBA专题手艺精炼》,未经允许,严禁转载本文.
原文链接:

http://www.eygle.com/special/NLS_CHARACTER_SET_02.htm


2.数据库的字符集


字符集在创立数据库时指定,在创立后一般不克不及变动,以是在创立数据库时可否选择一个准确的字符集就显得尤其主要。
在创立数据库时,我们能够指定字符集(CHARACTERSET)和国度字符集(NATIONALCHARACTERSET)。
字符集用来存储:
CHAR,VARCHAR2,CLOB,LONG等范例数据
用来标示诸如表名、列名和PL/SQL变量等
SQL和PL/SQL程序单位等
国度字符集用以存储:
NCHAR,NVARCHAR2,NCLOB等范例数据

这些设置在数据库创立时指定,我们能够看一下数据库的创立剧本:





connectSYS/change_on_installasSYSDBA
setechoon
spoolE:oracleora92assistantsdbcalogsCreateDB.log
startupnomountpfile="E:oracleadmineyglecriptsinit.ora";
CREATEDATABASEeygle
MAXINSTANCES1
MAXLOGHISTORY1
MAXLOGFILES5
MAXLOGMEMBERS3
MAXDATAFILES100
DATAFILEE:oracleoradataeygleystem01.dbfSIZE250MREUSEAUTOEXTENDONNEXT10240KMAXSIZEUNLIMITED
EXTENTMANAGEMENTLOCAL
DEFAULTTEMPORARYTABLESPACETEMPTEMPFILEE:oracleoradataeygle        emp01.dbfSIZE40MREUSEAUTOEXTEND
ONNEXT640KMAXSIZEUNLIMITED
UNDOTABLESPACE"UNDOTBS1"DATAFILEE:oracleoradataeygleundotbs01.dbfSIZE50MREUSEAUTOEXTEND
ONNEXT5120KMAXSIZEUNLIMITED
CHARACTERSETZHS16GBK
NATIONALCHARACTERSETAL16UTF16
LOGFILEGROUP1(E:oracleoradataeygleedo01.log)SIZE10M,
GROUP2(E:oracleoradataeygleedo02.log)SIZE10M,
GROUP3(E:oracleoradataeygleedo03.log)SIZE10M;
spooloff
exit;





以上用粗体显现的就是对我们相当主要的字符集设置。

在创立数据库的过程当中,在以下界面选择你的字符集,关于简体中文平台,缺省的字符集是:ZHS16GBK






一旦你的字符集选定了,数据库中可以存储的字符就遭到了限定,以是你选择的字符集的应当能够包容一切你将用到字符。


罕见的中笔墨符集有:




ZHS16CGB231280CGB2312-8016-bitSimplifiedChineseMB,ASCII
ZHS16GBKGBK16-bitSimplifiedChineseMB,ASCII,UDC


个中GB2312码是中华国民共和国国度汉字信息互换用编码,全称《信息互换用汉字编码字符集--基础集》,由国度尺度总局公布,
1981年5月1日实行,通行于年夜陆。新加坡等地也利用此编码。
GBK编码是1995年12月公布的引导性标准。
GBK与国度尺度GB2312-80信息处置互换码所对应的、现实上的内码尺度兼容;同时,在字汇一级撑持ISO/IEC10646-1和
GB13000-1的全体中日韩(CJK)汉字(20902字)。包括了更多的编码。

可是我们说,ZHS16GBK并不是是ZHS16CGB231280的严厉超集(固然后者的汉字在前者中都存在,可是一样的编码在分歧两个
字符会合大概表达分歧的汉字),以是在做数据库字符转换时仍旧必要出格注重。



Oracle的字符集定名遵守以下定名划定规矩:




<Language><bitsize><encoding>
即:<言语><比特位数><编码>
好比:ZHS·16·GBK



必要申明的是,有些字符集定名违反了这个标准,Oracle8/Oralce8i中的UTF-8是第一个冲破这个定名标准的字符集。
我们能够看到一类字符集以AL开首,如:
AL16UTF16
个中AL代表ALL,指合用于一切言语(AllLanguages),依照这个尺度昔时UTF-8本应被定名为AL24UTF8。

上面我们说了DML的闪回方案。但对于DDL却无能为力,对于大多数的DDL,即使是rowbase格式,二进制日志binlog中仍只记录语句本身。对于删表操作,只记录一个语句droptablet。仅凭这句话,无法还原表的数据。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-19 16:26:46 来自手机 | 只看该作者
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
山那边是海 该用户已被删除
板凳
发表于 2015-1-25 16:30:51 | 只看该作者
其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。
地板
发表于 2015-2-3 09:59:58 | 只看该作者
再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。
简单生活 该用户已被删除
5#
发表于 2015-2-8 20:16:04 | 只看该作者
无法深入到数据库系统层面去了解和探究
海妖 该用户已被删除
6#
发表于 2015-2-26 03:47:07 | 只看该作者
比如日志传送、比如集群。。。
若相依 该用户已被删除
7#
发表于 2015-3-8 11:50:03 | 只看该作者
比如,MicrosoftSQLServer2008的某一个版本可以满足现在的这个业务的需要,而且价格还比Oracle11g要便宜,那么这一产品就是适合的。
谁可相欹 该用户已被删除
8#
发表于 2015-3-15 22:26:24 | 只看该作者
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
飘灵儿 该用户已被删除
9#
发表于 2015-3-22 17:10:38 | 只看该作者
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-22 13:26

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表