如何打开老版本数据库数据库教程

2024-12-28

如何打开老版本数据库数据库教程(精选4篇)

1.如何打开老版本数据库数据库教程 篇一

oracle|server|sqlserver

Waterxp 从oracle版本转化为sqlserver版本

1,系统安排

为了oracle版本和sqlserver版本能很方便的转化,也为了两个版本能同步修改,特别是业务逻辑层,现决定如下:

A,两个版本的业务逻辑层都放在source目录下。在该目录下有两个目录:

sql 和ora。这两个目录有三个文件:

common.pbl,water_modi.pbl,dw_version.pbl。

这三个 文件里面绝大部分是数据窗口,主要是因为sql server 和oracle的语法有差别。如果只是因为数据窗口有双引号在sql server里不能用,那么把数据窗口的select语法的字段引号去掉即可,因为没有引号的select语句在sql server和oracle下面都是可用的。修改的过程中注意update属性。

B,不同的数据库将使用不同的目录。

2,系统环境的建立

每台机器上建立下面的磁盘映射:

P指向oraservrp237

V指向oraservr ql237或者是 oraserverora237

源代码在 oraservercodewater237 ource 里面。

P盘是肯定要有的, V盘由使用什么版本决定。

3,源代码的修改

业务层的修改尽可能的在源代码处,因为这样修改能让两个版本同时修改。

P盘是类库可以不需要修改。

V盘里的数据窗口都需要改。

改sql237里面的数据窗口,要修改和要注意的地方:

替换的方法

oracle里面使用sql server 里面使用

to_char(readingdate,’yyyymm’)convert(char(6),readingdate,111)

to_char(readingdate,’yyyy/mm’)convert(char(7),readingdate,112)

decode( ,,,,)case when then end 或者 isnull(x,0)

左右连接 (+)left outer join

修改过程中要注意数据窗口的update属性,

4,工作计划

4,1先修改sql237目录下的三个pbl里面的数据窗口的语法。为了照顾数据窗口的update属性,建议使用edit source的方法,而且select语法字段的引号在sql server版本建议去掉。使用pb的replace功能即可。

4,2 修改某些数据窗口的内嵌式sql 的语法。因为有一些内嵌式sql 也使用了decode ,或者是to_char(),这些语法在sqlserver也是必须代替的。

修改方法:

if gs_database = ‘ORACLE’ then

………………decode()……………;

else

…………………case when then end ………..;

end if

4,3 最后的工作是测试。这是最繁琐的最重要的。在测试的过程会发现有一些数据窗口在sql server不能用:修改方法是将字段的引号去掉或者是移到sql 和ora目录里面的dw_version.pbl文件里面,在那里进行修改。

4,4主要的数据表都已经迁移过来了,名字一样,可能在sql server有一些表的字段不够那么请重新导入一次。主要的存储过程都已经翻译过来,名字不一样。在测试的过程会发现有一些视图没有存在,那么请从oracle把语法拷贝出来,在sql server查询分析器里生成之。

2.如何打开老版本数据库数据库教程 篇二

用户录入数据时经常会遇到大量重复数据,即录入下一条记录的某个字段时,其值与上一条记录同字段的值相同,

如何实现数据的自动录入数据库教程

3.如何打开老版本数据库数据库教程 篇三

数据库备份是非常重要的。如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次正常的状态,把损失减小到最少。

一、用命令实现备份

MySQLl提供了一个mysqldump命令,我们可以用它进行数据备份。

按提示输入密码,这就把tm数据库所有的表结构和# mysqldump -u root -p tm >tm_050519.sql数据备份到tm_050519.sql了,因为要总进行备份工作,如果数据量大会占用很大空间,这时可以利用gzip压缩数据,命令如下:

# mysqldump -u root -p tm gzip >tm_050519.sql.gz

系统崩溃,重建系统时,可以这样恢复数据:

# mysqldump -u root -p tm < tm_050519.sql

从压缩文件直接恢复:

#gzip < tm_050519.sql.gz mysqldump -u root -p tm

当然,有很多MySQL工具提供更直观的备份恢复功能,比如用phpMyAdmin就很方便。但我认为,mysqldump是最基本、最通用的。

