博客

  • SUN認證:JSP、ASP.NET的存儲過程

     在Java中的JSP、JSP+JSTL,.Net中的asp.net結合SQL Server數據庫開發中,把存儲過程使用的常規方法和最簡方式介紹一下。

        本文以SQL Server2000例

        一、在JSP(JSTL)中使用存儲過程:

         1、Java中存儲過程的標準使用方法:

        可實現存儲過程中的各種功能,和最簡方法相比,它可以得到out參數和過程返回值。 ?就是參數的佔位符,一個問號代表有一個參數

         String proc = “{call procname (?,? )}”;
         CallableStatement stat = con.prepareCall(proc);
         //第一個參數為in的話,說明?號應為英文輸入法下的,這個博客不能輸入英文的問號。
         stat.setString(1,’paravalue’);//設置參數值
         //第二個參數作out的話
         stat.registerOutParameter(1,java.sql.Types.VARCHAR);//設置參數類型
         stat.execute();
         String paraValue = stat.getString(2);//得到out參數值

    例如:

         <%@page import=“java.sql.*”%>
         <%@page import=“java.text.*”%>
         <%@page contentType=“text/html;charset=GB2312”%>
         <%@include file=“opendata.jsp”%>
         <%
         String strSQL = “{call pdrivertotal( , )}”;
         CallableStatement stmt = con.prepareCall(strSQL);
         stmt.setString(1,“2005-08-20”);
         stmt.setString(2,“2005-10-01”);
         stmt.execute();
         %>

         2、存儲過程的最簡寫法:

        思路:將過程當作普通的sql語句去執行,也就是和查詢、更新的寫法是一樣。可實現執行過程並且得到相關的數據集,但它不能得到

    過程的out輸出參數,開發中90%的情況下皆適用。

         String proc = “exec過程名”+參數1+“,”+參數2;
         Statement stat = con.createStatement();
         ResultSet rs = stat.executeQuery(proc);

    例如:

         //在JSP中使用
         <%
         Statement stat = con.createStatement();
         ResultSet rs = stat.executeQuery(“zyfproc 20 ’姓名’”);
         //zyfproc為存儲過程名20為int型參數,姓名為varchar類參數
         %>
         //在使用了jstl標籤的jsp中使用
         <!–執行存儲過程–>
         <sql:update var=“proc” sql=“exec jproc ?,?” dataSource=“${ds}”>
         <!–說明?號應為英文輸入法下的,這個博客不能輸入英文的問號。 –>
         <sql:param value=“${param.hid}”/>
         <sql:param value=“${param.sid}”/>
         </sql:update>

        二、在asp.net(C#)中,使用存儲過程:

         1 C#中存儲過程的使用標準版

         private void sql_proc()
         {
         SqlConnection conn=new SqlConnection(“server=.;uid=sa;pwd=1234;database=china”);
         string sql=“proc_out”;
         SqlCommand comm=new SqlCommand(sql,conn);
         //把Command執行類型改為存儲過程方式,默認為Text。
         comm.CommandType=CommandType.StoredProcedure;
         //傳遞一個輸入參數,需賦值
         SqlParameter sp=comm.Parameters.Add(“@uid”,SqlDbType.Int);
         sp.Value=10;
         //定義一個輸出參數,不需賦值。 Direction用來描述參數的類型
         //Direction默認為輸入參數,還有輸出參數和返回值型。
         sp=comm.Parameters.Add(“@output”,SqlDbType.VarChar,50);
         sp.Direction=ParameterDirection.Output;
         //定義過程的返回值參數,過程執行完之後,將把過程的返回值賦值給名為myreturn的Paremeters賦值。
         sp=comm.Parameters.Add(“myreturn”,SqlDbType.Int);
         sp.Direction=ParameterDirection.ReturnValue;
         //使用SqlDataAdapter將自動完成數據庫的打開和關閉過程,並執行相應t-sql語句或存儲過程
         //如果存儲過程只是執行相關操作,如級聯刪除或更新,使用SqlCommand的execute方法即可。
         SqlDataAdapter da=new SqlDataAdapter(comm);
         DataSet ds=new DataSet();
         da.Fill(ds);
         //在執行完存儲過程之後,可得到輸出參數
         string myout=comm.Parameters[“@output”].Value.ToString();
         //打印輸出參數:
         Response.Write(“打印輸出參數:”+myout);
         //打印存儲過程返回值
         myout=comm.Parameters[“myreturn”].Value.ToString();
         Response.Write(“存儲過程返回值:”+myout);
         this.DataGrid1.DataSource=ds;
         this.DataGrid1.DataBind();
         }

    2存儲過程的使用最簡版:

         private void sql_jyh()
         {
         //最簡寫法,把存儲過程當作t-sql語句來使用,語法為:exec過程名參數
         SqlConnection conn=new SqlConnection(“server=.;uid=sa;pwd=1234;database=china”);
         string sql=“execute proc_out 10,’12’”;
         SqlCommand comm=new SqlCommand(sql,conn);
         //使用SqlDataAdapter將自動完成數據庫的打開和關閉過程,並執行相應t-sql語句或存儲過程
         //如果存儲過程只是執行相關操作,如級聯刪除或更新,使用SqlCommand的execute方法即可。
         SqlDataAdapter da=new SqlDataAdapter(comm);
         DataSet ds=new DataSet();
         da.Fill(ds);
         //綁定數據
         this.DataGrid1.DataSource=ds;
         this.DataGrid1.DataBind();
         }

        總結,對於SQLServer庫而言,無論用什麼語言,都可以這樣來使用,即當作普通查詢語句。

         string sql=“execute proc_out 10,’12’”;

        把這個sql作為參數,在java或者C#中均能得到正確的執行。這也是使用存儲過程的最簡方法。

  • Cisco ADSL配置說明

     !
    vpdn enable
    no vpdn logging <=由於ADSL的PPPoE應用是通過虛擬撥號來實現的所以在路由器中需要使用VPDN的功能
    !
    vpdn-group pppoe <=為PPPoE啟動了VPDN的進程
    request-dialin
    protocol pppoe <=設置撥號協議為PPPoE
    !
    interface FastEthernet0 <=設置公司內部網絡地址
    ip address 192.168.0.1 255.255.255.0
    ip nat inside <=為啟用NAT轉換,設置Fast ethernet端口為內部網絡,從內部網絡收到的數據的原地址轉換為公網地址
    !
    interface ATM0 <=設置ADSL端口
    no ip address <=請不要設置地址
    no atm ilmi-keepalive
    bundle-enable
    dsl operating-mode auto
    hold-queue 224 in
    interface ATM0.1 point-to-point <=ADSL的通訊依靠VC,所以必須設定點到點VC
    pvc 8/35 <=設置PVC的相關參數,即VCI和VPI的值,如果不清楚請向局端查詢
    pppoe-client dial-pool-number 1 <=PPPoE撥號進程使用了常規的撥號進程,這裡引用了dialer-pool 1
    !
    interface Dialer1 <=建立一個虛擬撥號端口ip address negotiated <=由於局端提供動態地址,所以必須設定地址為協商獲得
    ip mtu 1492 <=修改mtu值以適用於ADSL網絡
    ip nat outside <=為啟用NAT轉換,設置該端口為外部網絡
    encapsulation ppp <=使用PPP的幀格式
    dialer pool 1
    ppp authentication pap callin <=設置撥號的驗證方式為pap
    ppp pap sent vip pass vip <=發送用戶名和密碼
    ip nat inside source list 1 interface Dialer1 overload
    <=設置了NAT的轉換方式,使用了dialer 1端口的動態地址
    ip classless
    ip route 0.0.0.0 0.0.0.0 dialer1
    <=將所有不可路由的數據報轉發給ADSL線路,設定缺省路由
    no ip http server
    !
    access-list 1 permit 10.92.1.0 0.0.0.255
  • 全面解析Oracle認證及如何準備考試(上)

    總的來說,IT業對專家的要求很高,職業競爭壓力很大。無論是新進入這個行業的人,還是此行業中的老手,都需要知道他們的那些技術背景能真正吸引到雇主的眼光。

    一、 Oracle,僅次於微軟的世界第二大軟件公司

    Oracle雖然規模很大,但名聲不像微軟、IBM那樣顯赫,很多非計算機專業的在校學生不知道Oracle是何物。但是如果你是一位想在畢業後進入IT行業的學生,那麼,你必須知道什麼是Oracle.

    首先,Oracle是一家軟件公司。這家1977成立於加利福尼亞的軟件公司是世界上第一個推出關係型數據管理系統(RDBMS)的公司。現在,他們的RDBMS被廣泛應用於各種操作環境:Windows NT、基於UNIX系統的小型機、IBM大型機以及一些專用硬件操作系統平台。事實上,Oracle已經成為世界上最大的RDBMS供應商,並且是世界上最主要的信息處理軟件供應商。現在,Oracle是僅次於微軟公司的世界第二大軟件公司,2000年的銷售額為101億美元。現在Oracle在世界範圍內大約聘用了4萬3千多名專業技術人員,在美國本土有2萬1千名。有趣的是,即使在美國本土,Oracle的技術人員(主要是程序員)中有40%是印度人,中國人是第二多的,其次才是美國人。

    然後,Oracle是一個龐大的品牌系統。如前所述,Oracle不僅在全球最先推出了RDBMS,並且事實上掌握著這個市場的大部分份額,由於Oracle公司的RDBMS都以Oracle為名,所以,在某種程度上Oracle己經成為了RDBMS的代名詞。而近幾年來,Oracle不斷積極地擴展自己的業務,成功地開發了許多橫向和縱向的產品,譬如Oracle自己設計生產的Oracle服務器,面對商業客戶的商業交易系統(Oracle Exchange),Oracle數據中心等等。同時,Oracle還成功開發出了很多面對程序員的開發工具,譬如著名的Designer/2000計算機輔助系統工程(CASE)工具和Developer/2000開發包,這些工具作為“設計器”和“開發器” ,有力地幫助了程序員的開發工作,也有力地提高了Oracle的聲譽。此外,Oracle還開發了一系列面對不同對象的應用軟件,它們被統稱為Oracle應用軟件。這些軟件使得Oracle被廣泛應用到各個領域,同時也為Oracle帶來滾滾財源。比較常見的Oracle軟件產品包括:

    。 Oracle財務軟件(Oracle Financial)。 Oracle製造業軟件(Oracle Manufacturing)。 Oracle人力資源軟件(Oracle Human Resources)。 Oracle自動控制軟件(Oracle Automotive)。 Oracle商業交易系統(Oracle Exchange)

    以及其他的應用軟件。這些軟件連同OracleRDBMS使得Oracle成為一個龐大的品牌系統,深入到了人們生產和生活的各個領域。

    由於Oracle擁有多年在各種行業下的多種解決方案,擁有基於不同客戶環境的Oracle RDMBS服務器工具及規模巨大的應用軟件系統,而且,這個龐大的系統正在不同程度、不同層次地為各行各業所廣泛應用。因此,能夠熟練掌握這個系統的某些方面及適應這個系統的不斷更新的專業工程師必然是各界急需的人才,有著良好的就業前景。事實上,Oracle公司也認識到了這一點,這就是Oracle認證專家——OCP(Oracle Certified Professional)的由來。
    二、Oracle認證種類介紹

    Oracle認證專家——OCP,是由Oracle公司授權國際考試認證中心對考生進行的資格認證。考生按考試標準要求參加幾門課程的考試(一般為3—5門),在通過全部考試後,便可獲得OCP的專家認證。

    目前OCP認證考試分為:

    Database Administrator:數據庫管理員考試認證,簡稱DBA.數據庫管理員負責對數據庫進行日常的管理、備份及數據庫崩潰後的恢復問題。

    Database Operator:數據庫操作員認證考試,簡稱DBO.數據庫操作員主要是基於Windows NT的Oracle 8數據庫管理,能夠熟練應用OEM等工具完成對數據庫的操作及日常的管理工作。

    Database Developer:數據庫開發員認證考試,簡稱DEV.數據庫開發員應能熟練掌握用Developer/2000的工具建立各種Forms應用程序,建立各種標準的以及自定義的報表。

    Java Developer:Java開發人員考試。

    Application Consultant: Oracle產品應用諮詢顧問。

    其中,Oracle DBA是最吃香,但也是最難考的一個認證。在Oracle的官方網站上,對DBA有以下說明:

    Oracle DBA專家可以跟上如今日趨複雜的系統環境要求。最好的DBA們都在幕後工作,他們小心地維護著系統,使得系統可以每天都平穩地運轉,並且防止意外災難的發生,譬如數據庫崩潰或者成小時地宕機。這項艱鉅的任務需要對Oracle數據庫的結構和運行方式有著廣泛泛深入的了解,並且有豐富的實戰經驗。最好的DBA可以在取得最佳運行狀態及防止他們公司停止運行的突發事件中找到平衡。 Oracle DBA認證考試就是提供一個證明該人可以勝任Oracle DBA這一職務的認證。本認證考試設計了5門獨立的考試,使你可以利用良好的知識獲得一個專家認證。

    三、如何參加考試?

    OCP認證的所有考試也是通過Prometric公司組織的,具體的考試事宜請訪問它的官方網站:www.prometric.com.cn

    目前OCP每門考試的費用為125美元。

    四、如何準備考試?

    1、Oracle公司推薦的官方准備途徑

    一般來講,Oracle的考試內容比較多,並且考題也很細,對動手能力要求很強。因此,為了有足夠的把握,一定要提前充分準備,而且一定要注重動手實踐。在Oracle官方網站上推薦的通過認證的途徑如下,可以進行參考。

    Oracle大學:Oracle大學提供的教師引導及基於技術的訓練(Instructor-led training and technology- based training)是準備OCP認證的最好方式,這些課程將為你打下需要通過OCP認證的知識基礎。你可以查閱一下課程表來選擇理想的準備方式,你當地的Oracle大學可以在這方面給你一些最好的建議。你可以訪問Oracle的網站http://education.oracle.com,獲得更多的信息。

    自己準備:實戰經驗是加深你對Oracle考試內容理解的最好方式。 Oracle建議你將理論學習拓展,在實際工作或是練習中使用新學到的技巧和知識來自學。

    考試內容檢查表:使用考試內容檢查表(Test Content Checklist)來確定你必須準備的所有題目。 Oracle會不斷地更新考試內容檢查表,所以請訪問Oracle網站httP://www.oracle.com/education/certification,下載最新的考試指南。

    其它考試工具:模擬考試題及自我測試軟件可以幫助你更好地準備OCP認證考試。 Oracle和自我測試軟件公司(Self Test Software)聯合出品了一些高質量的考試軟件以幫助考生更好地準備OCP認證考試,這些軟件可以通過Oracle網站http://www.oracle.com/education/certification定購。

    事實上,絕大部分的大陸同學都是通過參加培訓班來準備考試的,它們不僅輔導通過考試的知識,而且其他信息包括如何報名,考場上如何應考,都可以得到輔導。以上Oracle官方的介紹只是一般地對你進行一下有關備考的初級教育,事實上,正像我們前面說過的,作為一個龐大的數據庫系統,要想掌握好Oracle(更不要說完全掌握了——我甚至懷疑是否有人真正完全掌握過Oracle),從任何角度而言都不是一件易事。除非你有足夠的決心和耐心,準備將Oracle當作你的職業之路並致力於數據庫技術的研究,你才有可能真正了解這個龐雜系統的精髓。以下的一些論述將有助於你對Oracle有一個初步的了解。

  • 全面解析Oracle認證及如何準備考試(下)

      2、Oracle數據庫技術基本知識

    (1)Oracle數據庫涵蓋了數據庫技術的方方面面。

    儘管關係型數據庫從原理上來講並不是很難,有一些數據庫知識的人掌握這些原理並不會花很大的氣力,而且,一般的關係型數據庫軟

    件,譬如SQL Server,用起來並不復雜,但Oracle絕對與眾不同。作為有史以來最成功的關係型數據庫軟件,Oracle的實現方式和管理維

    護手段非常豐富,它涉及到很多方面的細節技術。單從任何一個側面來理解它,是難觀其全貌的。要想真的精通它,沒有兩三年功夫是不行

    的。單是Oracle的技術文檔,就足夠淹沒你的!具體說來,Oracle技術包括以下幾個主要方面:Oracle系統結構和原理、Oracle數據庫的安

    裝和配置、Oracle數據庫的管理、Oracle的數據備份與恢復技術、Oracle的性能調整、Oracle的新產品特性(Java支持、應用服務器、時間

    空間系列、文本服務等)、Oracle的並行服務器技術、Oracle的數據倉庫技術、Oracle的對像類型和對像一關係模型等技術……

    毫不誇張地說,以上任何一個部分單獨拿出來都是很大的題目!

    (2)Oracle技術發展快,技術的關聯性大。

    儘管Oracle只是一個數據庫系統,但在實際應用中,你不可能只面對數據庫本身。譬如,你在做Oracle數據庫的網絡管理,你將不可避

    免地遇到如何與網絡通訊、防火牆的技術兼容的問題。同理,你在做其它方面的工作,也肯定有方方面面的技術關聯問題需要解決。而且更

    要命的是,這些技術(包括Oracle本身)發展速度都非常快,這就使得跟上它們的發展成為一件十分費勁的事情。

    不過幸運的是,我們並不需要同時了解Oracle的所有方面,Oracle提供了很多應用方向,我們可以按照偏好,選擇其中的一個方向,集

    中時間和精力,努力在這個方向做到有所成就還不是一件很難的事情。由於Oracle目前已是世界上最主要的數據庫供應商和第二大軟件公司

    ,Oracle的數據庫技術已經被廣泛應用於各個領域,因而市場上對Oracle人才的需求量是相當之大,獲得OCP認證不愁找不到工作。而以後

    我們可以在工作中學以致用,再努力地鑽研Oracle數據庫及相關技術。
    3、入門者如何起步?

    說了這麼多,想必您可能已經有些心動,那麼,面對Oracle這樣一個龐然大物,你也許會覺得無從下手。為此,我們有一些建議:

    (1)找一本有關數據庫原理的書,掌握關係數據庫的基本原理——如果你沒有學過這樣的課程的話。

    (2)閱讀參考書並結合上機操作,掌握SQL的一般原理及基本用法。

    (3)至少買一本Oracle入門級的參考書,並找到一台安裝了Oracle的某個版本(Oracle7.3以上,最好是Oracle 8)計算機,建立起上機

    學習環境。

    其中第三點尤其重要,因為沒有實踐經驗,想通過Oracle認證只是癡人說夢。或者如果你的預算比較充分,你可以選擇參加培訓。在選

    擇培訓班的時候一定要選擇Oracle授權的培訓班,這樣培訓的質量才有保證,同時,在報名考試的時候還可以享受一定的折扣。

    與其他很多考試不同,OCP並沒有真正意義上的參考書,你要做的就是在上機中不斷熟悉Oracle的各種應用,書只是用來查閱和參考的

    。因為從根本上來講,Oracle數據庫是一門實踐性很強的技術,而Oracle認證主要考的是動手能力。因此,沒有實踐經驗,而只靠背學習資

    料是根本無法通過Oracle認證考試的。以下是市面上常見的一些書,在此列出,希望能對大家有一些幫助。

    初級的:《輕鬆掌握SQL結構化查詢語言》,《輕鬆掌握Oracle數據庫開發》,《Oracle開髮指南》,《Oracle初學者指南》,

    《Oracle8 PL/SQL程序設計》。

    高級的;《Oracle服務器技術精粹》,《Oracle8/8i開發使用手冊》,《Oracle8份與恢復手冊》,《Oracle8性能優化與管理手冊》。

    五、獲得OCP認證的好處

    在Oracle的官方同站上,Oracle公司詳細列舉了獲得OCP認證的種種好處,雖然有自賣自誇之嫌,但總的來說還是很有道理的。大家不

    妨跟我們一起看看。

    總的來說,IT業對專家的要求很高,職業競爭壓力很大。無論是新進入這個行業的人,還是此行業中的老手,都需要知道他們的那些技

    術背景能真正吸引到雇主的眼光。同時,雇主們也需要一個標準幫助他們挑選出那些技術上真正過硬的僱員。 OCP認證就能夠幫助IT業界建

    立起面向特定職位的選擇標準。 OCP認證是一個有價值的、業界承認的標準,這個標準可以證明持證者的知識和能力水平。

    Oracle認證對技術專家的好處:OCP認證可以給你一個鮮明的優勢。 OCP認證可以表明你對某一職位及相關的Oracle產品有著深刻的理解

    。成為一個OCP認證專家可以幫助你被更多的雇主注意到,並且增加你獲得IT業最具挑戰性機遇的機會。 OCP認證專家們證實了OCP認證的價

    值:97%的OCP認為他們獲益於OCP認證;89%的OCP認為獲得認證後,他們在Oracle專家的職位上更具信心;96%的OCP認為他們會建議職業學校

    (professional College,普遍存在於美國的一種職業教育方式)開相應的課程。

    Oracle認證對IT雇主的好處:OCP認證同時可以幫助IT業的人事經理在應聘者中挑選出符合挑戰性職位的員工。對於那些每年把員工送

    去培訓的公司,認證可以保證他們在培訓上的錢沒有白花——他們的員工獲得了對於深入理解和必要的知識。公司也可以把認證和員工的職

    業發展聯合起來,這樣可以增強員工的忠誠度及他們在職業崗位上的表現。同時,僱用獲得認證的專家可以直接提高公司的實力,國際數據

    公司(International Data Corporation)的一項研究顯示了這一點。這項研究指出獲得認證的專家比那些沒有通過認證的平均每人每天多處

    理40%的支持電話;僱用認證專家的公司比那些沒有僱用的公司宕機的時間少49%;對大多數公司的調查顯示,在不到9個月內,認證專家為他

    們節約的費用就超過了他們送專家去培訓並獲得認證的費用。

  • Linux資格認證考試綜合輔導:備份與壓縮命令

    用戶經常需要備份計算機系統中的數據,為了節省存儲空間,常常將備份文件進行壓縮。下面分別介紹備份與壓縮的命令。

    tar命令

    tar可以為文件和目錄創建檔案。利用tar,用戶可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加

    入新的文件。 tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案,如軟盤。利用tar命令,可以把一大堆的文件和目

    錄全部打包成一個文件,這對於備份文件或將幾個文件組合成為一個文件以便於網絡傳輸是非常有用的。 Linux上的tar是GNU版本的。

    語法:tar [主選項+輔選項]文件或者目錄

    使用該命令時,主選項是必須要有的,它告訴tar要做什麼事情,輔選項是輔助使用的,可以選用。

    主選項:

    c創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。

    r把要存檔的文件追加到檔案文件的未尾。例如用戶已經作好備份文件,又發現還有一個目錄或是一些文件忘記備份了,這時可以使用

    該選項,將忘記的目錄或文件追加到備份文件中。

    t列出檔案文件的內容,查看已經備份了哪些文件。

    u更新文件。就是說,用新增的文件取代原備份文件,如果在備份文件中找不到要更新的文件,則把它追加到備份文件的最後。

    x從檔案文件中釋放文件。

    輔助選項:

    b該選項是為磁帶機設定的。其後跟一數字,用來說明區塊的大小,系統預設值為20(20*512 bytes)。

    f使用檔案文件或設備,這個選項通常是必選的。

    k保存已經存在的文件。例如我們把某個文件還原,在還原的過程中,遇到相同的文件,不會進行覆蓋。

    m在還原文件時,把所有文件的修改時間設定為現在。

    M創建多卷的檔案文件,以便在幾個磁盤中存放。

    v詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。

    w每一步都要求確認。

    z用gzip來壓縮/解壓縮文件,加上該選項後可以將檔案文件進行壓縮,但還原時也一定要使用該選項進行解壓縮。

    例1:把/home目錄下包括它的子目錄全部做備份文件,備份文件名為usr.tar。

    $ tar cvf usr.tar /home

    例2:把/home目錄下包括它的子目錄全部做備份文件,並進行壓縮,備份文件名為usr.tar.gz 。

    $ tar czvf usr.tar.gz /home

    例3:把usr.tar.gz這個備份文件還原並解壓縮。

    $ tar xzvf usr.tar.gz

    例4:查看usr.tar備份文件的內容,並以分屏方式顯示在顯示器上。

    $ tar tvf usr.tar | more

    要將文件備份到一個特定的設備,只需把設備名作為備份文件名。

    例5:用戶在/dev/fd0設備的軟盤中創建一個備份文件,並將/home目錄中所有的文件都拷貝到備份文件中。

  • Linux認證:為何SAP與Oracle排斥Ubuntu?

    雖然Canonical公司不斷增加Ubuntu的合作夥伴,但至少有兩個重要的軟件供應商仍然不支持Ubuntu Linux 。

    資料:

    Kubuntu與Xubuntu是Ubuntu計劃正式支援的衍生版本,分別將KDE與Xfce桌面環境帶入Ubuntu,Edubuntu是一個針對學校教學環境而設計,試圖讓低齡兒童可以輕鬆學會使用的衍生版本。

    Ubuntu建基於Debian的不穩定分支:不論其軟件格式(deb)還是軟件管理與安裝系統(Debian Apt/Synaptic)。 Ubuntu的開發者會把對軟件的修改及時反饋給Debian社群,而不是在發布新版時才宣布這些修改。事實上,很多Ubuntu的開發者同時也是Debian主要軟件的維護者。不過,Debian與Ubuntu的軟件並不一定完全兼容,也就是說,將Debian的軟件包安裝在Ubuntu上可能會出現兼容性問題,反之亦然。

    Ubuntu的運作主要依靠Canonical有限公司的支持,同時亦有來自Linux社區的熱心人士提供協助。 Ubuntu的開發人員多稱馬克?舍特爾沃斯為SABDFL(是self-appointed benevolent dictator for life的縮寫,即自封的項目決策者)。在2005年7月8日,馬克?舍特爾沃斯與Canonical有限公司宣布成立Ubuntu基金會,並提供1千萬美元作為啟始營運資金。成立基金會的目的是為了確保將來Ubuntu得以持續開發與獲得支持,但直至2006年,此基金會仍未投入運作。馬克?舍特爾沃斯形容此基金會是在Canonical有限公司出現財務危機時的緊急營運資金。

    目前,Ubuntu的最新長期支持版本為‘Hardy Heron’,即在2008年4月24日所推出Ubuntu 8.04 LTS(長期支持版),使用者可以透過船運服務(shipit)來獲得免費的安裝光碟。前一個LTS版本(Ubuntu 6.06)也有提供免費船運服務,然而其後的Ubuntu 6.10版卻沒有提供免費的船運郵寄光碟服務,使用者只可由網站上下載光碟映像檔燒錄並安裝。 Ubuntu 6.06釋出當時曾有消息指出往後不會再對非長期支持版提供船運服務,但在Ubuntu7.04版推出時,船運服務再度啟動,而此版並非長期支持版。

    已於2008年4月發布的Ubuntu 8.04和6.06一樣,都有著Long Term Support (LTS)的標籤,代表著這個版本也將獲得更長時間的技術支援(Desktop版3年,Server版5年)。

    Ubuntu急於爭取Oracle支持

    Linux廠商Canonical正在努力為Ubuntu Linux發行版,獲得更多的軟件和硬件認證。在其最新一輪的合作夥伴關係中,Canonical正在擴大其與IBM,Alfresco, Zimbra,Likewise, Centrify等之間的合作關係。

    然而雖然Canonical展示了努力擴大其聯盟的勢頭,但至少有兩家知名的公司不在Ubuntu的合作夥伴關係中。目前Oracle公司和SAP公司都不支持Ubuntu,並且都沒有想要立即合作的計劃。並且Linux系統上的競爭對手Red Hat公司和Novell公司都得到Oracle和SAP的認證,它們有可能將Ubuntu排除在Linux的部署之外。

    Canonical的ISV合作聯盟經理的Malcolm Yates在internetnews.com上聲稱: “Oracle and SAP是我們繼續致力於爭取的兩個大的軟件合作商。他們都有不一定要轉移到Ubuntu的原因。從ISV舊的案例告訴我們,轉移到另一OS的供應商有可能要重新分配我們已具備資源,我們為什麼要轉移到另一OS的供應商,而且我們必須要重新培訓我們所有的人員。”

    Oracle在1998年對Linux的支持,一直被專家認為是Linux在操作系統市場上成功的最關鍵原因之一。 Ubuntu在過去的四年裡的已獲得了使用者的認可,經常在Linux發行版情報網站distrowatch和其它地方人氣高居榜首。儘管其有這種明顯的人氣,但Oracle還是對Ubuntu不太感興趣。

    “Oracle公司目前尚無支持Ubuntu Linux的計劃, ”一位Oracle發言人在發向internetnews.com的一封電子郵件中寫到。 “Oracle的支持的發行版是Novell的SLES , Red Hat的RHEL ,Asianux和Oracle Enterprise Linux 。這些決定是基於客戶的需求以及Oracle在Linux系統應用開發上的重心” 。 Oracle Enterprise Linux是Oracle發行的自己的Linux版本,它是基於Red Hat Enterprise Linux系統。今年早些時候,Oracle聲稱,它的Linux版本已有超過2000個客戶。因此安裝Oracle Linux的收入至少是5億美元。

    Yates稱:“我們之前已經和他們(Oracle)談過了,我認為Oracle和大多數獨立軟件開發商是不同的,因為他們有自己的Linux ,我認為相比較讓他們開始出售Ubuntu,比出售自己的Linux更困難。”他補充說,他很想取得Oracle公司的支持,但短期內還沒有這個打算。

    SAP堅持他的決定

    SAP公司,雖然並沒有自己的Linux,但目前它也不打算支持Ubuntu。

    “ SAP公司支持Red Hat Enterprise Linux和Novell SUSE Linux Enterprise Server , ” SAP的行業標準副主席Michael Bechauf,告訴internetnews.com 。 “在這個時候,我們是回應客戶在企業空間的需求,將決定我們支持相應的戰略” 。

    雖然目前Oracle和SAP還不支持者Ubuntu, IBM公司,作為企業軟件的支柱,自2005年以來就一直支持Ubuntu。然而IBM公司的支持並不全面,起初只是對DB2數據庫產品的認證。上週, IBM和Canonical的合作夥伴關係擴大到包括IBM Lotus Symphony辦公軟件,IBM Lotus Symphony是“不用微軟”(Microsoft-free)計劃的一部分。然而,IBM與Ubuntu的伙伴關係,並沒有到達IBM與Red Hat以及Novell的合作水平。

    “我們與Ubuntu合作的重點是Ubuntu正在牽引我們發展的領域, ” IBM的Linux主任Inna Kuznetsova,告訴internetnews.com 。 “至於其他地區,我們將不斷探討,因為他們也在逐漸成長。我們與Red Hat和Novell的合作關係是非常穩健的,包括所有IBM服務器線路和支持數量龐大的IBM中間件產品” 。

    從網絡資源內容管理軟件開發商Alfresco的數據來看,越來越多的人在使用Ubuntu系統。從其最近的開放源代碼的統計來看,該公司報告說, 23 %的用戶使用Ubuntu系統, 35 %的用戶使用Red Hat Linux。

    Ubuntu逐漸得到更廣泛的接受, Yates很清楚Canonical公司下一步需要做什麼。 Canonical公司將致力於使製造商安裝使用Ubuntu系統,並繼續建立一個合作夥伴系統。 Canonical為Dell電腦提供預安裝Ubuntu系統,特惠商品的貨架上也開始出售Ubuntu系統。 Yates稱: “它的所有有關的認證和系統建設,正是我們一直在努力方向,合作夥伴和適用的應用軟件是成功的關鍵。作為應用軟件,我們將一直致力於應用軟件的開發” 。

    雖然Oracle和SAP目前不支持Ubuntu的,但還是有很多其他廠商支持。 Yates聲稱: “有越來越多的機會在那裡,我們公司還在不斷的成長” 。

  • Sun認證Java程序員(SCJP)考試心得

     Java以其平台無關性、面向對象、支持多線程等優點成為越來越多的程序開發人員的新寵,Java技術以其獨特的優勢在越來越多的領域得

    使用和發展。作為程序開發人員,為了檢驗對Java掌握的程度,參加Sun公司的Java認證考試是比較好的一個方法。兩週前,我以83%成績通過了SCJP1.4的認證考試,有一些體會想與大家分享。

        想順利通過考試,可以從以下幾個方面著手:

         1.參加培訓或自學Java經典課程。如果有C語言和麵向對象的基礎,只需自學SL275課程以及JDK1.4 API,否則應該參加相應的培訓班進

    行學習。我對C語言和麵向對像都有一些基礎,同時又參加了SL275+Weblogic+JSP課程的學習。

         2.確定考試版本,明確考查的知識點及知識點的考查難度。目前SCJP考試有兩個版本1.2和1.4,兩個版本的比較如下表:

        其中選擇題有兩種形式:(1)給出一段代碼讓選擇其運行結果;(2)給出關於某基本概念的一些描述語句讓選擇正確的答案。填空題一

    般是給出一段正確的代碼,不提供選擇項,而讓你填寫上運行結果。

        兩個版本考查的知識點最大的差別在於310-025包含I/O、AWT,且對各個知識點的考查難度相對較容易,而310-035中去掉了I/O和AWT部分的內容,但增加了對Assertion的考查,同時對Wrapper classes、Collections、hashcode( )和equals( )考查的難度有所加大。所以要根據自己的情況選擇合適的版本。我在復習時覺得I/O這一部分的內容較多且不好記憶,就選擇了310-035,這個版本較難,也是對自己的一個挑戰。

    3.根據考查的知識點做練習題。由於認證考試是以試題的形式來考查對知識點的掌握情況,所以多做題是通過考試的最有效方法之一,通過

    對SL275課程系統的學習,掌握了有關知識點的基礎知識以後,必須通過做題來測試自己對知識點的掌握情況,書中寫的有關知識點的內容比較概括,有時自己覺得已經掌握了這部分內容,但做題時可能會出現各式各樣的錯誤,比如在聲明main( )方法時應為public static voidmain( String args[ ] ){……},如果在聲明時漏寫了static,則在編譯時可以通過,而運行時會提示出錯信息;如果main( )中的參數寫string args[ ],則在編譯時會提示出錯,在考試時有類似的題目,故意設一些陷阱,一不小心看似簡單的問題卻有可能失分。對於給出一段程序代碼要求選擇其運行結果的題目,最好親手調試並分析其結果。

        對考查Wrapper classes、Collections、hashcode( )和equals( )方法的題目要認真查看API文檔並做好筆記供以後查閱。通過做題

    鞏固知識點、適應考試題型、找出容易出錯的地方,同時對所學知識點也起到了查漏補缺的作用。

         4.下載相應的模擬環境進行實戰訓練,或者在線測試。知識點和題型都掌握以後,還不要急於考試,應該從網上下載一個模擬考試環境

    的軟件進行實戰演練。我下載了Jcertify5.0,它需在JDK1.3環境下安裝運行,該軟件可以設置考查的範圍進行practice或者test,是一個很

    不錯的模擬軟件,裡面的題目與實際考試題目難易程度相當。

        通過該軟件可以檢驗你在規定的時間內(120分鐘)完成題目的情況及各個知識點掌握的程度,這樣就可以根據測驗結果有針對性的複習

    掌握的不太好的知識點,反複測驗、練習,直到自己滿意為止。

         5.考前給自己足夠的信心。通過做練習和模擬軟件測驗,對各個知識點都比較有把握以後,其實這時參加考試已經沒有問題了,要相信

    自己的實力,給自己加油,此時切不可再做較難的題目,我當時就犯了這樣的大忌,聽說310-035的考試比較難,目前通過的人數不多,我怕考試時的題目比我做的練習題難,在考試的前一天,又做了一套題目,共43題,通過率為僅為42%,這個結果令我很失望,也喪失了自信心,晚上做夢一直考試且考試結果很糟糕,第二天醒來頭昏腦脹,本來預約好的考試不得不往後推遲,這是沉痛的教訓。

    6.預約、考試。知名的IT認證廠商在一些大城市都有指定的考試中心,Sun認證也不例外,考試前三天到Sun指定的考試中心報名,由他們幫

    你註冊,除了考試做題,其他的事情你儘管交給考試中心去做就行了。

         7.考試注意事項。按預約的時間提前到達考試中心,熟悉考試環境,穩定情緒,考試中心在考場裡設置有監視器,你的一舉一動都會被

    錄製下來,所以考試來不得半點虛假,儘早打消“打小抄”的念頭。考務人員幫你進入考試系統後,開始進行考試,考試分三個階段:

         (1)正式考試前的問卷調查,給定時間為15分,有10來個問題,給出四個選項供你選擇,主要調查你對SCJP要考查的知識點的掌握情況

    ,如對數組、類的定義是精通、是了解但需要別人幫助還是不懂等,這部分內容的回答不影響你的考試成績,如果你讀懂問題的意思了,你可以根據自己的實際情況進行選擇,否則你儘管隨意選一個,一路Next下去,直到所有的問題做完;

         (2)正式考試,共120分鐘,選擇題在題面中註明了正確答案的數目(如:choose two),按Next做下一題,單擊exhibit按鈕查看題目

    提供的代碼;

         (3)題目做完後的問卷調查,同樣也不影響你的考試結果。問卷結束後緊張、激動的時刻就要到了,此時你可以查看考試結果,考試系

    統列出你對各個知識點答題情況的一覽表,如果你的成績超過指定的分數底線,則Result即為Pass。

        拿到考試結果通知單的一刻是令人興奮的,考後的總體感覺是SCJP認證並不像自己想像的那麼難,只要你做好了充分的準備,拿到SCJP認

    證證書不成問題。

  • 十點讓妳輕松應對SUN認證考試

    1.如:Java 2 PLAT FORM 考試科目是310-025 ,有59 題,及格線是61%,即答對36 題。考試時間是90 分鐘。特別令人厭惡的是考試前有個AGREEMENT ,連妳讀它的時間也被計算在內。小弟開始不知道,還在慢慢讀,突然發現已經用了3 分鐘,趕緊開始作題。估計AGREEMENT 沒有什麽重要的東西,可以直接跳過。時間勉強夠用,我大概花了60 分鐘作完題,剩下20 多分鐘檢查,居然又給我發現了3-5 題錯誤,都是壹時疏忽,落入題目設下的圈套,所以壹定要留時間檢查。可惜我剩下10 題左右沒有時間檢查 。

      2.考試範圍非常窄。基本上都是基本語言知識,象SWING ,JSP ,SERVLET ,JDBC ,BEANS等等都不涉及。大家可以到SUN 網站上下載考試大綱。考試範圍窄不意味著容易,相反,壹些很基本的東西被翻來覆去,變著花樣考,反而更難 。

      3.考試只有選擇題,包括單選和復選。多數復選題明確指明有幾個答案,不會搞錯。

      4.印象中幾乎所有的考題都涉及2-3 個以上的知識點,幾乎沒有可以壹眼就看出答案的題目。70%的考題是給妳壹段程序,然後問運行結果變量的值。這種題目非常容易落入陷阱,壹不小心就被費了。還有20%的題目是給妳幾個陳述句,選正確的。這些陳述句都是考很偏很偏的東西,也不太好答。基本上我的經驗是:如果壹個題目馬上能看出答案,請妳在仔細研究壹下題目,多數情況是妳落入陷阱了。如果壹個題目妳能很明確的看出來他要考妳什麽知識點,那這個題目就完成壹半了。最慘的是知道題目要考妳什麽,但是忘記了或沒有復習相關知識細節,只好胡猜答案了。

      5.考試的壹個重點是INNER CLASS 。印象中壹半以上的題目和他有關。都是大CLASS 套小CLASS 等。我復習時花了很多時間在這上面,以為自己很懂了,結果考試是還是有問題。壹定要透徹理解相關定義,語法,特別是各種各樣的MODIFIER 的用法。有很多很特殊的MODIFER 規則。這些規則壹定要熟練掌握並牢記在心 。

      6.考試的另壹個重點是循環語句。我考,我自以為對循環控制語句很熟悉了,結果考試考壹些很偏很特別的用法,雖然慢慢作都能作出來,但浪費太多時間在這上面,實在可惜。大家好好看看書。

    7.其它的象:CASTING ,IO ,LAYOUT ,EVEN HANDLING ,AWT ,THREAD ,GARBAGE COLLECTION ,MATH CLASS 等等,都有若幹考題。

      8.考試題目幾乎完全不體現實際應用。如果我有壹個JAVA 編譯器在身邊,幾乎所有的考題都可以輕松解決。我感覺SUN 希望考生能象J AVA 編譯器壹樣熟悉JAVA 的特殊語法和特殊規則。這實際是完全沒有必要的。

      9.我收集了很多模擬考題和BRAINDUMP ,有近千題。奇怪的是只有不到10 題出現在考試中,看來SUN 的考試題庫實行的可能是動態題庫,考背BRAINDUMP 是沒有什麽希望通過了。而且程序考題只有稍微改動壹個符號,結果就完全不同,BRAINDUMP 很多題目靠不住。所以大家壹定要在壹定實際經驗的基礎上,好好看透壹本輔導書,多作題,多分析題,多思考,才能比較容易通過考試。

      10.不管大家如何評價認證考試,反正考多幾個證書不是壞事。起碼加薪找工比較方便。