隨筆-15  評(píng)論-79  文章-0  trackbacks-0
            2010年9月3日
          最近經(jīng)常做一些數(shù)據(jù)導(dǎo)入的工作!做數(shù)據(jù)挖掘項(xiàng)目大家都懂的...
          導(dǎo)入數(shù)據(jù)最痛苦的就是等待他導(dǎo)...不過(guò)如果大家沒(méi)注意一些需要注意的東西,可能大家會(huì)這樣反復(fù)等好多次!!
          一、
          首先,我也是多次吃虧的一件事情,就是老是忘記加入導(dǎo)入日志。因?yàn)樵趯?dǎo)入數(shù)據(jù)的時(shí)候可能會(huì)拋出很多異常,這些異常如果不記錄下如果缺失了重要的數(shù)據(jù)可能要從新導(dǎo)入或找到原因然后重導(dǎo)。太可惜了。加入導(dǎo)入日志一切有據(jù)可查,非常重要。

          它的做法可以在imp時(shí)直接加參數(shù):
          log=/oracle/log/imp.log (linux)
          log=E:\log\imp.log      (windows)
          指定日志的路徑和文件名
          例如:
          imp trade/zhangy@orcl file=/test/trade.dmp show=n buffer=2048000 ignore=n commit=y grants=y full=y log=/oracle/log/imp.log
          這樣就有日志了...

          二、導(dǎo)入單個(gè)表
          可能客戶(hù)給我們一個(gè)整庫(kù)文件,但是我們可能只需要其中的一些表就OK了。oracle已經(jīng)帶有導(dǎo)入單獨(dú)表的語(yǔ)法。
          IMP trade/trade file=D:\2011-02-18_trade.dmp IGNORE=Y TABLES=(TOS_ContractInterval,TOS_CONTRACTMASTER) FULL=N



          當(dāng)然還有許多語(yǔ)法,我們可以通過(guò)imp help=yes來(lái)查看..


          posted @ 2011-06-02 20:04 張?jiān)猈on 閱讀(613) | 評(píng)論 (0)編輯 收藏
          因?yàn)樾屡渲玫臋C(jī)器,裝的Oracle10g一直都沒(méi)使用過(guò)。因?yàn)閰⑴c到項(xiàng)目,昨天突然用Oracle發(fā)現(xiàn)用Plsql不上Oracle了。
          蝦米原因?...搞的我蛋疼了一上午...
          于是一直找帖糾結(jié)這個(gè)問(wèn)題,終于還是解決了,在博客中留個(gè)記錄以便以后忘記了翻翻。

          導(dǎo)致這個(gè)錯(cuò)誤的原因有很多
          可能是SID配置不對(duì),但絕大多數(shù)是因?yàn)镺racle程序本身問(wèn)題。就是OracleOraDb10g_home1TNSListener這個(gè)服務(wù)對(duì)應(yīng)的D:\oracle\product\10.2.0\db_1\BIN\TNSLSNR執(zhí)行程序沒(méi)有執(zhí)行或者執(zhí)行中斷造成的。那么我們只要設(shè)置一個(gè)全局SID服務(wù)變量,以后就可以都以這個(gè)變量為準(zhǔn)來(lái)查找到監(jiān)聽(tīng)了。

          解決方法如下:
          打開(kāi):%Oracle_Hoem%/network/admin/listener.ora文件 在 
          SID_LIST_LISTENER = 
          (SID_LIST = 
          (SID_DESC = 
            (SID_NAME = PLSExtProc) 
            (ORACLE_HOME = D:\Oracle\Oracle10g) 
            (PROGRAM = extproc) 
          后面添加: 
          (SID_DESC = 
            (GLOBAL_DBNAME = ORACLE) 
            (ORACLE_HOME = D:\Oracle\Oracle10g) 
            (SID_NAME = ORACLE) 
            ) 
          最后變成: 
          SID_LIST_LISTENER = 
          (SID_LIST = 
          (SID_DESC = 
            (SID_NAME = PLSExtProc) 
            (ORACLE_HOME = D:\Oracle\Oracle10g) 
            (PROGRAM = extproc) 
          ) (SID_DESC = 
            (GLOBAL_DBNAME = ORACLE) 
            (ORACLE_HOME = D:\Oracle\Oracle10g) 
            (SID_NAME = ORACLE) 
            ) 
          posted @ 2011-05-27 09:17 張?jiān)猈on 閱讀(1015) | 評(píng)論 (0)編輯 收藏
        1. 第一步: 取消自動(dòng)validation   
        2. validation有一堆,什么xml、jsp、jsf、js等等,我們沒(méi)有必要全部都去自動(dòng)校驗(yàn)一下,只是需要的時(shí)候才會(huì)手工校驗(yàn)一下!   
        3. 取消方法:   
        4. windows–>perferences–>myeclipse–>validation   
        5. 除開(kāi)Manual下面的復(fù)選框全部選中之外,其他全部不選   
        6. 手工驗(yàn)證方法:   
        7. 在要驗(yàn)證的文件上,單擊鼠標(biāo)右鍵–>myeclipse–>run validation   
        8. 第二步:取消Eclipse拼寫(xiě)檢查   
        9. 1、拼寫(xiě)檢查會(huì)給我們帶來(lái)不少的麻煩,我們的方法命名都會(huì)是單詞的縮寫(xiě),他也會(huì)提示有錯(cuò),所以最好去掉,沒(méi)有多大的用處   
        10. windows–>perferences–>general->editors->Text Editors->spelling
        11. 第三步:取消myeclipse的啟動(dòng)項(xiàng)   
        12. myeclipse會(huì)有很多的啟動(dòng)項(xiàng),而其中很多我們都用不著,或者只用一兩個(gè),取消前面不用的就可以   
        13. windows–>perferences–>general–>startup and shutdown   啟動(dòng)項(xiàng)功能如下,可以根據(jù)自己的需要選擇
        14. Automatic Updates Scheduler //自動(dòng)升級(jí)調(diào)度      
        15. MyEclipse QuickSetup //快速啟動(dòng)      
        16. MyEclipse Derby //derby是一個(gè)開(kāi)源數(shù)據(jù)庫(kù)的名字   
        17. MyEclipse EASIE Geronimo 1 //同色都是應(yīng)用服務(wù)器的名字      
        18. MyEclipse EASIE Geronimo 2       
        19. MyEclipse EASIE JBOSS 2       
        20. MyEclipse EASIE JBOSS 3       
        21. MyEclipse EASIE JBOSS 4       
        22. MyEclipse EASIE JBOSS 5       
        23. MyEclipse EASIE JBOSS       
        24. MyEclipse EASIE Jetty 4       
        25. MyEclipse EASIE Jetty 5       
        26. MyEclipse EASIE Jetty 6       
        27. MyEclipse EASIE Jetty       
        28. MyEclipse EASIE JOnAS 3       
        29. MyEclipse EASIE JOnAS 4       
        30. MyEclipse EASIE JOnAS       
        31. MyEclipse EASIE JRun 4       
        32. MyEclipse EASIE JRun       
        33. MyEclipse EASIE Oracle 10 AS       
        34. MyEclipse EASIE Oracle 9 AS       
        35. MyEclipse EASIE Oracle AS       
        36. MyEclipse EASIE Orion 1       
        37. MyEclipse EASIE Orion 2       
        38. MyEclipse EASIE Resin 2       
        39. MyEclipse EASIE Resin 3       
        40. MyEclipse EASIE Resin       
        41. MyEclipse EASIE Sun 8.x       
        42. MyEclipse EASIE Sun 8       
        43. MyEclipse EASIE Sun 9       
        44. MyEclipse EASIE Glassfish 2       
        45. MyEclipse EASIE Glassfish 1       
        46. MyEclipse EASIE Sun One       
        47. MyEclipse EASIE MyEclipse Tomcat 6 Server       
        48. MyEclipse EASIE Tomcat 4       
        49. MyEclipse EASIE Tomcat 5       
        50. MyEclipse EASIE Tomcat 6       
        51. MyEclipse EASIE Tomcat       
        52. MyEclipse EASIE WebLogic 10       
        53. MyEclipse EASIE WebLogic 6       
        54. MyEclipse EASIE WebLogic 7       
        55. MyEclipse EASIE WebLogic 8       
        56. MyEclipse EASIE WebLogic 9       
        57. MyEclipse EASIE WebLogic       
        58. MyEclipse EASIE WebSphere 5       
        59. MyEclipse EASIE WebSphere 6.1       
        60. MyEclipse EASIE WebSphere 6       
        61. MyEclipse EASIE WebSphere 4       
        62. MyEclipse Examples //樣例      
        63. MyEclipse Memory Monitor //內(nèi)存監(jiān)控      
        64. MyEclipse Tapestry Integration //插件集成      
        65. MyEclipse JSP Debug Tooling //jsp調(diào)試插件      
        66. MyEclipse File Creation Wizards //文件創(chuàng)建程序      
        67. ICEfaces Integration for MyEclipse //基于Ajax的JSF開(kāi)發(fā)框架()   
        68. MyEclipse Backward Compatibility //后臺(tái)功能      
        69. MyEclipse Perspective Plug-in //透視圖插件      
        70. Pluse Collaboration Control Center //Eclipse的網(wǎng)頁(yè)管理中心   
        71. eclipse-cs 4.x.x -> 5.0.0 Migration Plug-in  //Eclipse插件兼容組件   
        72. Mozilla Debug UI Plug-in(Incubation) //Mozilla調(diào)試插件(Mozilla是一款瀏覽器)      
        73. Dynamic Languages ToolKit Core UI //對(duì)入PHP等動(dòng)態(tài)語(yǔ)言支持的用戶(hù)接口   
        74. WTP Webservice UI Plug-in //Web 服務(wù)視圖插件      
        75. JavaServer Faces Tools - Core //jsf工具核心包      
        76. Automatic Updates Scheduler //自動(dòng)更新   
        77. Service policy  //Web提供的服務(wù)性能目標(biāo)定義,自動(dòng)管理   
        78. Atfdebug Plug-in(Incubation)  //動(dòng)態(tài)語(yǔ)言的調(diào)試工具   
        79. Auxiliary Web Module Support for MeEclipse// 輔助的Web模塊支持.(可能是Struts等文件自動(dòng)添加)   
        80. JSF Editor Preview Support for MyEclipse//jsf編輯器 
        81. 第四步:更改jsp默認(rèn)打開(kāi)的方式   
        82. 安裝了myeclipse后,編輯jsp頁(yè)面,會(huì)打開(kāi)他的編輯頁(yè)面,同時(shí)也有預(yù)覽頁(yè)面,速度很慢,不適合開(kāi)發(fā)。所以更改之windows–>perferences–>general–>editors->file associations   選擇*.jsp,把編譯器改為默認(rèn)啟動(dòng)MyEclipse JSP Edition(在下方選擇一種編輯器,然后點(diǎn)擊左邊的default按鈕   )
        83. 第五步: 更改內(nèi)存使用文件   
        84. 1、打開(kāi) eclipse.ini   
        85.   
        86. -startup
          ../Common/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
          --launcher.library
          ../Common/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
          -install
          D:/Myeclipse 8.5/Program
          -vm
          D:/Myeclipse 8.5/Common/binary/com.sun.java.jdk.win32.x86_1.6.0.013/jre/bin/client/jvm.dll
          -configuration
          configuration
          -vmargs
          -Xmx512m
          -XX:MaxPermSize=1024m
          -XX:ReservedCodeCacheSize=128m
          把下面的那個(gè) -XX:MaxPermSize 調(diào)大,比如 -XX:MaxPermSize=1024M,再把 -XX:PermSize 調(diào)成跟 -XX:MaxPermSize一樣大   
        87. 原因:大家一定對(duì)這個(gè)畫(huà)面很熟悉吧:   
        88. 幾乎每次 eclipse 卡到當(dāng)都是因?yàn)檫@個(gè)非堆內(nèi)存不足造成的,把最大跟最小調(diào)成一樣是因?yàn)椴蛔?nbsp;myeclipse 頻繁的換內(nèi)存區(qū)域大小   
        89. 注意:XX:MaxPermSize 和 Xmx 的大小之和不能超過(guò)你的電腦內(nèi)存大小   
        90. 經(jīng)理比較奢侈,就調(diào)到了1024
        91. 第六步: 取消Maven更新(啟動(dòng)更新)   
        92. Window > Preferences > Myeclipse> Maven4Myeclipse > Maven>禁用Download repository index updates on startup

        93. 改快捷鍵之類(lèi)的經(jīng)理就不介紹了。

          posted @ 2010-11-17 10:25 張?jiān)猈on 閱讀(18465) | 評(píng)論 (5)編輯 收藏

          最近發(fā)現(xiàn)很多朋友連攔截器都不知道,于是想寫(xiě)個(gè)BLOG總結(jié)一下。
          java攔截器的基本原理其實(shí)非常簡(jiǎn)單,說(shuō)白了就是動(dòng)態(tài)代理類(lèi)。
          下面來(lái)看一個(gè)簡(jiǎn)單的例子
          首先,我建立一個(gè)攔截器的類(lèi)InterceptorClass,這里的before()和after()方法是以后攔截器會(huì)執(zhí)行的方法
          CODE清單一:

          public class InterceptorClass {
           
          public void before()
            System.out.println(
          "攔截器InterceptorClass方法調(diào)用:before()!"); 
           }
           
           
          public void after()
               System.out.println(
          "攔截器InterceptorClass方法調(diào)用:after()!"); 
           }

          }

           

          我們模擬一個(gè)業(yè)務(wù)組件接口BusinessInterface,和一個(gè)業(yè)務(wù)組件實(shí)現(xiàn)類(lèi)BusinessClass
          CODE清單二:

          public interface BusinessInterface {
           
          public void doSomething();
          }

           

          CODE清單三:

          public class BusinessClass implements BusinessInterface {
           
          public void doSomething() {
             System.out.println(
          "業(yè)務(wù)組件BusinessClass方法調(diào)用:doSomething()"); 
           }

          }

           

          然后,創(chuàng)建一個(gè)動(dòng)態(tài)代理類(lèi)DynamicProxyHandler,這個(gè)類(lèi)是集成InvocationHandler接口的,動(dòng)態(tài)類(lèi)的原理實(shí)際上是使得當(dāng)你執(zhí)行一個(gè)動(dòng)態(tài)方

          法的時(shí)候,他可以把這個(gè)動(dòng)態(tài)方法dispatch到這個(gè)動(dòng)態(tài)類(lèi)上來(lái)。這樣,你就可以在這個(gè)方法的前后嵌入自己的一些方法。
          CODE清單四:
          //包含了業(yè)務(wù)對(duì)象綁定動(dòng)態(tài)代理類(lèi)的處理,并實(shí)現(xiàn)了InvocationHandler接口的invoke方法

          public class DynamicProxyHandler implements InvocationHandler {
           
          private Object business;//被代理對(duì)象
           private InterceptorClass inceptor = new InterceptorClass();//攔截器
           
           
          // 動(dòng)態(tài)生成一個(gè)代理類(lèi)對(duì)象,并綁定被代理類(lèi)和代理處理器
           public Object bind(Object business) {
             
          this.business = business;
             
          return Proxy.newProxyInstance(
               
          //被代理類(lèi)的ClassLoader
               business.getClass().getClassLoader(),
               
          //要被代理的接口,本方法返回對(duì)象會(huì)自動(dòng)聲稱(chēng)實(shí)現(xiàn)了這些接口
               business.getClass().getInterfaces(), 
               
          //代理處理器對(duì)象
               this);
           }


           
           // 代理要調(diào)用的方法,并在方法調(diào)用前后調(diào)用連接器的方法

           /**
            * 
          @param proxy  代理類(lèi)對(duì)象
            * 
          @param method 被代理的接口方法
            * 
          @param args   被代理接口方法的參數(shù)
            * 
          @throws Throwable
            
          */

           
          public Object invoke(Object proxy, Method method, Object[] args)
             
          throws Throwable {
            Object result 
          = null;
            inceptor.before();
            result
          =method.invoke(business,args);
            inceptor.after();
            
          return result;
           }


          OK,我們來(lái)寫(xiě)個(gè)類(lèi)測(cè)試一下
          CODE清單五:

          public static void main(String[] args) {
            
          //生成動(dòng)態(tài)代理類(lèi)實(shí)例
            DynamicProxyHandler handler = new DynamicProxyHandler();
            
          //生成待測(cè)試的業(yè)務(wù)組件對(duì)象
                  BusinessInterface business = new BusinessClass();
                  
          //將業(yè)務(wù)組件對(duì)象和動(dòng)態(tài)代理類(lèi)實(shí)例綁定
                  BusinessInterface businessProxy = (BusinessInterface) handler.bind(business);
                  
          //用動(dòng)態(tài)代理類(lèi)調(diào)用方法
                  businessProxy.doSomething();
           }


          來(lái)看看結(jié)果:


          近期struts2很流行,而且攔截器是struts2里面一個(gè)比較好的功能,下面舉個(gè)例子說(shuō)明一下攔截器在struts2中的用法。
          struts2對(duì)攔截器實(shí)現(xiàn)做了一個(gè)封裝,使得我們?cè)趯?shí)現(xiàn)的時(shí)候比較簡(jiǎn)單。
          首先我們要建一個(gè)攔截器類(lèi)
          CODE清單六:

          public class AuthorizationInterceptor extends AbstractInterceptor {
           @Override
           
          public String intercept(ActionInvocation invocation) throws Exception {
            Map session 
          = invocation.getInvocationContext().getSession();
            String userName 
          = (String) session.get("userName");
            
          if ( userName != null && userName.equals("test")) {
             System.out.println(
          "攔截器:合法用戶(hù)登錄---");
             
          return invocation.invoke();
            }

            
          else
            
          {
             System.out.println(
          "攔截器:用戶(hù)未登錄---");
             
          return Action.LOGIN;
            }

           }

          }


          這個(gè)類(lèi)是必須要繼承struts2包中提供的AbstractInterceptor類(lèi),這個(gè)類(lèi)有一個(gè)抽象方法intercept,這個(gè)方法是必須要實(shí)現(xiàn)的。
          那么經(jīng)理在這個(gè)攔截器里面寫(xiě)了一個(gè)簡(jiǎn)單的實(shí)現(xiàn),對(duì)url用戶(hù)合法性做了一個(gè)限制。

          接下來(lái)比較關(guān)鍵的是過(guò)濾器在struts2中的配置,先看看代碼
          CODE清單七:

          <package name="system" extends="struts-default">
            
          <interceptors>
             
          <!--  定義權(quán)限控制攔截器  -->
             
          <interceptor name="authority" 

          class
          ="com.sharesin.biz.common.intercepts.struts2.AuthorizationInterceptor"/>
             
          <!-- 定義一個(gè)包含權(quán)限控制的攔截器棧   -->
             
          <interceptor-stack name="mystack">
              
          <interceptor-ref name="defaultStack"></interceptor-ref>
              
          <interceptor-ref name="authority"></interceptor-ref>
             
          </interceptor-stack>
            
          </interceptors>
             
          <!--定義默認(rèn)攔截器   -->
                  
          <default-interceptor-ref name="mystack" />
             
          <!--定義全局處理結(jié)果   -->
            
          <global-results>
             
          <result name="login">index.jsp</result>
            
          </global-results>
            
          <action name="login_*" class="com.sharesin.biz.web.system.LoginAction" method="{1}">
             
          <result name="success">system/homepage.jsp</result>
            
          </action>
           
          </package>


          在interceptors節(jié)點(diǎn)里,我們可以定義多個(gè)攔截器,這里的名為authority的只是其中的一個(gè)。struts2的攔截器棧我是先執(zhí)行struts2默認(rèn)的攔

          截器defaultStack,然后再執(zhí)行我的。然后只需要用default-interceptor-ref標(biāo)簽設(shè)置好這個(gè)system包中的默認(rèn)攔截器為這個(gè)攔截器就OK了。

          struts2中引入了package這個(gè)概念,我覺(jué)得十分實(shí)用,當(dāng)然這對(duì)struts2攔截器也是個(gè)實(shí)惠,我們可以根據(jù)不同的action來(lái)分包和不同的攔截器


          ok,來(lái)運(yùn)行測(cè)試一下。


          結(jié)果..


           

           

           

           

           

          posted @ 2010-09-06 17:21 張?jiān)猈on 閱讀(4518) | 評(píng)論 (3)編輯 收藏
               摘要:  在FLEX開(kāi)發(fā)中有一些小技巧,經(jīng)理在這里總結(jié)下,方便以后查閱,也希望能和大家一起交流。 這些小功能在實(shí)際開(kāi)發(fā)中是很經(jīng)常用的。 一、在DataGrid的列中加圖片 做報(bào)表的時(shí)候經(jīng)常會(huì)在DataGrid中加入一些刻度條或者增減的圖片表示一些API指標(biāo)值,其實(shí)這個(gè)功能FLEX可以實(shí)現(xiàn)。 在DataGrid-colums-DataGridColumn中有個(gè)itemRenderer屬性,...  閱讀全文
          posted @ 2010-09-03 11:39 張?jiān)猈on 閱讀(3922) | 評(píng)論 (1)編輯 收藏
          主站蜘蛛池模板: 慈溪市| 夏河县| 黔江区| 泰州市| 托克逊县| 丘北县| 定结县| 苗栗县| 女性| 洛扎县| 府谷县| 吴旗县| 定陶县| 当涂县| 呼图壁县| 华阴市| 舞钢市| 修武县| 根河市| 镇原县| 灵山县| 会昌县| 陇西县| 龙岩市| 民勤县| 望江县| 黄平县| 曲周县| 永康市| 南岸区| 四川省| 仁寿县| 财经| 南开区| 凤城市| 邢台市| 循化| 扬州市| 金溪县| 漠河县| 离岛区|