posts - 37,  comments - 9,  trackbacks - 0
CVSNT是服务器管理工具,再在客户端下个WINCVS就可以(关于wincvs使用,可以在网上找下,因为eclipse已经很好地集成了 cvs)就可以一起协同工作了。这二天我从下载CVSNT到用eclipse新建项目,共享项目,不同的客户端导入项目都在公司局域网内的不同机子上测试 通过。记录如下:

首先从http://www.cvsnt.org处下得你想要的cvsnt版本,我下的是2.5.03,安装完成后。从程序中打开cvsnt control panel(CVSNT 控制面板)。下面开始配置CVSNT,主要是创建资源并让它可以通过客户端的IDE (eclipse)来访问。

  开始配置cvsnt

  a 查看运行状态:
  在about面板有个cvsnt  和 cvsnt lock二个选项,这儿可以对其进行start,stop服务

  b 添加资源
  在repository config面板中可以添加删除资源,这儿主要设定了repository 的name and  root值。如我在这儿将name设置为\mycvs,root为e:\mycvs。创建后会在对应的目录下生成cvsroot文件夹及cvs相关配置文 件。 OK,确定。这个地方可以要重启服务才能生效

  c 兼容:
  在conpatibility option 面板上选择兼容的版本,注意一定要勾上respond as cvs 1.11.2 to version request,为了与eclipse中的cvs兼容(在eclipse中的cvs版本很可能与你cvsnt版本不同)。

好了,现在服务器上的资源路径已经设定好了。


通过IDE共享一个工程  


打开eclipse新建一个项目,然后在项目上右击/team/share project (小组/共享项目),在弹出的share  project whith cvs reposity对话框中选择一个cvs路径(第一次当然是新建了),在host中填入CVSNT的主机地址如:192.168.12.17,在 repository path中填入cvsnt中的name值如:/mycvs。user中写cvsnt所分配的用户名,password中写入密码(下面将会讲些cvs中如 何管理用户)。在connection type中一般选择pserver连接类型。然后就是记住密码什么的...  :-)。OK ,NEXT提示一路完成!

   
在客户端从cvs上导入共享工程:


在客户端的eclipse中打开cvs视图,根据CVSNT的路径及其给你所分配的用户相关信息新建一个CVS的资源路径。ok,开始引入共享工程了:

可以直接从cvs中check out出来,也可以从new/project/cvs/projects from cvs。选中你刚刚把建立cvsnt资源路径,你可以在use an existing module中看到所有的共享项目了。然后选择一个你想导入的项目check out出来到本机....

  全部完成^_^,本来想剪几个图上来的,有些麻烦,太不方便了。不过过程比较简单,很快就可以搞定。客户端将cvsnt上的工程检出是比较 简单的。主要是在cvsnt上的相关配置。我在网上找了些资料,完成了如添加不同的用户。介绍有个cvsnt的GUI工具可以直接图形化操作。看介绍很 easy ,下载URL:http://www.kdeopen.com(偶一直打不开,郁闷,希望各位运气比我好) 。我只好在控制台下添加删除用户了。

  cvsnt用户管理

  在用户管理中以下是cvs的一些命令参数
Usage: cvs passwd [-a] [-x] [-X] [-r real_user] [-R] [-D domain] [username]
         -a      Add user
         -x      Disable user
         -X      Delete user
         -r      Alias username to real system user
         -R      Remove alias to real system user
         -D      Use domain password

  服务器工作在CVSNT用户单一验证方式下的时候,文件passwd定义了CVSNT的用户信息,这里面保存着用户名,用户密码,以及别名 信息。默认状态下 没有该文件,但是我们可以在CVSNT还工作在混合验证方式下时,用系统管理员登录,通过添加用户命令来让CVSNT自动建立一个passwd文件。

 登录:login
  cvs -d :pserver:administrator@127.0.0.1:/mycvs login

 添加用户
  cvs -d :pserver:administrator@127.0.0.1:/mycvs passwd -a zyx

之后系统提示输入密码,输入后服务器会新建一个passwd文件。该文件的内容很简单,形式如下:

zyx:YT2p2NmdmUlEg:

  以第一行为例:zyx为用户名,YT2p2NmdmUlEg为CVS使用UNIX标准加密函数对密码进行加密后的结果。

  若想以混合验证的方式验证得对应一个window的系统用户名(zyinxin),这时就用参数-r来指定,如:
      cvs -d :pserver:administrator@127.0.0.1:/mycvs passwd -r zyinxin -a zyx 

这时生成文件内容如下:
zyx:YT2p2NmdmUlEg:zyinxin
zyinxin为该用户的别名(它是参考系统用户),

