仓酷云

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

[学习教程] MSSQL网页设计Character set字符集

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:40:14 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。
Characterset字符集



zyqin



创立:2005-03-25



英文:http://www.dbonline.cn







Ifthedatabasehasbeencreatedwiththewrongcharacterset,usethefollowingtochangethecharacterset



UPDATESYS.PROPS$



SETVALUES$=WE8ISO8859P1



WHERENAME=NLS_CHARACTERSET;



ItisVERYimportanttospecifythecharactersetnamecorrectly.IftheNLS_CHARACTERSETisupdatedtoaninvalidvalue,itwillnotthenbepossibletorestartthedatabaseonceithasbeenshutdown.





假如已创立的数据库利用了毛病的字符集,你可使用上面的办法修正字符集:



UPDATESYS.PROPS$



SETVALUES$=WE8ISO8859P1



WHERENAME=NLS_CHARACTERSET;



注重:确保字符集称号的正确性长短常主要的。假如NLS_CHARACTERSET被更新成一个毛病的值,数据库封闭后就没法从头启动了。



Update



DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

Fromversion8youcannowupdatethecharactersetusingthealterdatabasecommand.Anextractfromthedocumentationisincludedbelow,thebasicrulebeingthatthenewcharactersetmustbeasupersetofthecurrentset.Interestinglyenough,Itriedtheaboveupdatewithacharactersetthatviolatedthatrule,itstillworks-ofcourse,anycharactercodedifferenceswillwouldinevitablycausesomeproblems,soitwouldbesafesttousethesupportedsyntax.



Quotefromthe(8.1.6)documentationreveals:





Oracle8今后的数据库能够经由过程利用alterdatabase命令修正字符集。援用文档中的一句话:新的字符集必需是本来字符集的一个超集。成心思的是,我已经更新字符集是违背了这一准绳,数据库还是事情;固然了,任何字符码都大概招致一样的成绩,以是最平安的办法仍是依照划定规矩做事。



DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

"ChangingtheCharacterSetAfterDatabaseCreation



Insomecases,youmaywishtochangetheexistingdatabasecharacterset.Forinstance,youmayfindthatthenumberoflanguagesthatneedtobesupportedinyourdatabasehaveincreased.Inmostcases,youwillneedtodoafullexport/importtoproperlyconvertalldatatothenewcharacterset.However,ifandonlyif,thenewcharactersetisastrictsupersetofthecurrentcharacterset,itispossibletousetheALTERDATABASECHARACTERSETtoexpeditethechangeinthedatabasecharacterset.





偶然候,你大概必要修正以后数据库的字符集。这时候你会发明你必要增添数据库撑持的缘故原由的品种。多半情形下,你大概必要经由过程完整的export/import导进/导出来完成。假如,仅仅是假如,新的字符集是以后字符集的一个严厉的超集,利用ALTERDATABASECHARACTERSET命令是一个可行的办法。



Thetargetcharactersetisastrictsupersetifandonlyifeachandeverycodepointinthesourcecharactersetisavailableinthetargetcharacterset,withthesamecorrespondingcodepointvalue.ForinstancethefollowingmigrationscenarioscantakeadvantageoftheALTERDATABASECHARACTERSETcommandsinceUS7ASCIIisastrictsubsetofWE8ISO8859P1,AL24UTFFSS,andUTF8:



CurrentCharacterSetNewCharacterSetNewCharacterSetisstrictsuperset?



US7ASCIIWE8ISO8859P1yes



US7ASCIIALT24UTFFSSyes



US7ASCIIUTF8yes





假如A字符会合的每个codepoint在B字符会合都有不异的无效值,那末B字符集就能够成为A字符集的一个超集。比方,上面的迁徙计划可使用ALTERDATABASECHARACTERSET命令,由于US7ASCII是WE8ISO8859P1,AL24UTFFSS和UTF8的超集。



以后字符集新字符集新字符集是不是为超集



US7ASCIIWE8ISO8859P1是



US7ASCIIALT24UTFFSS是



US7ASCIIUTF8是







WARNING:Attemptingtochangethedatabasecharactersettoacharactersetthatisnotastrictsupersetcanresultindatalossanddatacorruption.Toensuredataintegrity,whenevermigratingtoanewcharactersetthatisnotastrictsuperset,youmustuseexport/import.ItisessentialtodoafullbackupofthedatabasebeforeusingtheALTERDATABASE[NATIONAL]CHARACTERSETstatement,sincethecommandcannotberolledback.Thesyntaxis:



ALTERDATABASE[<db_name>]CHARACTERSET<new_character_set>;



ALTERDATABASE[<db_name>]NATIONALCHARACTERSET<new_NCHAR_character_set>;







Thedatabasenameisoptional.Thecharactersetnameshouldbespecifiedwithoutquotes,forexample:



ALTERDATABASECHARACTERSETWE8ISO8859P1;







Tochangethedatabasecharacterset,performthefollowingsteps.Notallofthemareabsolutelynecessary,buttheyarehighlyrecommended:



SQL>SHUTDOWNIMMEDIATE;--orNORMAL



<doafullbackup>







SQL>STARTUPMOUNT;



SQL>ALTERSYSTEMENABLERESTRICEDSESSION;



SQL>ALTERSYSTEMSETJOB_QUEUE_PROCESSES=0;



SQL>ALTERDATABASEOPEN;



SQL>ALTERDATABASECHARACTERSET<new_character_set_name>;



SQL>SHUTDOWNIMMEDIATE;--orNORMAL



SQL>STARTUP;







Tochangethenationalcharacterset,replacetheALTERDATABASECHARACTERSETstatementwithALTERDATABASENATIONALCHARACTERSET.Youcanissuebothcommandstogetherifdesired."






这类操作的执行过程是,1)按照新的表定义建立一个临时表tmpa,2)将原表数据拷贝到临时表,3)将原始表改名tmpb,4)将tmpa改名为原表名,5)将tmpb删除。
小女巫 该用户已被删除
9#
发表于 2015-3-23 18:45:41 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-17 04:10:04 | 只看该作者
比如日志传送、比如集群。。。
蒙在股里 该用户已被删除
7#
发表于 2015-3-10 03:01:09 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
6#
发表于 2015-2-28 16:16:05 | 只看该作者
无法深入到数据库系统层面去了解和探究
小妖女 该用户已被删除
5#
 楼主| 发表于 2015-2-10 02:47:19 | 只看该作者
大侠们有推荐的书籍和学习方法写下吧。
柔情似水 该用户已被删除
地板
发表于 2015-2-4 15:13:27 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-26 12:45:54 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
莫相离 该用户已被删除
沙发
发表于 2015-1-19 21:08:54 | 只看该作者
相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 00:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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