如何打开老版本数据库数据库教程(精选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;
}
【如何打开老版本数据库数据库教程】推荐阅读:
如何获得当前数据库的SCN值数据库教程07-05
新任领导如何打开工作局面12-15
在电脑上如何打开amr文件10-17
如何防范网站数据库入侵10-06
如何去除数据表中的重复数据01-11
如何进行大数据分析及处理?12-28
《如何保存未来数据》阅读练习题及答案11-28
打开心门小学作文12-17