注意:这个文件是不能在客户端进行修改的,不能checkout出来。

  添加完成后你可以通过login来测试用户zyx是否创建成功

  删除用户:
  cvs -d :pserver:administrator@127.0.0.1:/mycvs passwd -x zyx




附:参考了网上一些资料,刚刚学习,愿一起进步。谢谢!

posted @ 2011-01-02 16:34 wawlian 阅读(668) | 评论 (0)编辑 收藏
MyEclipse6.0的快捷键中把我们习惯性使用的Alt+/进行代码自动补齐的快捷键改为了ctrl+空格,大家知道这是我们切换中英文输入法的 键,所以我们需要更改这个快捷键,方法如下:
1.
选择MyEclipse6.0菜单栏中的Window->preferences
2.
选择General->keys;
3.
在右侧中间的窗体中点击word completion后再点击remove binding,在下方的binding中随便输入一个快捷键;
4.
然后选择Content Assist点击Remove binding,在binding中输入Alt+/
5.
点击Ok就可以了。
如果还是不提示有可能是提示功能被关了. 如下做
1
、菜单window->Preferences->Java->Editor->Content Assist->Enable auto activation 选项要打上勾
2
window->Preferences->Java->Editor->Content Assist->Advanced   上面的选项卡Select the proposal kinds contained in the 'default' content assist list: 中把 Other Java Proposals 选项打上勾就可以了。

让Eclipse,MyEclipse拥有Microsoft Visual Studio那样的自动提示功能:

一般默认情况下,Eclipse ,MyEclipse 的代码提示功能是比Microsoft Visual Studio的差很多的,主要是Eclipse ,MyEclipse本身有很多选项是默认关闭的,要开发者自己去手动配置。如果开发者不清楚的话,就不知道Eclipse ,MyEclipse的代码提示功能一样能像Microsoft Visual Studio的代码提 示功能一样强大。好了,废话就说那么多了,让我们来配置一下

1.打开Eclipse或者MyEclipse,点击 "窗口">>"首选项">>"Java">>"编辑器">>"内容辅助"

2.在 "内容辅助" 面板里找到 "Java的自动激活触发器" ,在  "Java的自动激活触发器"  左边的输入框里输入 ".abc ",点击 "应用">>"确定"

3.点击 "文件">>"导出">> "常规" >> "首选项" 然后选择你要导出的文件路径

4.用记事本打开刚才导出的文件,找到 ".abc",然后把它替换成 " .abcdefghijklmnopqrstuvwxyz(, "  ,保存

5.将刚才修改的文件导入到Eclipse或者是MyEclipse中,点击 "文件">>"导入">>"常规">>"首选项",然后选择刚才修改的文件这样Eclipse, MyEclipse就可以像Microsoft Visual Studio那样的自动提示功能了!

posted @ 2010-12-29 20:28 wawlian 阅读(356) | 评论 (0)编辑 收藏
一、添加本地连接的"internet 连接共享"
 
网络连接 
--> 本地连接 --> 属性 --> “高级”选项卡 --> internet 连接共享 --> 勾选
家庭网络连接 
--> 选择“VMnet1”
 
此时,VMnet1的ip地址被设为:
192.168.0.1
 
二、设置VM linux的ip。
 
ip设为:从 
192.168.0.1 到 192.168.0.254 之间的某一值
submask设为:
255.255.255.0
gateway设为:
192.168.0.1
dns server设为:
192.168.0.1
posted @ 2010-12-24 14:28 wawlian 阅读(854) | 评论 (0)编辑 收藏

在安装arcgis desktop sdk for .net framework 时,出现了错误,提示:
installer information:
the arcgis desktop sdk for the microsoft .net framework setup requires arcgis desktop 9.3 with the .net support feature。

原因:

你安装了arcgis desktop,安装之前是否已经安装的net framework2.0?自定义安装还是典型安装的?最好自定义安装,看看net支持的部分是否选择上
安装arcgis desktop,但net支持的部分没装上(全部安装是没有选上的)

修复一下arcgis desktop,把.net的支持装上就OK

posted @ 2010-09-21 22:31 wawlian 阅读(563) | 评论 (0)编辑 收藏

在地址栏输入www.microsoft.com或者www.microsoft.com/china都无法访问的解决方法:

1、在“我的电脑”右击现则 “服务” 在打开的服务列表中选择 “ DNS Client” ,右击 属性 将“启动类型” 改为 “手动”或者“禁用”,点击“确认”。

2、在“DNS Client”上右击 选择“停止” ,会出现正在停止的画面。

停止完后,在试试www.microsoft.com或者www.microsoft.com/china 应该都能访问了。

