欢迎来到天天文库
浏览记录
ID:34724822
大小:118.68 KB
页数:12页
时间:2019-03-10
《oracle11g学习笔记》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Oracle11g学习笔记(一)Oracle数据库有其它数据库所没有的Schema,亦即某个用户user1建立的table,专属于该用户的Schema。别的用户要存取,必须在table前面加上「建立的用户名称」,如:select*fromuser1.table1;若要让ASP.NET能顺利联机,最简单的方式,就是建立table、联机账号,都用同一个Oracle的用户。如此一来,SQL语句的每个table前面,即不用再加上「建立的用户名称」,如:select*fromtable1;即使最高权限的System,Sys用户,要读取一般用户建的table亦然。另外一种解决方式,就是授予该tabl
2、e一个所有人可共享的「synonym(同义字;别名)」,如:createpublicsynonym别名名称for建立表的用户.表名称;droppublicsynonym别名名称;(二)设定让某个Oracle的用户,具有存取某个或全部table的权限:grantselectanytableto使用者;grantselecton建立表的用户.表名称to用户名称;grantallon表名称topublic;但这和之前(一)的Schema无关。亦即在Oracle中,某个用户建立的表,别的用户即使有权限读取,仍要在表的前面加上「建立的用户名称」,如:select*fromuser1.table1;
3、(三)Web.config可用的Oracle联机设定: (1)VisualStudio内建的OracleClient、OleDb: (2)要另外从Oracle网站下载的: 4、eDb"/>但要注意,VisualStudio2005/ADO.NET2.0内建的OleDbforOracle无法正确显示、写入特殊字符和他国文字,必须改用OracleClient,或用Oracle官方提供的OleDb才能处理Unicode中的特殊字符。一些ASP.NET+Oracle11g系统边写边学的随笔,包括Oracle的「批次更新」,以及将Oracle内部编码设定为Unicode字符集。(四)Oracle的「批次(batch)更新」、「批次新增」、「批次删除」语法Oracle仍可如SQLServer、Sybase数据库,用「分号(;)」隔离多个SQLstatement,只是Ora5、cle前后要再加上begin、end关键词,例如:stringstrSql="begininsertintotable01(id,name)values(99,'test');insertintotable01(id,name)values(99,'test');end;";stringstrSql="beginupdatetable01setname='test2'whereid=99;updatetable01setname='test2'whereid=99;end;";stringstrSql="begindeletefromtable01whereid=99;deletefro6、mtable01whereid=19;end;";因Oracle语法较严谨,不能直接在SQL语句中,出现「;」等特殊符号。(五)让Oracle支持Unicode处理Oracle11g刚装好时,预设的字符集,会无法处理他国语言的文字。若您在SqlPlus输入指令:SELECTparameter,valueFROMv$nls_parametersWHEREparameterLIKE'%CHARACTERSET';会看到以下的NLS_LANG信息:--------------NLS_CHARACTERSETZHT16MSWIN950(繁体中文)或ZHS16GBK(简体中文)NLS_NCHAR_7、CHARACTERSETAL16UTF16--------------接下来,我们要透过「ALTERDATABASECHARACTERSET」这个指令,去更改Oracle内部的字符集编码方式。请先在sqlplus程序中,用sysdba角色进入,指令如下:connectsys/密码assysdba;接着再输入下列指令,执行完后即会自动执行转换的工作:shutdownimmediate;STARTUPMOUNT;ALTERSESSION
4、eDb"/>但要注意,VisualStudio2005/ADO.NET2.0内建的OleDbforOracle无法正确显示、写入特殊字符和他国文字,必须改用OracleClient,或用Oracle官方提供的OleDb才能处理Unicode中的特殊字符。一些ASP.NET+Oracle11g系统边写边学的随笔,包括Oracle的「批次更新」,以及将Oracle内部编码设定为Unicode字符集。(四)Oracle的「批次(batch)更新」、「批次新增」、「批次删除」语法Oracle仍可如SQLServer、Sybase数据库,用「分号(;)」隔离多个SQLstatement,只是Ora
5、cle前后要再加上begin、end关键词,例如:stringstrSql="begininsertintotable01(id,name)values(99,'test');insertintotable01(id,name)values(99,'test');end;";stringstrSql="beginupdatetable01setname='test2'whereid=99;updatetable01setname='test2'whereid=99;end;";stringstrSql="begindeletefromtable01whereid=99;deletefro
6、mtable01whereid=19;end;";因Oracle语法较严谨,不能直接在SQL语句中,出现「;」等特殊符号。(五)让Oracle支持Unicode处理Oracle11g刚装好时,预设的字符集,会无法处理他国语言的文字。若您在SqlPlus输入指令:SELECTparameter,valueFROMv$nls_parametersWHEREparameterLIKE'%CHARACTERSET';会看到以下的NLS_LANG信息:--------------NLS_CHARACTERSETZHT16MSWIN950(繁体中文)或ZHS16GBK(简体中文)NLS_NCHAR_
7、CHARACTERSETAL16UTF16--------------接下来,我们要透过「ALTERDATABASECHARACTERSET」这个指令,去更改Oracle内部的字符集编码方式。请先在sqlplus程序中,用sysdba角色进入,指令如下:connectsys/密码assysdba;接着再输入下列指令,执行完后即会自动执行转换的工作:shutdownimmediate;STARTUPMOUNT;ALTERSESSION
此文档下载收益归作者所有