<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 12, 文章 - 0, 評論 - 5, 引用 - 0
    數(shù)據(jù)加載中……

    2012年7月15日

    esxi 中兩臺vesx vmkernel不能通信

    在一臺DELL R710上安裝了esxi5.0,并部署了兩臺esxi5.0的VM,名為vesxA,vesxB.

    并在兩臺vesx上分別創(chuàng)建了vmkernel,連接到同一vSwitch,完成后,發(fā)現(xiàn)兩臺vesx間不能用vmkernel通信。

     

    后請教有經(jīng)驗(yàn)的同事,說是虛中虛需要在vSwitch中開啟 混雜模式,經(jīng)測試問題解決。

     

    但是為什么呢?

     

    請教高人得出答案:

     

    由于vSwitch中的MAC TABLE記錄只能從虛擬機(jī)的.vmx文件中讀取。而.vmx中記錄的MAC是虛擬機(jī)的網(wǎng)卡的MAC,當(dāng)我們新建了一個vmkernel port后,生成的MAC并沒有寫入.vmx。所以當(dāng)vSwitch 收到關(guān)于vmkernel port后,發(fā)現(xiàn)沒有相關(guān)MAC記錄,就會把包丟棄。

    有人會問,交換機(jī)不是有Flooding功能么?

    估計(jì)是由于vSwitch節(jié)省資源開銷的原因,沒有使用這個功能,所以這個時候就需要打開混雜模式,將vSwitch變成vHUB.

    posted @ 2012-07-26 22:36 拼搏 閱讀(2015) | 評論 (1)編輯 收藏

    Suse Linux開啟FTP服務(wù)

    一、配置/etc/vsftpd.conf文件

     

    1、vi /etc/vsftpd.conf

     

    2、修改如下配置項(xiàng)

     

     anonymous_enable=YES  改成 anonymous_enable=NO   // 不啟用匿名訪問

     

     #local_enable=YES           改成 local_enable=YES             // 開啟本地用戶登錄服務(wù)

     

     #write_enable=YES          改成 write_enable=YES            // 開啟任何用戶的寫權(quán)限

     

    二、配置/etc/ftpusers文件

     

    1、vi  /etc/ftpusers

     

    2、該文件中列出的用戶是禁止使用FTP登錄的,如果要使這些用戶通過FTP登錄,在用戶前面加上#

     

    三、重啟FTP服務(wù)

     
    service vsftpd restart

    posted @ 2012-07-26 22:35 拼搏 閱讀(9489) | 評論 (0)編輯 收藏

    Myeclipse啟動不了的解決方法

       我們在開發(fā)過程中經(jīng)常在加載大工程時由于項(xiàng)目很大,導(dǎo)致編譯時間很長。或是其他原因?qū)е逻M(jìn)度條有時候一直在不停地跑,占用了大量內(nèi)存,在無奈之下直接將進(jìn)程kill掉,當(dāng)再次打開,這時候悲劇的事情發(fā)生了 。 
        發(fā)現(xiàn)MyEclipse啟動不了了,進(jìn)程的內(nèi)存大小永遠(yuǎn)都是恒定值。陷入了一個糾結(jié)中。 

    這里就說一下在工作經(jīng)常遇到這樣的問題是怎樣解決的: 

    環(huán)境說明 
    IDE版本: Myecplise6.0(其他版本方法相同) 
    安裝路徑:D:\dev_IDE\myeclipse 
    工作空間:D:\dev_IDE\myeclipse\workspace 

    方法一:修改工作空間 
        在剛啟動Myeclipse的時候會有一個選擇工作空間的地方。換一個新的工作空間即可,若是原來將默認(rèn)工作空間勾中了,沒有出來,就去你的MyEclipse安裝路徑中(如:D:\dev_IDE\myeclipse\eclipse\configuration\.settings),里面有個org.eclipse.ui.ide.prefs文件,將里面的SHOW_WORKSPACE_SELECTION_DIALOG修改為true即可。 
        這樣做有個壞處,就是需要你重新import你的工程,需要重新編譯,需要你養(yǎng)成經(jīng)常備份的習(xí)慣。 

    方法二:刪除錯誤編譯信息 
        這個方法最近才發(fā)現(xiàn),當(dāng)你由于在編譯工程期間將進(jìn)程kill掉以后,就會有編譯加載“內(nèi)容”出錯,導(dǎo)致在啟動的時候無法解析這個“內(nèi)容”,所以要將該內(nèi)容清除。如,當(dāng)你的工程名為“TestProject”,在安裝文件夾中(D:\dev_IDE\myeclipse\workspace\.metadata\.plugins\org.eclipse.core.resources\.projects\TestProject),有兩個文件.markers和.markers.snap,將這兩個文件刪除。重啟Myeclipse,OK了。  

    posted @ 2012-07-26 22:34 拼搏 閱讀(30011) | 評論 (3)編輯 收藏

    三十而立的人生準(zhǔn)則,會有更新

    第一條: 
        學(xué)習(xí)是和我的社會地位、收入等掛鉤,學(xué)習(xí)是一種最好的投資。 
    第二條: 
        時間管理不是讓我在有限的時間里面做更多的事,而是讓我在把時間都放在有投資時間里面,去掉不必要做的事,做有投資價(jià)值的事(就是很重要但不緊急的事)。比如:鍛煉身體,每天鍛煉一小時,健康快樂生活一輩子,幸福一輩人。 
    第三條: 
        這個世界上不是什么事情都是非黑既白,有很多灰色地帶的,為生存有時還會踩界。 
    第四條: 
        in:out=1:1 

    posted @ 2012-07-21 22:24 拼搏 閱讀(1245) | 評論 (0)編輯 收藏

    與JDK奮斗的一上午

    話說本人也是手欠啊,操作系統(tǒng)是Win7的前幾天無法識別自己的移動硬盤,于是我就還原系統(tǒng)了,JDK安裝在D盤。當(dāng)時還原完就直接將以前安裝在D盤的程序文件夾全部刪除了。 
    然后就是各位熟知的悲劇了,無論怎么重新安裝都不行了,我也把注冊表里面幾乎所有的方法都嘗試過了,都不行。查看了網(wǎng)上。總結(jié)來看有以下幾種“偏方”: 
    1、刪除注冊表里面所有和Java相關(guān)的表項(xiàng) ---------事實(shí)上我試過了,但是很不幸,我把有Java的都刪了大半,但是我這里沒用 

    2、關(guān)閉windows的windows installer功能打開命令行 ,輸入msiexec /unregserver 
    重新下載一個 windows installer,重新安裝一遍然后再啟用就好了                 再輸入msiexec /regserver 

    3、什么360啊,完美卸載啊都無法刪除。 

    4、這就是大救星啊...去下一個window  installer  clean up ,打開軟件,然后把里面關(guān)于JDK的項(xiàng)刪除。 

    終于可以重新安裝JDK了。  

    posted @ 2012-07-21 22:24 拼搏 閱讀(1202) | 評論 (0)編輯 收藏

    設(shè)計(jì)模式--狀態(tài)模式(State)

    前幾天由于忙工作上的事情,每天加班到10點(diǎn)左右才回家,回到家就沒有再開電腦更新東西,今天早了一些回家,開始繼續(xù)更新東西,今天要寫的是狀態(tài)模式,哦,對于一個沒有狀態(tài)的人來說,寫狀態(tài)模式,不知道會寫成什么樣子,反正是一起討論用嘛,能把我所知道的清楚表達(dá)出來已經(jīng)很心滿意足啦。在理解狀態(tài)模式的時候,我總覺得它和策略模式很像很像,有人說它們是孿生兄弟,那我們現(xiàn)在看看狀態(tài)模式到底是一個什么樣的東西。

    狀態(tài)模式是對象的一個行為模式,它允許一個對象在其內(nèi)部狀態(tài)改變的時候改變其行為,這個對象看上去就像改了了它的類一樣。

    下圖是關(guān)于紅綠燈轉(zhuǎn)換的一個實(shí)現(xiàn)類圖,具體的轉(zhuǎn)換是這樣子的,在初始的情況下,設(shè)定一個燈的狀態(tài),比如是綠燈,那么燈的下一個狀態(tài)則是黃燈,緊接著是紅燈,然后再是綠燈,依次循環(huán);通過改變燈的狀態(tài),改變其行為。

    下面是這個類圖的實(shí)現(xiàn)代碼:

    package com.plabmedia.state;

    public interface LightState {

    /**
    * 打印當(dāng)前的狀態(tài)
    */
    public void print(Light light);

    }

    package com.plabmedia.state;

    public class RedLight implements LightState{

    @Override
    public void print(Light light) {
    System.out.println("current state is red");
    light.setState(new GreenLight());
    }

    }

    package com.plabmedia.state;

    public class YellowLight implements LightState{

    @Override
    public void print(Light light) {
    System.out.println("current state is yellow");
    light.setState(new RedLight());
    }

    }

    package com.plabmedia.state;

    public class GreenLight implements LightState {

    @Override
    public void print(Light light) {
    System.out.println("current state is green");
    light.setState(new YellowLight());
    }

    }

    package com.plabmedia.state;

    public class Light {

    private LightState state;

    public LightState getState() {
    return state;
    }

    public void setState(LightState state) {
    this.state = state;
    }

    public void print(){
    state.print(this);
    }

    public Light(LightState state){
    this.state = state;
    }

    }

    package com.plabmedia.state;

    public class Client {

    public static void main(String args[]){
    Light light = new Light(new GreenLight());
    light.print();
    light.print();
    light.print();
    light.print();
    light.print();
    light.print();
    }

    }

    運(yùn)行結(jié)果:

    current state is green
    current state is yellow
    current state is red
    current state is green
    current state is yellow
    current state is red

    上面是對狀態(tài)模式一個小小的實(shí)現(xiàn),這個實(shí)現(xiàn)也僅僅是認(rèn)識級的,在我們實(shí)際應(yīng)用中,如果用到狀態(tài)模式,應(yīng)該比這個要負(fù)責(zé)的多,只是基本的結(jié)構(gòu)是相似的。那我們下面針對狀態(tài)模式做一些討論。

    1.在什么情況下使用狀態(tài)模式:

    • 一個對象的行為依賴于它所處的狀態(tài),對象的行為必須隨著其狀態(tài)的改變而改變;
    • 需要多多重條件轉(zhuǎn)移語句進(jìn)行演化的時候,可以把每個分支封裝成一個狀態(tài)類;現(xiàn)在寫代碼的時候,我是不太喜歡用條件轉(zhuǎn)移語句,特別是最好的那個else語句,我覺得它承擔(dān)的東西太多了,前面不滿足的情況它都要來處理,憑什么啊。
    2.狀態(tài)模式要注意的地方:
    • 誰來定義狀態(tài)的變化:客戶端還是狀態(tài)內(nèi)部決定?這要看當(dāng)時應(yīng)用的環(huán)境,如果狀態(tài)的變化是固定的,我覺得可以再客戶端進(jìn)行設(shè)定;如果狀態(tài)的變化依賴于前一個狀態(tài),比如在工作流系統(tǒng)中,當(dāng)前狀態(tài)是依賴于前一個狀態(tài)的,這需要狀態(tài)內(nèi)部來覺得。
    • 狀態(tài)對象創(chuàng)建時機(jī):需要的時候創(chuàng)建?還是事先創(chuàng)建好所有的對象,供需要的時候調(diào)用?這要分系統(tǒng)需要來決定,如果一個系統(tǒng),狀態(tài)變化的順序固定,不那么頻繁,則可以在需要的時候創(chuàng)建所需要的對象;否則,對于頻繁變化的狀態(tài),從性能上將,還是首先創(chuàng)建好各個狀態(tài)對象,供需要時調(diào)用。
    • 可以把環(huán)境類傳到具體的狀態(tài)類中,狀態(tài)類在需要的時候調(diào)用環(huán)境類,比如示例中的樣子,其實(shí)在每個狀態(tài)類里面,也可以直接調(diào)用環(huán)境類的print方法,這樣看來,Client只需要初始化環(huán)境類,然后就可以看到它的狀態(tài)在不停地變化。
    3.狀態(tài)模式與策略模式的區(qū)別:
    我粗俗的說一些,從我的理解的基礎(chǔ)上,二者之間的區(qū)別在于狀態(tài)模式在集體作戰(zhàn),而策略模式是單兵作戰(zhàn),怎么說呢?狀態(tài)模式因?yàn)槠鋬?nèi)部狀態(tài)的改變會有不同的行為出現(xiàn),而對于策略模式,只要客戶端選中了一種策略,在整個生命周期內(nèi),都是這種策略。所以,在區(qū)分使用狀態(tài)模式和策略模式的時候,主要是看系統(tǒng)有沒有狀態(tài)的變化,如果系統(tǒng)在整個生命周期內(nèi),只有一種狀態(tài),那很好,選擇策略模式;如果系統(tǒng)在整個過程中,狀態(tài)多樣性,那需要選擇狀態(tài)模式。
    先寫這么多吧,好沒有狀態(tài)啊,希望大家都抽出時間一起討論,說說自己對狀態(tài)模式的看法。

    posted @ 2012-07-21 22:23 拼搏 閱讀(1035) | 評論 (0)編輯 收藏

    tomcat 配置環(huán)境變量

    1.我的電腦---屬性---高級系統(tǒng)設(shè)置---環(huán)境變量---(系統(tǒng)變量)新建


    變量名:CATALINA_HOME(必須)

    變量值:tomcat的路徑      (我的是:   E:\工具\(yùn)學(xué)習(xí)軟件\apache-tomcat-6.0.35\apache-tomcat-6.0.35)


    2.找到path變量,在后面加上

       變量值后:;%CATALINA_HOME%;%CATALINA_HOME%\bin;(用;和前面的分開)


    3. win+R 就可以cmd了(默認(rèn)是startup開啟,shutdown 結(jié)束;我是改成ts開啟,td結(jié)束)

    posted @ 2012-07-19 22:21 拼搏 閱讀(756) | 評論 (0)編輯 收藏

    Spring AOP源于生活的原理(一)

    AOP原理

              spring用代理類包裹切面,把他們織入到Spring管理的bean中。也就是說代理類偽裝成目標(biāo)類,它會截取對目標(biāo)類中方法的調(diào)用,讓調(diào)用者對目標(biāo)類的調(diào)用都先變成調(diào)用偽裝類,偽裝類中就先執(zhí)行了切面,再把調(diào)用轉(zhuǎn)發(fā)給真正的目標(biāo)bean。 


    生活中的AOP

    現(xiàn)在可以自己想一想,怎么搞出來這個偽裝類,才不會被調(diào)用者發(fā)現(xiàn)(過JVM的檢查,JAVA是強(qiáng)類型檢查,哪里都要檢查類型)。 
    實(shí)現(xiàn)和目標(biāo)類相同的接口,我也實(shí)現(xiàn)和你一樣的接口,反正上層都是接口級別的調(diào)用,這樣我就偽裝成了和目標(biāo)類一樣的類(實(shí)現(xiàn)了同一接口,咱是兄弟了),也就逃過了類型檢查,到j(luò)ava運(yùn)行期的時候,利用多態(tài)的后期綁定(所以spring采用運(yùn)行時),偽裝類(代理類)就變成了接口的真正實(shí)現(xiàn),而他里面包 裹了真實(shí)的那個目標(biāo)類,最后實(shí)現(xiàn)具體功能的還是目標(biāo)類,只不過偽裝類在之前干了點(diǎn)事情(寫日志,安全檢查,事物等)。 

    兄弟模式

    生活解析

    這就好比,一個人讓你辦件事,每次這個時候,你弟弟就會先出來,當(dāng)然他分不出來了,以為是你,你這個弟弟雖然辦不了這事,但是他知道你能辦,所以就答應(yīng)下來了,并且收了點(diǎn)禮物(寫日志),收完禮物了,給把事給人家辦了啊,所以你弟弟又找你這個哥哥來了,最后把這是辦了的還是你自己。但是你自己并不知道你弟弟已經(jīng)收禮物了,你只是專心把這件事情做好。 

    在兄弟模式中spring會使用JDK的java.lang.reflect.Proxy類,它允許Spring動態(tài)生成一個新類來實(shí)現(xiàn)必要的接口,織入通知,并且把對這些接口的任何調(diào)用都轉(zhuǎn)發(fā)到目標(biāo)類。

    實(shí)際理論

    JDK動態(tài)代理:其代理對象必須是某個接口的實(shí)現(xiàn),它是通過在運(yùn)行期間創(chuàng)建一個接口的實(shí)現(xiàn)類來完成對目標(biāo)對象的代理。

     父子模式

        生活解析

    順著這個思路想,要是本身這個類就沒實(shí)現(xiàn)一個接口呢,你怎么偽裝我,我就壓根沒有機(jī)會讓你搞出這個雙胞胎的弟弟,那么就用第2種代理方式,創(chuàng)建一個目標(biāo)類的子類,生個兒子,讓兒子偽裝我 。

     生成子類調(diào)用,這次用子類來做為偽裝類,當(dāng)然這樣也能逃過JVM的強(qiáng)類型檢查,我繼承的嗎,當(dāng)然查不出來了,子類重寫了目標(biāo)類的所有方法,當(dāng)然在這些重寫的方法中,不僅實(shí)現(xiàn)了目標(biāo)類的功能,還在這些功能之前,實(shí)現(xiàn)了一些其他的(寫日志,安全檢查,事物等)。 

    這次的對比就是,兒子先從爸爸那把本事都學(xué)會了,所有人都找兒子辦事情,但是兒子每次辦和爸爸同樣的事之前,都要收點(diǎn)小禮物(寫日志),然后才去辦真正的事。當(dāng)然爸爸是不知道兒子這么干的了。 這里就有件事情要說,某些本事是爸爸獨(dú)有的(final的),兒子學(xué)不了,學(xué)不了就辦不了這件事,辦不了這個事情,自然就不能收人家禮了。  

    在父子模式中spring使用CGLIB庫生成目標(biāo)類的一個子類,在創(chuàng)建這個子類的時候,spring織入通知,并且把對這個子類的調(diào)用委托到目標(biāo)類。 

    實(shí)際理論

    CGLIB代理:實(shí)現(xiàn)原理類似于JDK動態(tài)代理,只是它在運(yùn)行期間生成的代理對象是針對目標(biāo)類擴(kuò)展的子類。CGLIB是高效的代碼生成包,底層是依靠ASM(開源的java字節(jié)碼編輯類庫)操作字節(jié)碼實(shí)現(xiàn)的,性能比JDK強(qiáng)。

    兩種模式總結(jié)

    相比之下,兄弟模式好些,它能更好的實(shí)現(xiàn)松耦合,尤其在今天都高喊著面向接口編程的情況下,父子模式只是在沒有實(shí)現(xiàn)接口的時候,也能織入通知,應(yīng)當(dāng)做一種例外。

    posted @ 2012-07-19 22:20 拼搏 閱讀(854) | 評論 (0)編輯 收藏

    Oracle備份和恢復(fù)

    備份

    備份其實(shí)就是為了防止出錯或者宕機(jī)時,作為冗余的一種手段。

    一、Oracle備份從備份類型上分可以分為兩類:物理備份和邏輯備份

    1、 物理備份:copy,將datafilecontrol file等文件copy到別的地方

             Oracle也提供了一些工具比如rman、用戶管理備份。

    2、 邏輯備份:復(fù)制數(shù)據(jù)

    imp/expimpdp/expdp

    二、按備份時的數(shù)據(jù)庫狀態(tài)

       兩種狀態(tài):啟動狀態(tài)和關(guān)閉狀態(tài)

    1、 熱備份(聯(lián)機(jī)備份)

    2、 冷備份(脫機(jī)備份)

    三、從備份的狀態(tài)

    1、一致性備份(擁有相同的scn

    2、非一致性備份

    四、備份規(guī)模大小

    1、完全備份

          注意:歸檔模式下的備份才為有效備份,當(dāng)然要分為一致性和不一致性。

                非歸檔需要關(guān)閉才是有效備份,打開的不建議使用。

    3、 表空間備份

    注意:當(dāng)數(shù)據(jù)庫在歸檔模式下備份才有效備份

         表空間處于只讀或者offline有效備份

    4、 數(shù)據(jù)文件

    注意:歸檔下的備份是有效備份

         數(shù)據(jù)文件被設(shè)置為read olny或者offline時的備份有效

    5、控制文件

    6、歸檔日志文件

    恢復(fù)

    就是將業(yè)務(wù)回到數(shù)據(jù)塊崩潰前的狀態(tài)

    一、實(shí)例恢復(fù)(crash recovery

    Oracle自動進(jìn)行

    1、緩存恢復(fù)(cache recovery

    2、事務(wù)恢復(fù)(transaction recovery

    二、介質(zhì)恢復(fù)(media recovery

    三、恢復(fù)方式

    1、完全恢復(fù)

         1)如果是整庫恢復(fù)

          mount數(shù)據(jù)庫

          確認(rèn)所有的數(shù)據(jù)文件為online狀態(tài)

          執(zhí)行恢復(fù)操作

          用所有Redo logs文件

          2)表空間或者數(shù)據(jù)文件及恢復(fù)

          open

          將需要恢復(fù)的表空間設(shè)置為offline

          執(zhí)行恢復(fù)

          redo logs

    2、 不完全恢復(fù)

    1) 基于時間

    2) 基于scn

    3) 基于cancel

    4) 基于日志序列號

       常見的備份和恢復(fù)技術(shù)

    1、 用戶管理的備份和恢復(fù)

    2、 RMAN

    3、 Imp/expimpdp/expdp

    4、 FLASHBACK

    5、 GG

    posted @ 2012-07-17 21:32 拼搏 閱讀(1129) | 評論 (0)編輯 收藏

    SQL Server 數(shù)據(jù)轉(zhuǎn)換

    數(shù)據(jù)轉(zhuǎn)換服務(wù)的概念


           通常數(shù)據(jù)總是以不同的格式,存儲在不同的地方,有的可能是文本文件,有的雖然具有表結(jié)構(gòu)但不屬于同一種數(shù)據(jù)源。這些情況極大地妨礙了數(shù)據(jù)的集中處理。為此SQL Server提供了DTS(Data Transformation Servers)組件。

           DTS本身包含多個工具,并提供了接口來實(shí)現(xiàn)在任何支持OLEDB的數(shù)據(jù)源間導(dǎo)入,導(dǎo)出或傳遞數(shù)據(jù),并使這一工作變得簡單,高效。

           利用DTS可能在任何OLEDB,ODBC 驅(qū)動程序的數(shù)據(jù)源或文本文件和SQL Server之間導(dǎo)入導(dǎo)出或傳遞數(shù)據(jù)具體表現(xiàn)在:

    數(shù)據(jù)的導(dǎo)入導(dǎo)出服務(wù)

           通過讀寫數(shù)據(jù)在不同應(yīng)用程序間交換數(shù)據(jù)。例如:可以將文本文件或Microsoft Access數(shù)據(jù)庫導(dǎo)入到SQL Server,也可以把數(shù)據(jù)從SQL Server導(dǎo)出到任何OLEDB數(shù)據(jù)源。

    轉(zhuǎn)換數(shù)據(jù)

           所謂傳遞是指在數(shù)據(jù)未到達(dá)目標(biāo)數(shù)據(jù)源前而對數(shù)據(jù)采取的系列操作。比如:DTS允許從源數(shù)據(jù)源的一列或多列計(jì)算出新的列值,然后將其存儲在目標(biāo)數(shù)據(jù)庫中。

    傳遞數(shù)據(jù)庫對象

           在異構(gòu)數(shù)據(jù)源情況下,DTS的內(nèi)置工具只能在數(shù)據(jù)源間傳遞表定義和數(shù)據(jù)。如果要傳遞其他數(shù)據(jù)庫對象,如索引,約束,視圖時,必須定義一個任務(wù),從而在目標(biāo)數(shù)據(jù)庫上執(zhí)行那些包含在任務(wù)中的SQL語句,SQL語句是被用來創(chuàng)建這些數(shù)據(jù)庫對象的。

    DTS結(jié)構(gòu)

          DTS將數(shù)據(jù)導(dǎo)入,導(dǎo)出或傳遞定義成可存儲的對象,即包裹或稱為包,每一個包都是包括一個或具有一定順序的多個任務(wù)的工作流,每個任務(wù)可以將數(shù)據(jù)從某一數(shù)據(jù)源拷貝至目標(biāo)數(shù)據(jù)源,或使用Active腳本轉(zhuǎn)換數(shù)據(jù),或執(zhí)行SQL語句,或運(yùn)行外部程序。也可以在SQL Server數(shù)據(jù)源間傳遞數(shù)據(jù)庫對象。包對象用來創(chuàng)建并存儲步驟,這些步驟定義了一系列任務(wù)執(zhí)行的順序,以及執(zhí)行任務(wù)的必要細(xì)節(jié)。

          包是頂層對象,它包含三種底層對象:連接,任務(wù),步驟

    連接:定義了有關(guān)源和目標(biāo)數(shù)據(jù)的信息,這些信息包括數(shù)據(jù)格式和位置以及安全認(rèn)證的密碼。DTS可不包含或包含多個連接

    任務(wù):每個DTS包都含有一個或多個任務(wù),每個任務(wù)都是數(shù)據(jù)轉(zhuǎn)換(傳遞)處理的工作項(xiàng)目。

    步驟:步驟對象定義了任務(wù)執(zhí)行的順序,以及某一任務(wù)的執(zhí)行是否依賴前一任務(wù)的結(jié)果。步驟的一個重要特性是步驟的優(yōu)先權(quán)約束。

     

    數(shù)據(jù)的導(dǎo)入

           方法一:用企業(yè)管理器

    1,             打開企業(yè)管理器,打開要導(dǎo)入數(shù)據(jù)的數(shù)據(jù)庫,在表上按右鍵,所有任務(wù)——導(dǎo)入數(shù)據(jù),彈出DTS導(dǎo)入/導(dǎo)出向?qū)В聪乱徊?/span>

    2,             選擇數(shù)據(jù)源,即要導(dǎo)入的文件,按下一步

    3,             選擇目的,選擇Microsoft OLEDB 提供程序,選擇數(shù)據(jù)庫服務(wù)器,然后單擊必要的身份驗(yàn)證方式。按下一步

    4,             在指定表格復(fù)制或查詢對話框中,單擊復(fù)制表格

    5,             在選擇源表格對話框中,單擊全部選定。下一步,完成。

            方法二:Transact—SQL語句

    數(shù)據(jù)的導(dǎo)出

           方法一:用企業(yè)管理器

    1,  打開企業(yè)管理器,打開要導(dǎo)入數(shù)據(jù)的數(shù)據(jù)庫,在表上按右鍵,所有任務(wù)——導(dǎo)入數(shù)據(jù),彈出DTS導(dǎo)入/導(dǎo)出向?qū)В聪乱徊?/span>

    2,單擊下一步就會出現(xiàn)導(dǎo)出數(shù)據(jù)源對話框

           

    3,單擊下一步,則選擇目的對話框

       

    4,單擊下一步,則出現(xiàn)指定表復(fù)制或查詢對話框

      

    5,單擊下一步,選擇源表和視圖對話框


    6,

     


    8,

       

    posted @ 2012-07-17 21:31 拼搏 閱讀(1075) | 評論 (0)編輯 收藏

    Java與Flex學(xué)習(xí)筆記----用CSS控制頁面樣式

    以前對于Flex網(wǎng)頁布局還不是很明白,基本上沒有什么修飾。但是做完了一個仿“115網(wǎng)盤”的頁面后,對頁面控制有了一個基本的了解,現(xiàn)總結(jié)一下。


         本人一開始接觸的就是Flex4,據(jù)說Flex3的css布局很脊椎,也不知道是不是這樣。但是Flex4的網(wǎng)頁布局很牛X,再配上各種事件,可以實(shí)現(xiàn)需要寫很多JavaScript/Ajax代碼才能實(shí)現(xiàn)的效果。


         好了,言歸正傳。


          在Flex4中使用css控制樣式,既可以直接在mxml文件中寫樣式,也可以新建一個css文件在這個文件里寫樣式,更重要的是這樣便于管理。


           如果直接在mxml中寫樣式的話,我們可以直接在想要控制的控件里直接寫css元素,比如:left,right,top等。如果要控制的元素非常多的話,這樣是不便于管理的建議寫在一個css文件里。


           好了,現(xiàn)在好好說說利用css文件控制樣式。


          首先新建一個css文件,這個很簡單,就不多說了。


          新建了一個css文件后需要將此文件引用到被控制的mxml文件里,具體如下所示:

     

          <fx:Style source="css文件路徑" />

     

          在css文件里獲得想要控制的對象可以通過在被控制對象里設(shè)置id來進(jìn)行,如控制如下canvas需要設(shè)置id:

     

           <mx:Canvas  width="98"height="110" id="disk_canvas"   />

     

          在css文件里通過“#”獲取,如:


          #disk_canvas{

                 focusColor:#D6E0ED;

                 top:89;

          }


         我們也可以像在html設(shè)置類來進(jìn)行,即設(shè)置styleName屬性,如:


          <mx:Canvas  width="98"height="110" styleName="disk_canvas"   />


          在css文件里通過如下所示的“.”來進(jìn)行設(shè)置:


         .disk_canvas{

              focusColor:#D6E0ED;

              top:89;

           }


        然后mxml文件中用到和這一樣的樣式時,只需要寫上此styleName就可以了。


        總體上就是這樣,但是上述不是很適合在“動態(tài)”的狀態(tài)下設(shè)計(jì)樣式,我們可以通過“setStyle”來設(shè)置樣式:

     

         id.setStyle(“css屬性”,”css值”);


         如下圖當(dāng)鼠標(biāo)通過左側(cè)的“網(wǎng)盤”時,中間的圖片切換如下所示:




           當(dāng)鼠標(biāo)經(jīng)過“消息”時中間的圖片切換如下所示:




           不仔細(xì)看看,還是挺像的哈!這就是通過事件進(jìn)行切換的,(*^__^*) …


           上述方法很合適在事件中動態(tài)的設(shè)置樣式。


           設(shè)置樣式就是這么簡單。在html頁面中我們是通過“div+css”控制樣式,但是在flex中我們可以通過“canvas+css”控制樣式。使用過多的Hbox,Vbox等會影響性能,但是canvas是一個比較小的容器,可以滿足大部分的需求。

    posted @ 2012-07-15 18:13 拼搏 閱讀(1586) | 評論 (0)編輯 收藏

    jQuery插件開發(fā)中的extend方法

    Jquery的擴(kuò)展方法extend是我們在寫插件的過程中常用的方法,該方法有一些重載原型,

         dest是要整合的空間可以使{} 或者不寫

        src是一個JSON表達(dá)式表示的javascript對象.... 因此里面可以添加方法屬性等等...

     我么通過不同的應(yīng)用可以將我們自己的方法整合到j(luò)Query空間中....實(shí)現(xiàn)插件開發(fā) 

    在jQuery中定義  jQuery.extend = jQuery.fn.extend  所以這兩個函數(shù)式相同的

     一、Jquery的擴(kuò)展方法原型是:   

     extend(dest,src1,src2,src3...);


         它的含義是將src1,src2,src3...合并到dest中,返回值為合并后的dest,由此可以看出該方法合并后,是修改了dest的結(jié)構(gòu)的。如果想要得到合并的結(jié)果卻又不想修改dest的結(jié)構(gòu),可以如下使用:


     var newSrc=$.extend({},src1,src2,src3...)//也就是將"{}"作為dest參數(shù)。


    這樣就可以將src1,src2,src3...進(jìn)行合并,然后將合并結(jié)果返回給newSrc了。如下例:

     var result=$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"}) 

     

          那么合并后的結(jié)果

      result={name:"Jerry",age:21,sex:"Boy"}


          也就是說后面的參數(shù)如果和前面的參數(shù)存在相同的名稱,那么后面的會覆蓋前面的參數(shù)值。

          二、省略dest參數(shù)
          上述的extend方法原型中的dest參數(shù)是可以省略的,如果省略了,則該方法就只能有一個src參數(shù),而且是將該src合并到調(diào)用extend方法的對象中去,如:
       1、$.extend(src)
       該方法就是將src合并到j(luò)query的全局對象中去,如:

      $.extend({   hello:function(){alert('hello');}   });


       就是將hello方法合并到j(luò)query的全局對象中。
       2、$.fn.extend(src)
       該方法將src合并到j(luò)query的實(shí)例對象中去,如:

     $.fn.extend({   hello:function(){alert('hello');}  }); 

     

       就是將hello方法合并到j(luò)query的實(shí)例對象中。

       下面例舉幾個常用的擴(kuò)展實(shí)例:

     $.extend({net:{}}); 

     

       這是在jquery全局對象中擴(kuò)展一個net命名空間。

       $.extend($.net,{    hello:function(){alert('hello');}   })


        這是將hello方法擴(kuò)展到之前擴(kuò)展的Jquery的net命名空間中去。

       三、Jquery的extend方法還有一個重載原型:  

     extend(boolean,dest,src1,src2,src3...)


          第一個參數(shù)boolean代表是否進(jìn)行深度拷貝,其余參數(shù)和前面介紹的一致,什么叫深層拷貝,我們看一個例子:

     var result=$.extend( true,  {},       { name: "John", location: {city: "Boston",county:"USA"} },       { last: "Resig", location: {state: "MA",county:"China"} } ); 


          我們可以看出src1中嵌套子對象location:{city:"Boston"},src2中也嵌套子對象location:{state:"MA"},第一個深度拷貝參數(shù)為true,那么合并后的結(jié)果就是: 

     result={name:"John",last:"Resig",         location:{city:"Boston",state:"MA",county:"China"}} 

     

           也就是說它會將src中的嵌套子對象也進(jìn)行合并,而如果第一個參數(shù)boolean為false,我們看看合并的結(jié)果是什么,如下:

     var result=$.extend( false, {},   { name: "John", location:{city: "Boston",county:"USA"} },   { last: "Resig", location: {state: "MA",county:"China"} }                       ); 


         那么合并后的結(jié)果就是:

      result={name:"John",last:"Resig",location:{state:"MA",county:"China"}}

     

      以上就是$.extend()在項(xiàng)目中經(jīng)常會使用到的一些細(xì)節(jié)。

    posted @ 2012-07-15 18:12 拼搏 閱讀(1115) | 評論 (1)編輯 收藏

    主站蜘蛛池模板: 亚洲国产精品无码AAA片| a毛片免费观看完整| 菠萝菠萝蜜在线免费视频| 中文字幕免费视频一| 亚洲免费在线观看| 亚洲欧洲专线一区| 亚洲成人在线免费观看| 不卡精品国产_亚洲人成在线| 亚洲人成网站免费播放| 妞干网免费观看视频| 亚洲精品自偷自拍无码| 日本免费人成视频播放| 国产成人高清亚洲一区久久 | 91亚洲视频在线观看| 国产福利免费视频| 国产亚洲精久久久久久无码77777| 亚洲AV无码专区在线观看成人| 青青在线久青草免费观看| 亚洲bt加勒比一区二区| 国产日韩在线视频免费播放| 免费人成年激情视频在线观看| 免费一级毛suv好看的国产网站 | 一个人在线观看视频免费| 亚洲熟妇无码AV| 日韩免费视频一区| 日韩大片在线永久免费观看网站| 亚洲日韩人妻第一页| 精品久久亚洲一级α| 午夜高清免费在线观看| 在线看亚洲十八禁网站| 国产精品V亚洲精品V日韩精品| a视频在线免费观看| 久久精品国产亚洲AV高清热| 国产高清免费视频| 亚洲国产日韩在线人成下载| 69成人免费视频无码专区| 亚洲男人天堂2022| 操美女视频免费网站| 日韩色视频一区二区三区亚洲| 亚洲综合久久夜AV | 美女在线视频观看影院免费天天看|