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

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

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

    程序人生

    不甘寂寞^_^
    posts - 2, comments - 2, trackbacks - 0, articles - 4
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    2012年2月15日

    一、創(chuàng)建"概念數(shù)據(jù)模型"-CDM(Conceptual Data Model) 
    (1)打開PowerDesigner,點(diǎn)擊File(文件)->New(新建) 
    (2)選擇Conceptual Data Model,并修改Model name(模型名). 
    (3)在Palette工具欄中點(diǎn)擊Entity(實(shí)體)工具,并在工作區(qū)中建立Entity
    (4)雙擊一個Entity.在彈出的Entity Properties中輸入Name,Code.其中Name是在顯示時使用的名稱,而Code是在代碼中使用的名稱. 
    注:修改name的內(nèi)容,code也跟著變化,如何讓code不隨著name變化,Name和Code 的右側(cè)都有一個按鈕“=”,如果需要不同步的話,把這個按鈕彈起來就可以了。
    Tools(工具)->General Options(常規(guī))->Dialog(對話)->Name to Code Mirroring(名字編碼映射) 去掉
        
        
    (5)點(diǎn)擊Attributes(屬性),建立相應(yīng)的屬性:Name:顯示名稱,Code:代碼名稱,Data Type:數(shù)據(jù)類型,Length:數(shù)據(jù)長度,Precision:數(shù)據(jù)精度,M:必須的,P:主鍵,D:顯示. 
    注:允許字段同名,.默認(rèn)不允許有相同字段 
    Tools-->model options-->model settings(模型設(shè)置)-->Data Item(數(shù)據(jù)選項(xiàng))-->unique code去勾則可
    (6)選中主鍵列,點(diǎn)擊工具列中的Create Identifier(標(biāo)識符)按鈕. 
    (7)輸入Name及Code,因?yàn)槭侵麈I列,所以選中Primary identifier. 
    (8)建關(guān)系: 點(diǎn)擊工具欄中的關(guān)系工具,在學(xué)生表Entity上點(diǎn)擊并拖至成績表Entity. 
               雙擊關(guān)系-->name關(guān)系描述/code約束名-->Detail(細(xì)節(jié)): 一對一,一對多, 多對多,多對一
    (9)建約束:雙擊字段名-->Standard checks(標(biāo)準(zhǔn)檢查)可設(shè)置最大值|最小值|默認(rèn)值-->additional Checks(附加檢查):可手寫check約束
    (10)檢查是否有錯 Tools-->check  model
    注:刪除未改名的字段,不然報(bào)錯
    二、根據(jù)CDM生成"物理數(shù)據(jù)模型"-PDM(Physical Data Model)
    1.Tools-->generate  physical(產(chǎn)生物理模型)-->選擇數(shù)據(jù)庫類型,例sql  server 2000
    注:a.不能改文件夾,必須是DBMS文件夾中
    2.主外鍵設(shè)置:雙擊關(guān)系-->joins(連接)選擇各表的主外鍵字段
    3.建標(biāo)識列:雙擊字段名 -->Genral-->identity前面加勾 
    三、為特定DBMS創(chuàng)建數(shù)據(jù)庫的SQL語句。
    Data base-->generate  database(產(chǎn)生數(shù)據(jù)庫)-->Director選擇文件生成的位置?
    注:(1)可以通過修改模板(Database-Edit Current DataBase)改變腳本的格式。例如:
         Script-Objects-Column-Add的Value中開頭增加一行“--%COLNNAME%”以便在腳本中顯示列的中英文對照
        (2)由pdm生成建表腳本時,字段超過15字符就發(fā)生錯誤(oracle)
           打開PDM后Database-->Edit Current-->DBMS -script-objects-column-maxlen,把value值調(diào)大(原為 30),比如改成60。出現(xiàn)表或其它對象的長度也有這種錯誤都可以選擇對應(yīng)的objects照此種方法更改!
        (3)執(zhí)行sql語句時,需先建數(shù)據(jù)庫,因?yàn)樵摴ぞ呱傻哪_本建表不建庫。
           且腳本用的修改表,執(zhí)行兩次就OK了
    四、利用已現(xiàn)有模塊導(dǎo)出數(shù)據(jù)字典文件
    (1)”數(shù)據(jù)字典模板”,并將它復(fù)制到安裝目錄的Resource Files\Report Templates文件夾中
    (2)右擊"PDM"-->新增-->report(報(bào)表)-->新建-->ReportName報(bào)表名,language語言(選擇Simplified Chinese簡體中文),report template報(bào)表模塊(選擇數(shù)據(jù)字典模板)-->編輯或直接使用使用該模板
    (3)選擇report工具欄中-->Generate Html生成HTML字典| Generate RTF生成DOC字典
    注:修改報(bào)表模板中一些術(shù)語的定義
    即文件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
    Tools-Resources-Report Languages-選擇Chinese-單擊Properties或雙擊目標(biāo)
    修改某些對象的名稱:Object Attributes\Physical Data Model(物理數(shù)據(jù)模型)\Column\
            ForeignKey:外鍵
            Mandatory:為空
            Primary:主鍵
            Table:表
    用查找替換,把“表格”替換成“表”
    修改顯示的內(nèi)容為別的:Values Mapping\Lists\Standard,添加TRUE的轉(zhuǎn)化列為是,F(xiàn)ALSE的轉(zhuǎn)化列為空
    另外Report-Title Page里可以設(shè)置標(biāo)題信息
    五、根據(jù)已存在的數(shù)據(jù)庫反向生成PDM,CDM及創(chuàng)建數(shù)據(jù)庫的SQL腳本。
     
    DataBase -->reverse Engineer DataBase(反轉(zhuǎn)數(shù)據(jù)庫) -->  Using an ODBC data source 
    注:需要配置數(shù)據(jù)源。問:如何反向MYsql
        
    如果報(bào)以下錯誤的解決方案:
    Unable to list the users.
    [Microsoft][ODBC SQL Server Driver][SQL Server]無法預(yù)定義語句
    SQLSTATE = 37000
    解決方案:修改語法檢查規(guī)范
    步驟一:選擇菜單欄中的Database -> Change Current DBMS ,給DBMS選擇SQL Server2005。
    步驟二:重新配置ODBC連接,取消"更改默認(rèn)的數(shù)據(jù)庫為"選擇。
    步驟三:從PD里選擇File -> Reverse Engineer -> Database 
    步驟四:選擇數(shù)據(jù)庫,選擇表,OK,大功造成。

    posted @ 2012-02-15 21:18 阿星 閱讀(4964) | 評論 (0)編輯 收藏

    2012年2月13日

             作為一個程序員所操作的數(shù)據(jù)庫肯定不至一兩個,在這個項(xiàng)目可能用這個數(shù)據(jù)庫。換下一個項(xiàng)目可能數(shù)據(jù)庫也跟著換了,雖然接觸的數(shù)據(jù)庫很多,但我們可能并不是對每一個數(shù)據(jù)庫都能操作自如。有時對一些特殊的數(shù)據(jù)進(jìn)行批量修改或更新時,沒有在自己熟悉的數(shù)據(jù)庫上操作自如,因此我們會想到將數(shù)據(jù)導(dǎo)出至我們熟練的數(shù)據(jù)庫中修改好之后再將其導(dǎo)入。

            下面以Access和Oralce為例,跟大家簡單介紹下導(dǎo)入導(dǎo)出過程:1、Access

    1、將Access中的數(shù)據(jù)導(dǎo)出到Orcale:

      1>用Access打開要導(dǎo)出的數(shù)據(jù)庫

       2>按下圖操作:

















    2、修改數(shù)據(jù),這個過程省略,因?yàn)楦饔兴?..

    3、將修改好的數(shù)據(jù)導(dǎo)入:











    如以上圖操作兩數(shù)據(jù)庫的導(dǎo)入導(dǎo)出應(yīng)該沒有問題啦...


    posted @ 2012-02-13 22:57 阿星 閱讀(448) | 評論 (0)編輯 收藏

    2012年2月10日

    以下是本人在使用MyEclipse工具的一些心得,希望對大家有用!

    1. 修改MyEclipse開啟頁面圖標(biāo)
      a、首先找到這個圖片:
      我的目錄是:D:\Program Files\MyEclipse 6.5\myeclipse\eclipse\splash.bmp
      注意6.0以前版本文件名也所不同,其實(shí)只要隨便找一個bmp的文件,也可以,
      用畫圖打開,然后寫上自己的大名.....
      b、找到eclipse目錄的eclipse.ini
       最后面加一句:-Dosgi.splashLocation=圖片路徑,即可。


    2、修改MyEclipse中的快捷鍵:
         Window---->Preferences---->搜索[key]找到keys頁面---->做相應(yīng)修改
          content Assist   ----  Alt+/


    3.讓MyEclipse飛起來:
       a、Window---->Preferences---->搜索[mav]找到Maven頁面----->將該頁面的勾全去掉
       b、...搜索[star]找到Startup and Shutdown頁面---->可去掉90%的選項(xiàng)


    4、修改jsp頁面默認(rèn)編碼格式:
        Window---->Preferences---->搜索[jsp]找到JSP頁面---->Encoding:選擇UTF-8


    5、修改MyEclipse的默認(rèn)端口:
        a、Window---->Preferences---->搜索[tom]--->MyEclipse Tomcat--->8088[自帶tomcat]
           如果是Tomcat 6.0或其它版本的要找到Tomcat的安裝文件conf中的server.xml文件修改
           其中的端口號
        b、找到MyEclipse頁面工具欄的【電腦圖標(biāo)】點(diǎn)擊對其進(jìn)行相應(yīng)的修改,OK搞定....

    posted @ 2012-02-10 22:23 阿星 閱讀(862) | 評論 (0)編輯 收藏

    正確安裝RTX后,在以下目錄下可以找到一個獲取用戶電話號碼的cgi文件,

    ..\Tencent\RTXServer\WebRoot\GetMobile.cgi

    調(diào)用方式:直接在瀏覽器中輸入http:127.0.0.1:8012//GetMobile.cgi?receiver=username  

    注:cgi方式調(diào)用默認(rèn)端口是:8012

    就可獲取用戶[username]在RTX中的電話號碼。

    要想獲取郵箱則需要復(fù)制一份cgi文件,因?yàn)閞tx中沒有提供現(xiàn)在,只需復(fù)制GetMobile.cgi文件于同目錄下,再做以下修改就OK咯

    <?PHP

    $receiver = $_GET["receiver"];

    if (strlen($receiver) == 0)
    {
    $receiver = $_POST["receiver"];
    }

    $ObjApi= new COM("Rtxserver.rtxobj");
    $objProp= new COM("Rtxserver.collection");
    $Name = "USERMANAGER";
    $ObjApi->Name = $Name;
    $vName="";
    $vValue="";
    $objProp->Add("USERNAME", $receiver);
    $objProp->Add("UINTYPE", "Account");

    $Result = @$ObjApi->Call2(0x6, $objProp);

    if(strcmp($nullstr, $errstr) == 0)
    {

    $Result->GetKeyValue(1, $vName, $vValue); //1:是取郵箱 5:是取電話號碼

    header("Ret Code: 0");
    header("Ret String: 操作成功");
    header("Mobile: ".strVal($vValue));
    echo $vValue;
    }
    else
    {
    header("Ret Code: -1");
    header("Ret String: ".$errstr);
    echo $errstr;
    }
    ?>

    posted @ 2012-02-10 22:22 阿星 閱讀(925) | 評論 (0)編輯 收藏

    公司最近的一個項(xiàng)目有這樣一個需求:就是通過java代碼調(diào)用RTX提供的API向RTX發(fā)送消息,達(dá)到一種及時提醒的效果。

      讓我對RTX有了一定的了解和認(rèn)識:

      雖然RTX提供的API還比較豐富,但操作的過程中還是會碰到一些大大小小的問題。

          我所碰到的第一個問題就是數(shù)字賬號無法發(fā)送消息的問題:

     

        public int sendNotice(RtxSendNoticeBean rtxb) {
        int iRet= -1;
        RTXSvrApi RtxsvrapiObj = new RTXSvrApi();   //RTX提供的API

        if( RtxsvrapiObj.Init()){ 
          RtxsvrapiObj.setServerIP(rtxb.getServerip()); //設(shè)置RTX服務(wù)器IP地址
          RtxsvrapiObj.setServerPort(rtxb.getServerprot()); //設(shè)置RTX服務(wù)器端口

          String szKey = RtxsvrapiObj.getSessionKey(rtxb.getRecivers());
          System.out.println("SessionKey:" + szKey);
          //API中的消息發(fā)送 功能    0:操作成功 非0:操作不成功  
          iRet = RtxsvrapiObj.sendNotify(rtxb.getRecivers(),rtxb.getTitle(),rtxb.getContent(), rtxb.getType(),rtxb.getDelarytime());
        }
        if (iRet == 0){
          System.out.println("發(fā)送成功");
        }else{
          System.out.println("發(fā)送失敗");
        }
        RtxsvrapiObj.UnInit();
        return iRet;
       }

      使用以上代碼,若RTX是非純數(shù)字賬號就沒問題,可以發(fā)送。但如果是純數(shù)字賬號就沒反應(yīng),經(jīng)多處查找資料得處結(jié)果,這是RTX2011之前版本的bug。要想同時操作數(shù)字賬號可以用以下兩種方式解決:

      1、直接安裝RTX2011SDK(若此方案可行就不用再做不第二步操作)

        下載文件:RTXS2011SDK(8.0.786.202).exe

       2、如果已安裝2010SDK,又不想使用RTX2011版SDK,就需要做已下修改:

        a. 把RTXSSDK2010安裝目錄下的SDKAPIC.dllSDKAPI.dllSDKAPIJava.dll用RTX2011SDK中的進(jìn)行覆蓋。

        b. 再把SDKAPIC.dllSDKAPI.dllSDKAPIJava.dll拷貝去覆蓋./windows/system32

        c. 用regsvr32 命令注冊一下SDKAPI.dll文件。

       最后需要在RTX提供的API中添加一行代碼:

     

      /**
      * 發(fā)送消息提醒
      * @param receivers String 接收人(多個接收人以逗號分隔)
      * @param title String 消息標(biāo)題
      * @param msg String 消息內(nèi)容
      * @param type String 0:普通消息 1:緊急消息
      * @param delayTime String 顯示停留時間(毫秒) 0:為永久停留(用戶關(guān)閉時才關(guān)閉)
      * @return int 0:操作成功 非0:操作不成功
      */
      public int sendNotify(String receivers,String title,String msg, String type,String delayTime) {

        svrInit(OBJNAME_RTXEXT);

        AddProperty(iProp, KEY_USERNAME, receivers);
        AddProperty(iProp, KEY_TITLE, title);
        AddProperty(iProp, KEY_MSGINFO, msg);
        AddProperty(iProp, KEY_TYPE, type);
        AddProperty(iProp, KEY_MSGID, "0");
        AddProperty(iProp, KEY_ASSISTANTTYPE, "0");
        AddProperty(iProp,KEY_UINTYPE,"Account");     // 如果設(shè)置KEY_UINTYPE 為Account,無論傳進(jìn)去是純數(shù)字還是字符串,都認(rèn)為是帳號。

     

        if(!"0".equals(delayTime))
          AddProperty(iProp, KEY_DELAYTIME, delayTime);

     

        iResult = Call(iObj, iProp, PRO_EXT_NOTIFY);
        innerCode = GetResultInnerCode(iResult);

        release();
        return innerCode;
      }

         這樣改好這后,大功告成!

    posted @ 2012-02-10 22:20 阿星 閱讀(2446) | 評論 (2)編輯 收藏

       在上一遍中講到,用java調(diào)用RTX的API實(shí)現(xiàn)發(fā)送消息的功能。經(jīng)測試在Windows平臺下tomcat上面是沒問題的,可以實(shí)現(xiàn)想要的功能;但將代碼部署至Linxu平臺WAS下就行不通咯。因?yàn)檫@樣寫的代碼是不能實(shí)現(xiàn)跨平臺操作的,可我現(xiàn)在做的這個項(xiàng)目恰好是要發(fā)布在Linux平臺中的WAS服務(wù)器上,所以之前的代碼又得重新編寫:

          要實(shí)現(xiàn)通過代碼跨平臺發(fā)送RTX消息可有以下兩種方式:

          1、寫一個中轉(zhuǎn)程序,就是將寫好的java調(diào)用代碼封裝成一個web應(yīng)用程序。

          2、改用CGI方式發(fā)送RTX消息。

          我采用的是第二種方式,下面就為大家介紹下本人的操作過程:

    第一步:RTX服務(wù)端IP授權(quán)

         1.用記事本打開System32下的rtxServerApi.ini文件,把Host改為RTX服務(wù)器的IP地址。

        2.進(jìn)入RTX服務(wù)器安裝目錄../RTXServer下,用記事本打開SDKPorperty.xml文件,在里面增加開發(fā)機(jī)器地址(如下圖所示),保存后重啟RTX服務(wù)。

     

                 

    第二步:實(shí)現(xiàn)代碼:

    View Code

    第三步:如果RTX賬號中有純數(shù)字賬號還得做以下操作,不能數(shù)字賬號還是不行

         找到RTXServer的安裝目錄..\Tencent\RTXServer\WebRoot\SendNotify.cgi紅色部分為添加內(nèi)容)

    <?PHP
    ........
    $Name = "ExtTools";
    $ObjApi->Name = $Name;
    $objProp->Add("UINTYPE", "Account"); //允許操作純數(shù)字賬號
    $objProp->Add("msgInfo", $msg);
    .............
    ?>


    有興趣的或正在開發(fā)此功能的朋友可以去實(shí)下,希望對你有所幫助.....

    posted @ 2012-02-10 22:20 阿星 閱讀(2901) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 色妞WWW精品免费视频| 亚洲人成电影在线观看网| 女人18毛片免费观看| 久艹视频在线免费观看| 免费福利在线观看| 国产成人精品亚洲2020| 亚洲av福利无码无一区二区| 免费va人成视频网站全| 久久不见久久见中文字幕免费| 午夜无码A级毛片免费视频| 丁香六月婷婷精品免费观看| 亚洲精品无码不卡在线播放| 亚洲国产美女精品久久久久| 亚洲av无码成h人动漫无遮挡| 亚洲精品tv久久久久久久久久| 我要看免费的毛片| 免费看黄视频网站| 1000部啪啪毛片免费看| 午夜免费啪视频在线观看 | 久久免费观看国产精品| 黄色网页在线免费观看| 二级毛片免费观看全程| 国产精品亚洲专区在线播放 | 亚洲成年人免费网站| 久久精品国产大片免费观看| 三上悠亚在线观看免费| 国产精品玖玖美女张开腿让男人桶爽免费看 | 亚洲色偷偷色噜噜狠狠99网| 亚洲一级片在线观看| 亚洲国产精品人久久电影| 亚洲精品乱码久久久久久下载| 亚洲AV成人无码久久精品老人| 久久精品国产亚洲综合色| 亚洲欧洲精品无码AV| 国产V亚洲V天堂无码| 亚洲成a人片在线观看日本| 亚洲成A∨人片在线观看不卡| 亚洲国产成人一区二区三区| 亚洲AV无码一区二区三区DV| 亚洲AV无码成人专区片在线观看| 亚洲an天堂an在线观看|