posted @ 2010-09-16 12:57 wawlian 阅读(1289) | 评论 (4)编辑 收藏
struts2中result常见的几种转发类型:dispatcher(默认)即内部请求转发,redirect重定向,redirectAction,plainText。
下面分别介绍以下几种方式。

1.dispatcher方式:
   这种方式是struts2中默认的转发类型,即内部请求转发,类似于forward的方式。这里不专门介绍。

2.redirect方式:
   首先看一下以下的配置代码片段:
1 <action name="redirect">
2     <result type="redirect">/add.jsp</result>
3 </action>
   这时候,用户在浏览器中访问该action,例如,我们输入URL:http://localhost:8080/hello/redirect.action,当用户开始访问,我们会看到,浏览器的url地址变成:http://localhost:8080/hello/add.jsp。这说明,配置的确实是浏览器重定向的方式。

3.redirectAction方式:
   这种方式可以简单的理解成转向到另一个Action。这种配置往往在下面的情况下需要用到:例如,当管理员添加完一个用户后,系统自动跳转到用户列表的界面。那么我们进行如下配置:
1 <action name="redirectAction">
2     <result type="redirectAction">listAction</result>
3 </action>
    而其中的listAction是用来控制显示所有用户的action。并且,该action必须和redirectAction处在同一个package下面。那么如果不在同一个包下,则需进行如下配置:
1 <result type="redirectAction">
2     <param name="actionName">XXX</param>
3     <param name="namespace">YYY</param>
4 </result>
    其中XXX代表你要转向到的Action的名称,YYY代表该Action所在package对应的名称空间。

4.plainText方式
    这种方式一般来说使用的比较少,可能用到的情况:原样输出源代码。配置如下:
1 <action name="abc" >
2     <result type="plainText">
3         <param name="location">/index.jsp</param>
4         <param name="charSet">UTF-8</param>
5     </result>
6 </action>
   这时,index.jsp的源代码则会以文本方式显示在浏览器中。


posted @ 2010-09-04 14:21 wawlian 阅读(751) | 评论 (0)编辑 收藏
        使用的是Hibernate3.2.x版本。数据库采用的是MySQL5.1。实现保存用户的功能。由于主要是搭建开发环境以及写第一个测试的小应用,因此里面的代码只是简单的实现功能。
        1.下载Hibernate3.2。www.hibernate.org现在可能很难找到该版本,所以可以在百度搜索一下。下载后将压缩文件解压到本地硬盘,例如,我解压到F:\hibernate-3.2目录。
        2.安装MySQL数据库,创建一个叫hibernatefirst的数据库,然后use该数据库(关于MySQL安装以及MySQL如何创建数据库等这里就不详细说了。)
        3.在MyEclipse中新建一个Java项目(不用是Web项目,Java项目即可),取名为hibernate。在项目下新建一个Folder,取名为lib,将hibernate解压路径下的hibernate3.jar文件,以及hibernate解压路径下的lib目录下的所有jar文件一并拷贝到该lib目录下。此外,hibernate作为一个持久层框架,其底层使用的依然是JDBC,因此,需要将MySQL的JDBC驱动加入该lib目录下。这样hibernate需要的jar文件就齐了。但是这些jar文件并没有加入该项目的classpath中,因此是无法在项目中引用的。因此,选中项目下lib目录下的所有jar文件,右键—>buildpath—>Add to Buildpath。
        4.环境已经搭建好了,开始第一个简单的hibernate项目吧。在src目录下新建包:com.xiaobai.hibernate.domain,在其下创建类User,代码如下:
 1package com.xiaobai.hibernate.domain;
 2
 3import java.util.Date;
 4
 5public class User {
 6
 7    private int id;
 8    private String name;
 9    private Date birthday;
10    public int getId() {
11        return id;
12    }

13    public void setId(int id) {
14        this.id = id;
15    }

16    public String getName() {
17        return name;
18    }

19    public void setName(String name) {
20        this.name = name;
21    }

22    public Date getBirthday() {
23        return birthday;
24    }

25    public void setBirthday(Date birthday) {
26        this.birthday = birthday;
27    }

28}

29

        5.为User类编写映射文件User.hbm.xml。在com.xiaobai.hibetnate.domain包下创建该文件,作为新手肯定不知道该文件中到底应该写点什么,没关系,hibernate为我们提供的示例中有,copy过来再进行修改就好。到hibernate解压路径下的eg\org\hibernate\auction路径下,拷贝一个User.hbm.xml文件过来,将<hibernate-mapping>标签内的内容全部删除,将<hibernate-mapping>标签的package改成User类所在的包,也就是该映射文件所在的包。然后在<hibernate-mapping>标签对中添加如下内容:
