存档

2010年11月 的存档,文章数:16

以YYYYMMDDHHMMSS的格式显示日期的SQL语句为:

其中日期部分:convert(varchar,getdate(),112)

时间部分为:convert(varchar,getdate(),108)

需要将时间部分的:16:18:45里的冒号去掉。使用函数:str_replace,将冒号去掉,注意是NULL而不是空字符。

1> select str_replace(convert(varchar,getdate(),108),':',NULL)
2> go

 ------------------------------
 162014

完整的SQL语句为:

str_replace(convert(varchar,getdate(),112) + convert(varchar,getdate(),108) , ':',NULL)

ASE自15.0后增加了3中语义分区:hash、range、list。默认的轮询分区(roundrobin)为非语义分区,是为了兼容15.0之前的版本而设计的。

语义分区表的分区信息主要存储在:syspartitions和syspartitionkeys这两张表中。

查看表的分区信息可以使用系统自带的存储过程:sp_helpartition

本文提供3个SQL语句:

  1. 如何判断一个表是否是分区表?

select count(*) from dbo.syspartitionkeys where id=object_id(table_name)

示例:

1> if exists(select 1 from dbo.syspartitionkeys where id = object_id("PART_RESDISK"))

2> print "table PART_RESDISK exists!"

3> else

4> print "table PART_RESDISK not exists!"

5> go

table PART_RESDISK exists!

ASE15.0中的表默认为roundrobin类型的"分区表",系统表syspartitionkeys表中仅仅记录语义分区表的分区键信息。

linux x86 平台上的 ASE15.5 的 dat文件,拷贝到windows x86 平台上的ASE15.5中,是可以使用的。
只需要简单的修改master.dat中的device路径即可。 通过更改sysdevices的phyname来实现。

将sysdatabases系统表中status - 64 

之后, 利用dbcc checkdb,dbcc checkalloc,dbcc checkcatalog 检查各个数据库。 没有错误。

说明: linux平台和windows平台的dat文件是通用的。  迁移时只拷贝数据库设备文件就能完成。

PowerDesigner的主要作用一般还是数据库建模,并生成对应的数据库设计文档,可以与数据库保持同步。

一般常用的有CDM,PDM,UML建模,CDM可以转为PDM。

支持正向[生成数据库]和逆向工程[从数据库中生成],并直接关联到到数据库中,PDM可以直接和数据库进行关联,并将数据库,表,视图,触发器等数据库对象生成到数据库中,也可将这些对象更新到PDM中。

PowerDesigner的几个主要常用菜单是MODEL、DATEBASE、Tool,这三个菜单下命令使用比较多,要熟悉。

PD 还可以用来画用例图,序列图,类图等UML图。

也可以画企业架构图,软件应用架构图等等图形

15个问题列表:

No.1:是不是一定要从CDM开始设计,然后在进行PDM的设计?

NO.2:工具栏palette不见了,如何把它找出来?

NO.3: 如何建立与数据库的关联?

NO.4: 域和数据项有何作用?

No.5: 如何生成主键的自定义增长列,SQL Server和Oracle数据分别是如何操作的?

No.6: NAME和CODE联动,如何取消?

NO.7. 如何实现字段的NAME和Comment属性互换?

NO.8: 如何修改某个对象的命名规则,比如外键,比如主键,比如触发器等?

No.9: 如何用PD生成测试数据,以便测试?

No.10 如何把CODE的NAME中文也生成在脚本中,也就是列名后就是NAME的说明文字?

NO.11 如何将数据库结构,表名,表的字段导出到Word中,或者生成HTML文件以便查看?

No.12 如何去除生成SQL时的双引号问题,双引号在Oracle中可以保证大小写,却异常麻烦?

NO.13 如何修改PD的显示样式?

No.14 如何去除表名,字段的长度限制?

No.15 如何进行数据库的逆向工程?

   

导读文章:《WM上使用Sybase Anywhere(1)

在上一篇文章讲述了,如何在WM系统中安装Sybase Anywhere 11,并测试数据库是否可用,是否正常。

那该篇文章讲主要叙述,如何在WM系统中来操作其数据库。

当我们在WM系统中安装完后,将会有一个demo.db的数据库实例对象,那我们就来使用该实例数据库。

那首先我们先要看看这个数据库中有些什么内容。

如何访问WM系统的数据库表呢?将WM与系统连接,并将该数据库拷贝下。

然后启动Sybase Central,在菜单“连接”->“使用SQL Anywhere 11连接”

数据库应 用开发一直是企业商务应用开发的一个重要的组成部分。在传统的应用软件开发中,我们通常采用大型的关系型数据库。但在WM设备上,因受到其本身的限制,我 们无法将大型关系型数据库安装在上面。所以,一些数据库厂商也推出了基于WM设备的数据库。目前相信大家用SQL CE比较多。但作为功能强大的一款数据库的话,那就是今天所要介绍的Sybase公司开发的Sybase Anywhere 11。

WM中的数据库,我们通常都采用SQL CE。但SQL CE的功能实在很有限。说白了,就是不是一个数据库,你可以把它看作一个文件。记录下数据。

如果你非常需要在WM上操作强大的数据库,且你可以支付一定的费用的话。那不妨看看这篇文章中的介绍。如何在WM中使用Sybase数据库。

Sybase Anywhere是为了要求功能完备的数据库任务而设计出来的产品。它可以在不同的环境下运行。目前可以基于多个不同的平台(Windows/Mac OX/Linux等)。它充分利用可用的内存和资源,展现出较好的性能。所以Sybase Anywhere适合于以下情况:
1.作为中小型业务的数据库服务器
2.嵌入式设备的数据库
3.移动计算

它的强大优势:
UltraLite部署选项和MobiLink同步技术可以为那些只有有限资源的设备提供完备的数据库功能。
MobiLink同步,可以同步SQL Server/Oracle等数据库。

在使用ASE15.0.3或者ASE15.5这两个版本的job scheduler的时候,都遇到了需要重建一个表的索引的情况。 这个情况我不止在一台机器上遇到了。

下面是在用ASE15.5自带的Sybase Central中建立日程表的时候出现的错误:

用isql登录数据库,查看一下object_id:1792006384是哪张表,这张表的哪个索引坏了?

连接Sybase ASE服务器,可以使用TCP,NAMEPIPE,SPX等网络协议。利用TCP协议连接ASE服务器时,需要指定ASE服务器所在的IP地址(或者主机名)以及ASE服务器侦听的端口,比如:192.168.0.168:5000。

    但是,每次连接ASE数据库的时候都要输入类似192.168.0.168:5000这样的信息,不仅仅记忆起来麻烦,而且容易混淆。服务器条目就是192.168.0.168:5000等信息的简写形式,记忆一个服务器条目比起IP地址+端口来省事多了。Sybase ASE中的服务器条目类似oracle数据库中的tnsnames的概念。用服务器条目更直观的定位一台Sybase ASE数据库。

    服务器条目中保存的信息主要有:服务器名称,网络协议名称,IP地址(或者主机名),端口号。

 

一、添加服务器条目

在菜单:开始>所有程序>Sybase>Connectivity下找到Open Client Directory Service Editor,运行Open Client Directory Service Editor。

    Open Client Directory Service Editor这个程序文件名为:dsedit。