sql数据库同步,php控制sql server2000数据库同步

先说一下sql server2000在建立数据表的时候要特别注意:第一不能用象user这样的关键字做为表或字段的名字;第二数据表和字段的名字不能含“-”特殊字符
sql语句:
前10条数据:select top 10 * from table order by id asc;
最后10条数据:select top 10 * from table foer by id desc;
对了odbc_num_rows()函数在远程数据库链接中不能用
远程数据库链接w_conn.php
<?php
$server=gethostbyname('119777163qq.xicp.net');
//$server="110.248.32.208";
$user="sa"; //用户名
$pwd=""; //密码
$conn2=odbc_connect("Driver={SQL Server};Server=$server;Database=wkb-unicom",$user,$pwd,SQL_CUR_USE_ODBC);
if(!$conn2){echo "连接失败";}
?>
本地数据库链接conn.php
<?php
$conn=odbc_connect('iii','sa','');
if(!odbc_do($conn,"select * from wkb")){
echo "sql server2000数据库链接失败";
}
?>
数据库备份
<?php
ignore_user_abort();
set_time_limit(0);
$interval=5;
//循环体
do{
include 'conn.php';
$sql="select * from wkb";
$result=odbc_do($conn,$sql);
$w_num=odbc_num_rows($result);
$count=0;
include 'w_conn.php';
$y_sql="select id from wkb";
$y_result=odbc_do($conn2,$y_sql);
while(odbc_fetch_array($y_result)){$count++; }
$nn=$w_num-$count;
echo $count."count";
echo $w_num."w_num";
echo $nn."nn";
//远程执行体
if($w_num > $count and $nn > 0){
$sql4="select top {$nn} * from wkb order by id desc";
$result4=odbc_do($conn,$sql4);
if(odbc_num_rows($result4)>0){
while($rs4=odbc_fetch_array($result4)){
include 'w_conn.php';
$cc=$rs4['name1'];
$ee=$rs4['name2'];
$insert="insert into wkb(name1,name2) values('$cc','$ee')";
odbc_do($conn2,$insert);
}
}
}
sleep($interval); // 等待几秒钟再执行
}while(true);
?>
Tags:  数据库同步 sql数据库同步

延伸阅读

最新评论

发表评论