1<class name="User">        
2        <id name="id">
3            <generator class="native"/>
4        </id>
5        <property name="name"/>
6        <property name="birthday"/>
7</class>
差点忘了说明,映射文件的命名是XXX.hbm.xml,其中的XXX是你所要映射的domain对象的名称,例如这里是User。
        6.编写hibernate配置文件hibernate.cfg.xml。到hibernate解压路径下的etc目录下拷贝一份到src目录下,注意不在包下,而是在src目录下。将以下代码覆盖copy过来的版本:
 1<!DOCTYPE hibernate-configuration PUBLIC
 2    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 3    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 4
 5<hibernate-configuration>
 6    <session-factory>
 7        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
 8        <property name="hibernate.connection.url">jdbc:mysql:///hibernate</property>
 9        <property name="hibernate.connection.username">root</property>
10        <property name="hibernate.connection.password">******</property>
11        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
12        <property name="hibernate.hbm2ddl.auto">create</property>
13        
14        <property name="show_sql">true</property>
15        <mapping resource="com/xiaobai/hibernate/domain/User.hbm.xml"/>
16    </session-factory>
17</hibernate-configuration>
前面数过,hibernate底层也是通过JDBC实现的,因此也需要提供连接数据库的信息,所以前面四条属性就不难理解了。由于hibernate能支持很多关系型数据库,那么生成sql语句时,会根据数据库不同而作一定的调整,所以,需要配置数据库方言的信息,这就是第五条所配置的。默认情况下,我们只创建了数据库,数据库中并没有User对应的表,因此,保存User对象前需要先创建表,那么第六条配置的就是这个内容。另外,第七条配置让hibernate在打印生成的sql语句。最后,不要忘了将映射文件以资源的形式加入配置文件,这就是<mapping>标签中配置的内容。这么多的属性name是不用记住的,进入hibernate解压路径,etc目录下有一个hibernate.properties文件,里面包含了所有的属性的示例。在配置的时候照猫画虎拷贝需要的过来进行修改即可。
        7.配置搞定,下面编写一个测试类,代码如下:
 1package com.xiaobai.hibernate;
 2
 3import java.util.Date;
 4
 5import org.hibernate.Session;
 6import org.hibernate.SessionFactory;
 7import org.hibernate.Transaction;
 8import org.hibernate.cfg.Configuration;
 9
10import com.xiaobai.hibernate.domain.User;
11
12public class Base {
13    public static void main(String[] args) {
14        Configuration cfg = new Configuration().configure();
15        
16        SessionFactory factory = cfg.buildSessionFactory();
17        
18        Session session = factory.openSession();
19        
20        Transaction tx = session.beginTransaction();
21        
22        User user = new User();
23        user.setName("张三");
24        user.setBirthday(new Date());
25        
26        session.save(user);
27        tx.commit();
28        
29        session.close();
30        factory.close();
31        
32        
33    }

34}

35

这段代码仅仅是为了实现功能,实际上是很不完善的,后面的文章会讨论如何写完善的合理的代码。运行该类。进入数据库,发现数据库中多了一张user表,查看里面的数据,已经添加了一条name为“张三”的数据。OK,第一个hibernate小示例完成了。
posted @ 2010-08-28 18:56 wawlian 阅读(1289) | 评论 (0)编辑 收藏
配置一个Action:
1<package name="hello" namespace="/action" extends="struts-default">
2        <action name="helloworld">
3                <result>/WEB-INF/page/hello.jsp</result>
4        </action>
5</package>
Action的代码如下:
 1public class HelloWorldAction {
 2    private String msg;
 3    
 4    public String getMessage() {
 5        return msg;
 6    }

 7
 8    public String execute(){
 9        msg = "我的第一个struts2应用";
10        return "success";
11    }

12}
访问以下路径:http://localhost:8080/struts2/action/helloworld依然可以访问到jsp中的内容。这主要是因为Action中有很多默认配置:
1.如果没有为action配置class属性,那么其默认值为ActionSupport。
2.如果没有为action配置method属性,那么默认为execute
3.ActionSupport类中有一个execute()方法,它返回一个常量SUCCESS,而该常量的值为"success"。
4.如果没有为result设置name属性,默认为success。
知道以上内容,则不难理解为什么即使省略了很多属性的配置,依然能够访问到该Action了。
posted @ 2010-08-27 21:20 wawlian 阅读(190) | 评论 (0)编辑 收藏
新建一个struts2项目,命名为struts2。按照如下XML文件配置一个Action:
1<package name="hello" namespace="/action" extends="struts-default">
2    <action name="helloworld" class="com.xiaobai.struts.action.HelloWorldAction" method="execute">
3    <result name="success">/WEB-INF/page/hello.jsp</result>
4    </action>
5</package>
将应用部署,访问如下路径:http://localhost:8080/struts2/action/sdf/dsf/32/d/helloworld 依然可以访问到Action。
这主要是因为Struts2对Action名称的搜索是按照一定顺序进行的。以上面的情况为例:
1.struts2首先搜索命名空间为/action/sdf/dsf/32/d的包是否存在,存在的情况下,是否有helloworld这个Action;
2.搜索命名空间为/action/sdf/dsf/32的包是否存在,存在的情况下,是否有helloworld这个Action;
3.搜索命名空间为/action/sdf/dsf的包是否存在,存在的情况下,是否有helloworld这个Action;
4.搜索命名空间为/action/sdf的包是否存在,存在的情况下,是否有helloworld这个Action;
5.搜索命名空间为/action的包是否存在。在这种情况下能够搜索到,因此,可以访问到helloworld这个Action。
此外,如果按照这种搜索顺序搜索,发现所有的包均不存在,那么struts2则会到命名空间为""(默认命名空间)的包下面去找helloworld这个Action。
posted @ 2010-08-27 21:02 wawlian 阅读(555) | 评论 (2)编辑 收藏
http://hi.baidu.com/zhougw03/blog/item/df08da3dfe214bc19f3d6292.html
ASA SQL 用户指南
http://www.ianywhere.com/developer/product_manuals/sqlanywhere/0902/zh/html/dbugzh9/dbugzh9.htm

