Decode360's Blog

          業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
            302 隨筆 :: 26 文章 :: 82 評(píng)論 :: 0 Trackbacks

          ??? 最近遇到一個(gè)問(wèn)題,在sqlplus首次登錄時(shí),會(huì)調(diào)用login.sql,顯示指定的SQLPROMPT,但是當(dāng)再次使用connect命令連接其他用戶時(shí),顯示的SQLPROMPT一直無(wú)法改變,而且重新connect之后所有在login.sql中設(shè)置的屬性也全部丟失。找了很久原因之后才發(fā)現(xiàn)原來(lái)是因?yàn)镺racle的版本問(wèn)題,9i中只能在初次登錄sqlplus時(shí)才會(huì)去調(diào)用login.sql,而在10g之后,每次connect都會(huì)調(diào)用該腳本。

          ?

          ??? 下面看一個(gè)轉(zhuǎn)載的文章,說(shuō)的比較清楚:注意紅色粗體部分。

          ?

          ---------------------------------------------------------------------------------------------------------

          ?

          Storing settings for SQL*PLUS (login.sql and glogin.sql)

          ?

          glogin.sql


          ????Whenever SQL*PLUS starts up, it looks for a file namedglogin.sql under the directory $ORACLE_HOME/sqlplus/admin. If such a file is found, it is read and the containing statements executed. This allows to store settings (such as linesize) accross SQL*PLUS sessions.

          ?

          ??? New in Oracle 10g: Oracle also reads glogin.sql and login.sql at a connect in sql*plus.

          login.sql


          ??? Additionally, after reading glogin.sql, sql*plus also looks for a file named login.sql in the directory from where SQL*PLUS was and in the directory that the environment variable SQLPATHpoints to and reads it and executes it. Settings from the login.sql take precedence over settings from glogin.sql

          ?

          ??? If the restriction level is set to 3, the login.sql is not read.

          A common login.sql file

          ??? set pagesize 0
          ??? set linesize 190
          ??? define _editor=gvim

          ?

          ??? 10g

          ??? Since Oracle 10g, the login.sql is executed after a connect.

          ??? This allows to have a prompt that displays the username.

          ??? For that, the following line must be in the login.sql:
          ??? set sqlprompt "&_user> "

          ?

          ------------------------------------------------------------------------------------------------------------

          ?

          ??? 同時(shí)在10g官方文檔《SQLPlus User's Guide and Reference》里也有記載,設(shè)置SQLPLUSCOMPATIBILITY可以改變sqlplus某些屬性,其中就包括glogin/login的讀?。?/font>

          ?

          ?

          SET SQLPLUSCOMPATIBILITY {x.y[.z]}

          ?

          Value??? Consequence?????????????????????????????????????????????????????????When available
          >=10.1?? SHOW ERRORS sorts PL/SQL error messages using new???????????????????10.1
          ???????? columns only available in Oracle Database 10g.
          >=10.1?? SPOOL Options CREATE, REPLACE, SAVE were added which????????????????10.1
          ?????????may affect filename parsing on some platforms.
          >=10.1?? SET SQLPROMPT???????????????????????????????????????????????????????10.1
          >=10.1?? Whitespace characters are allowed in Windows file names that??????? 10.1
          ???????? are enclosed in quotes. Some other special punctuation characters
          ???????? are now disallowed in Windows.
          >=10.1?? Glogin/login files are called for each reconnect.???????????????????10.1
          ?<10.1???Uses the obsolete DOC> prompt when echoing /* comments.???????????? 10.1
          ?>=9.2?? A wide column defined FOLD_AFTER may be displayed at the??????????? 9.2.
          ???????? start of a new line. Otherwise it is incorrectly put at the end

          ???????? of thepreceding line with a smaller width than expected.
          ?>=9.0?? Whitespace before a slash ("/") in a SQL statement is ignored and?? 9.0.1.4.
          ???????? the slash is taken to mean execute the statement. Otherwise the
          ???????? slash is treated as part of the statement, for example, as a

          ???????? divisionsign.

          ?>=9.0?? The length specified for NCHAR and NVARCHAR2 types is???????????????9.0.1
          ???????? characters. Otherwise the length may represent bytes or
          ???????? characters depending on the character set.

          ?





          -The End-

          posted on 2009-03-11 23:49 decode360-3 閱讀(618) 評(píng)論(0)  編輯  收藏 所屬分類: Oracle
          主站蜘蛛池模板: 武定县| 潍坊市| 桑植县| 泗水县| 彝良县| 枣阳市| 遂昌县| 墨脱县| 延庆县| 佛冈县| 喀喇沁旗| 兴隆县| 法库县| 古丈县| 大石桥市| 永定县| 宝丰县| 松江区| 弋阳县| 渝中区| 佛坪县| 甘谷县| 柏乡县| 玛多县| 长治县| 洪雅县| 黔江区| 射阳县| 景宁| 内江市| 呼玛县| 富宁县| 昌乐县| 巴楚县| 灵璧县| 思南县| 贡山| 鹤壁市| 德庆县| 彩票| 吴江市|