二、利用crontab,系统每天定时备份mysql数据库

利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的,

1、创建保存备份文件的路径/var/backup/mysqlbak

# mkdir -p /var/backup/mysqlbak

2、创建/usr/sbin/bakmysql文件

#vi /usr/sbin/bakmysql.sh

#!/bin/bash# mysql备份脚本cd /var/backup/mysqlbak/dateDIR=`date +“%y-%m-%d”`mkdir -p $dateDIR/datafor i in `/usr/local/www/mysql/bin/mysql -uroot -plin31415926 -e “show databases” grep -v “Database” grep -v “information_schema”`do /usr/local/www/mysql/bin/mysqldump -uroot -plin31415926 $i gzip >/var/backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gzdone

3、修改文件属性,使其可执行

# chmod +x /usr/sbin/bakmysql

4、修改/etc/crontab

# crontab -e在下面添加01 3 * * * root /usr/sbin/bakmysql

#表示每天3点钟执行备份

4.如何打开老版本数据库数据库教程 篇四

//在PHP中处理日期非常不方便,比如求两个日期之间相差的月份?该怎么办呢?

//文件名:date.inc.php3

//在使用这两个函数前,要先将日期或日期时间转换成timestamp类型,

//如:

//$today=mktime(0,0,0,date(”m“),date(”d“),date(”Y“));

/****模拟sqlserver中的dateadd函数*******

$part 类型:string

取值范围:year,month,day,hour,min,sec

表示:要增加的日期的哪个部分

$n 类型:数值

表示:要增加多少,根据$part决定增加哪个部分

可为负数

$datetime类型:timestamp

表示:增加的基数

返回 类型:timestamp

**************结束**************/

function dateadd($part,$n,$datetime){

$year=date(”Y“,$datetime);

$month=date(”m“,$datetime);

$day=date(”d“,$datetime);

$hour=date(”H“,$datetime);

$min=date(”i“,$datetime);

$sec=date(”s“,$datetime);

$part=strtolower($part);

$ret=0;

switch ($part) {

case ”year“:

$year+=$n;

break;

case ”month“:

$month+=$n;

break;

case ”day“:

$day+=$n;

break;

case ”hour“:

$hour+=$n;

break;

case ”min“:

$min+=$n;

break;

case ”sec“:

$sec+=$n;

break;

default:

return $ret;

break;

}

$ret=mktime($hour,$min,$sec,$month,$day,$year);

return $ret;

}

/****模拟sqlserver中的datediff函数*******

$part 类型:string

取值范围:year,month,day,hour,min,sec

表示:要增加的日期的哪个部分

$date1,$date2 类型:timestamp

表示:要比较的两个日期

返回 类型:数值

**************结束*(*************/

function datediff($part,$date1,$date2){

//$diff=$date2-$date1;

$year1=date(”Y“,$date1);

$year2=date(”Y“,$date2);

$month2=date(”m“,$date2);

$month1=date(”m“,$date1);

$day2=date(”d“,$date2);

$day1=date(”d“,$date1);

$hour2=date(”d“,$date2);

$hour1=date(”d“,$date1);

$min2=date(”i“,$date2);

$min1=date(”i“,$date1);

$sec2=date(”s“,$date2);

$sec1=date(”s“,$date1);

$part=strtolower($part);

$ret=0;

switch ($part) {

case ”year“:

$ret=$year2-$year1;

break;

case ”month“:

$ret=($year2-$year1)*12+$month2-$month1;

break;

case ”day“:

$ret=(mktime(0,0,0,$month2,$day2,$year2)-mktime(0,0,0,$month1,$day1,$year1))/(3600*24);

break;

case ”hour“:

$ret=(mktime($hour2,0,0,$month2,$day2,$year2)-mktime($hour1,0,0,$month1,$day1,$year1))/3600;

break;

case ”min“:

$ret=(mktime($hour2,$min2,0,$month2,$day2,$year2)-mktime($hour1,$min1,0,$month1,$day1,$year1))/60;

break;

case ”sec":

$ret=$date2-$date1;

break;

default:

return $ret;

break;

}

return $ret;

}

上一篇:名著《水浒传》800字读后感20下一篇:空白入党政审调查函