模型检查中的Existence of reference问题
在tool-> check   model 
当中选中option   标签,然后选中table,接下来展开的东西你就明白了

不是存在重复的名,而是默认情况下你的每个表都要建立索引/关联什么的. 
你可以在powerdesigner当中调整警告级别,不让其检查这个就可以了
http://topic.csdn.net/u/20070703/15/d28fff5c-e726-4695-9bdb-901d2df5e97b.html
create table category (
   ID                   int                  identity(100,1),
   Name                 varchar(31)          null,
   constraint PK_CATEGORY primary key (ID)
)


修改外键命名规则

选择Database—>Edit Current DBMS
选择Scripts-》Objects-》Reference-》ConstName
可以发现右侧的Value为:

FK_%.U8:CHILD%_%.U9:REFR%_%.U8:PARENT%

可见,该命名方法是:'FK_'+8位子表名+9位Reference名+8位父表名,你可以根据这中模式自定义为:

FK_%.U7:CHILD%_RELATIONS_%.U7:PARENT%,

可以使FK名称变为FK_TABLE_2_RELATIONS_TABLE_1
掌握这种方法后就可以按照自己的想法修改了

生成建库脚本SQL文件中的表头注释很讨厌,可以在 Databse -> Generate Database (Ctrl+G)窗口中,选择Options卡片,去掉Usage的Title钩选项即可。

添加外键
Model -> References新建一条外键后,双击进入外键属性,在“Joins”卡片中可以选择子表的外键字段

如何实现Name和code不自动相等
如何实现在CDM中创建Entity时,Name和Code不自动对应

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

如何把NAME 列在 scrip里显示出来

 修改字段生成规则。要给每个字段都添加一个注释的话,同一窗口中展开 Script -> Object -> Column -> Add 的 Value修改为:

%20:COLUMN% [%COMPUTE%?AS (%COMPUTE%):%20:DATATYPE% [%IDENTITY%?%IDENTITY%:[%NULL%][%NOTNULL%]][ default %DEFAULT%]
     [[constraint %CONSTNAME%] check (%CONSTRAINT%)]]/*%COLNNAME%*/

其中的%COLNNAME%就是列的Name值(可以是中文)

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

POWERdESIGEN  自增长列的设置

PDM里查看表的属性,Columns选项卡,选中整列,查看列属性,点左上方的properties图标(有手形图案的那个),此时打开一个设置窗口,General选项卡里面进行设置.   
在列属性的General标签页里有个Identity复选框,勾上就行了

--------------------------------------
1 如何在PowerDesigner下建索引
2 如何在PowerDesigner 下建自增列
3 如何在PowerDesigner 下检查设计模型

  1 如何在PowerDesigner下建索引
  1 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes

  2 单击新建索引的属性,出现Indexex Properties

  3 增加一个索引包含的字段

  2 如何在PowerDesigner 下建自增列
 2 使用SqlServer 数据库中的下列语句来完成
建表语句中,在要做为自增列的字段中,加上如下
IDENTITY(1,1)
还有可以使用下面语句,重置自增种子
dbcc checkident(ConfigSys,reseed,0);
  3 如何在PowerDesigner 下检查设计模型
  1 在菜单栏中选择 Tools -? Check Model, 如下图

  2 选择要检查的每项设置

  3 确定后,将出来检查结果汇总信息





这段时间,使用PD做数据库模型,感觉很不错,将自已的经验总给一下.还有许多功能我没时间总结,以后有时间,继续补吧
1 如何在PowerDesigner下建索引
2 如何在PowerDesigner 下建自增列
3 如何在PowerDesigner 下检查设计模型

1 如何在PowerDesigner下建索引
1 双击表设计图,出来Table Properties,在Tab 页中选择 Indexes

2 单击新建索引的属性,出现Indexex Properties

3 增加一个索引包含的字段

2 如何在PowerDesigner 下建自增列
2 使用SqlServer 数据库中的下列语句来完成
建表语句中,在要做为自增列的字段中,加上如下
IDENTITY(1,1)
还有可以使用下面语句,重置自增种子
dbcc checkident(ConfigSys,reseed,0);
3 如何在PowerDesigner 下检查设计模型
1 在菜单栏中选择 Tools -? Check Model, 如下图

2 选择要检查的每项设置

3 确定后,将出来检查结果汇总信息


在 powerdesigner 中设置 自增 得索引不用那么麻烦,其实只要在 概念模型 中在 属性中把columns中要自增得字段得类型设置成为 serial 就可以了! 

1。使用PowerDesigner检查数据库设计错误~

PowerDesigner 还可用于快速检测新模型中的数据库设计错误。

检查新的模式:

从 [Tools] 菜单中选择 [Check Model]。

此时,就会出现 [Check Model Parameters] 对话框。可以使用缺省参数。

另外也可以直接在空白处单击右键,选择Check Model...即可,我一般喜欢这样用。

单击 [确定]。

此时,在 [Result List] 中就会显示 [Check Model] 的结果。

2。如何将Conceptual Data Model (CDM)转换成Physical Data Model(PDM)?

即将概念数据模型转换成物理数据模型。

二者的区别是,CDM是纯粹概念上的模型,PDM是和具体的数据库类型相关的,比如SQL Server 2000或者Oracle。生成SQL语句当然也就需要从PDM生成。

在菜单上选择Tools -> Generate Phisical Data Model

最后选择你的数据库类型,即可。

3。使用PowerDesigner生成SQL语句~

可以使用 PowerDesigner 生成一个 SQL 脚本,该脚本用于实施模型的所有组件。然后,使用 SQL 脚本生成一个数据库。

这时候要确保你用的是PDM。

生成 SQL 脚本以新建数据库:

从 [Database] 菜单中选择 [Generate Database]。

此时,就会出现 [Database Generation] 对话框

在 [Directory] 字段中键入 c:Temp,并在 [File Name] 字段中键入 NewDemo.sql。

确保选中了 [ Generation]。

单击 [Database] 选项卡,并确保选中了 [Create Database]。

浏览其它选项卡,以查看控制所生成脚本的许多其它属性的选项。

单击 [确定]。

创建脚本后,就会出现 [Result] 对话框。

4。为什么出现Warning : table Existence of index 表名 ?

说明该表没有建立索引。不过这是一个警告,不是错误,可以不用理会它。

5。如何建立联合主键?

联合主键就是一个表里面有多个主键,比如一份学生选课的表里面,学生ID和课程ID就同时是主键。

在设置Attributes,把2个字段的P那项都勾上,P表示Primary Key主键。

6。如何建立外键Foreign Key?

在PowerDesigner中,通过建立关系Relationship就可以自动建立外键,不需要手动添加。

而建立Relationship有2种办法:可以通过菜单选择Model -> Relationships...,也可以通过在右边的工具栏中拖拽Relationship控件。

7。如何生成数据字典?

通过菜单Report -> Report Wizard...可以生成

注意可以选择Template.因为我是通过PDM生成,所以选择了Standard Physical Template~

1、安装PD v11.0版

2、由生成建表脚本时,字段超过15字符就发生错误()
原因未知,解决办法是打开PDM后,会出现Database的菜单栏,进入Database - Edit Current DBMS -script-objects-column-maxlen,把value值调大(原为30),比如改成60。出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改!
或者使用下面的这种方法:
生成建表脚本时会弹出Database generation提示框:把options - check model的小勾给去掉,就是不进行检查(不推荐)!
或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文件
修改好后,再cdm转为pdm时,选择“Copy the DBMS definition in model”把把这个资源文件拷贝到模型中。

3、生成的建表脚本中如何把对象的双引号去掉?
打开cdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case就行!
或者选择Database->Edit current database->Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”即可!
或者在打开pdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase就可以!

4、建立一个表后,为何检测出现Existence of index的警告
A table should contain at least one column, one index, one key, and one reference.
可以不检查 Existence of index 这项,也就没有这个警告错误了!
意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!

5、创建一个表在修改字段的时候,一修改name的内容,code也跟着变化,如何让code不随着name变化
Name和Code 的右侧都有一个按钮“=”,如果需要不同步的话,把这个按钮弹起来就可以了。
Tools->General Options->Dialog->Name to Code Mirroring (去掉)

6、由CDM生成PDM时,自动生成的外键的重命名
PDM Generation Options->Detail->FK index names默认是%REFR%_FK,改为FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自动生成的父字段的规则是PDM Generation Options->Detail->FK column name template中设置的,默认是%.3:PARENT%_%COLUMN%,可以改为Par%COLUMN%表示是父字段!

7、如何防止一对一的关系生成两个引用(外键)
要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。
在cdm中双击一对一关系->Detail->Dominant role选择支配关系

8、修改报表模板中一些术语的定义
即文件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
Tools-Resources-Report Languages-选择Chinese-单击Properties或双击目标
修改某些对象的名称:Object Attributes\Physical Data Model\Column\
        ForeignKey:外键
        Mandatory:为空
        Primary:主键
        Table:表
用查找替换,把“表格”替换成“表”
修改显示的内容为别的:Values Mapping\Lists\Standard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息

1。pd中复制一列是,实际上是一个链接。源列的变动同时体现在复制列上

2。数据库设计通常步骤:CDM缺定主要结构--》生成PDM--》在PDM上修改,必要时生成CDM

3。若由pdm生成cdm再生成pdm,在pdm中修改过的外键名将被改回到默认值

4。必要时可以通过修改模板(Database-Edit Current DataBase)改变脚本的格式。例如:
Script-Objects-Column-Add的Value中开头增加一行“--%COLNNAME%”以便在脚本中显示列的中英文对照

5。去掉讨厌的name、code映射:Tools-General Options-clear the Name to Code mirroring check box

6。对于大小写不敏感的数据库(如Oracle),PowerDesign在创建脚本时自动给表名和字段名加上双引号,以“强字符串”形式来获取区分大小写,这样给语句的编写制造很多麻烦。去掉这个添足的功能:
Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote
右边面板参数值 Value 选择No

7。由cdm生成pdm,可以控制是否将关系生成引用;由pdm生成脚本,可以控制是否将引用生成外键

8。对于oracle而言,为表设置选项(如tablespace GPSSYSTEM)可使其创建到正确的表空间;为主键设置选项(using index tablespace GPSINDEX)使索引创建到正确的表空间中

1。使用PowerDesigner检查数据库设计错误~

PowerDesigner 还可用于快速检测新模型中的数据库设计错误。

检查新的模式:

从 [Tools] 菜单中选择 [Check Model]。

此时,就会出现 [Check Model Parameters] 对话框。可以使用缺省参数。

另外也可以直接在空白处单击右键,选择Check Model...即可,我一般喜欢这样用。

单击 [确定]。

此时,在 [Result List] 中就会显示 [Check Model] 的结果。

2。如何将Conceptual Data Model (CDM)转换成Physical Data Model(PDM)?

即将概念数据模型转换成物理数据模型。

二者的区别是,CDM是纯粹概念上的模型,PDM是和具体的数据库类型相关的,比如SQL Server 2000或者Oracle。生成SQL语句当然也就需要从PDM生成。

在菜单上选择Tools -> Generate Phisical Data Model

最后选择你的数据库类型,即可。

3。使用PowerDesigner生成SQL语句~

可以使用 PowerDesigner 生成一个 SQL 脚本,该脚本用于实施模型的所有组件。然后,使用 SQL 脚本生成一个数据库。

这时候要确保你用的是PDM。

生成 SQL 脚本以新建数据库:

从 [Database] 菜单中选择 [Generate Database]。

此时,就会出现 [Database Generation] 对话框

在 [Directory] 字段中键入 c:Temp,并在 [File Name] 字段中键入 NewDemo.sql。

确保选中了 [ Generation]。

单击 [Database] 选项卡,并确保选中了 [Create Database]。

浏览其它选项卡,以查看控制所生成脚本的许多其它属性的选项。

单击 [确定]。

创建脚本后,就会出现 [Result] 对话框。

4。为什么出现Warning : table Existence of index 表名 ?

说明该表没有建立索引。不过这是一个警告,不是错误,可以不用理会它。

5。如何建立联合主键?

联合主键就是一个表里面有多个主键,比如一份学生选课的表里面,学生ID和课程ID就同时是主键。

在设置Attributes,把2个字段的P那项都勾上,P表示Primary Key主键。

6。如何建立外键Foreign Key?

在PowerDesigner中,通过建立关系Relationship就可以自动建立外键,不需要手动添加。

而建立Relationship有2种办法:可以通过菜单选择Model -> Relationships...,也可以通过在右边的工具栏中拖拽Relationship控件。

7。如何生成数据字典?

通过菜单Report -> Report Wizard...可以生成

注意可以选择Template.因为我是通过PDM生成,所以选择了Standard Physical Template~

1、安装PD v11.0版

2、由生成建表脚本时,字段超过15字符就发生错误()
原因未知,解决办法是打开PDM后,会出现Database的菜单栏,进入Database - Edit Current DBMS -script-objects-column-maxlen,把value值调大(原为30),比如改成60。出现表或者其它对象的长度也有这种错误的话都可以选择对应的objects照此种方法更改!
或者使用下面的这种方法:
生成建表脚本时会弹出Database generation提示框:把options - check model的小勾给去掉,就是不进行检查(不推荐)!
或者可以修改C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\DBMS\oracl9i2.xdb文件
修改好后,再cdm转为pdm时,选择“Copy the DBMS definition in model”把把这个资源文件拷贝到模型中。

3、生成的建表脚本中如何把对象的双引号去掉?
打开cdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase或者Lowercase,只要不是Mixed Case就行!
或者选择Database->Edit current database->Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”即可!
或者在打开pdm的情况下,进入Tools-Model Options-Naming Convention,把Name和Code的标签的Charcter case选项设置成Uppercase就可以!

4、建立一个表后,为何检测出现Existence of index的警告
A table should contain at least one column, one index, one key, and one reference.
可以不检查 Existence of index 这项,也就没有这个警告错误了!
意思是说没有给表建立索引,而一个表一般至少要有一个索引,这是一个警告,不用管也没有关系!

5、创建一个表在修改字段的时候,一修改name的内容,code也跟着变化,如何让code不随着name变化
Name和Code 的右侧都有一个按钮“=”,如果需要不同步的话,把这个按钮弹起来就可以了。
Tools->General Options->Dialog->Name to Code Mirroring (去掉)

6、由CDM生成PDM时,自动生成的外键的重命名
PDM Generation Options->Detail->FK index names默认是%REFR%_FK,改为FK_%REFRCODE%,其中%REFRCODE%指的就是CDM中Relationship的code!另外自动生成的父字段的规则是PDM Generation Options->Detail->FK column name template中设置的,默认是%.3:PARENT%_%COLUMN%,可以改为Par%COLUMN%表示是父字段!

7、如何防止一对一的关系生成两个引用(外键)
要定义关系的支配方向,占支配地位的实体(有D标志)变为父表。
在cdm中双击一对一关系->Detail->Dominant role选择支配关系

8、修改报表模板中一些术语的定义
即文件:C:\Program Files\Sybase\PowerDesigner Trial 11\Resource Files\Report Languages\Chinese.xrl
Tools-Resources-Report Languages-选择Chinese-单击Properties或双击目标
修改某些对象的名称:Object Attributes\Physical Data Model\Column\
        ForeignKey:外键
        Mandatory:为空
        Primary:主键
        Table:表
用查找替换,把“表格”替换成“表”
修改显示的内容为别的:Values Mapping\Lists\Standard,添加TRUE的转化列为是,FALSE的转化列为空
另外Report-Title Page里可以设置标题信息

1。pd中复制一列是,实际上是一个链接。源列的变动同时体现在复制列上

2。数据库设计通常步骤:CDM缺定主要结构--》生成PDM--》在PDM上修改,必要时生成CDM

3。若由pdm生成cdm再生成pdm,在pdm中修改过的外键名将被改回到默认值

4。必要时可以通过修改模板(Database-Edit Current DataBase)改变脚本的格式。例如:
Script-Objects-Column-Add的Value中开头增加一行“--%COLNNAME%”以便在脚本中显示列的中英文对照

5。去掉讨厌的name、code映射:Tools-General Options-clear the Name to Code mirroring check box

6。对于大小写不敏感的数据库(如Oracle),PowerDesign在创建脚本时自动给表名和字段名加上双引号,以“强字符串”形式来获取区分大小写,这样给语句的编写制造很多麻烦。去掉这个添足的功能:
Database -〉Edit Current DBMS -〉Script. -〉Sql -〉Format -〉CaseSensitivityUsingQuote
右边面板参数值 Value 选择No

7。由cdm生成pdm,可以控制是否将关系生成引用;由pdm生成脚本,可以控制是否将引用生成外键

8。对于oracle而言,为表设置选项(如tablespace GPSSYSTEM)可使其创建到正确的表空间;为主键设置选项(using index tablespace GPSINDEX)使索引创建到正确的表空间中

posted @ 2010-08-27 10:45 wawlian 阅读(9141) | 评论 (1)编辑 收藏
仅列出标题
共4页: 上一页 1 2 3 4 下一页 

<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