欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

DB2表数据迁移 db2命令 db2下载 db2数据库入门教

程序员文章站 2022-04-09 12:21:41
...
系统用到一个远程数据库。地点在USA,连接速度特别慢。DBA又不给导数据库
只好自己写一个数据库表迁移的方法。但是只能一次一张表慢慢的导。使用PHP编写
//原数据库$databaseOri = '原数据库名称';
    $hostnameOri = 'IP地址';
    $portOri = '端口号';
    $userOri = '用户名';
    $passwordOri = '密码';
    $csOri="DATABASE=$databaseOri;HOSTNAME=$hostnameOri;PORT=$portOri;PROTOCOL=TCPIP;UID=$userOri;PWD=$passwordOri;";
    $dbOri = db2_connect ($csOri, $userOri, $passwordOri);
    //目标数据库$databaseDes = '要转移到的数据库的名称';
    $hostnameDes = 'IP地址';
    $portDes = '端口号';
    $userDes = '用户名';
    $passwordDes = '密码';
    $csDes="DATABASE=$databaseDes;HOSTNAME=$hostnameDes;PORT=$portDes;PROTOCOL=TCPIP;UID=$userDes;PWD=$passwordDes;";
    $dbDes = db2_connect ($csDes, $userDes, $passwordDes);

    //执行sql的方法functionfetcher($db, $query,$par = array()){$stmt = db2_prepare($db, $query);
        $res=array();
        if($stmt) {
          //print_r($stmt);$ex = db2_execute($stmt,$par);
          if($ex) {
            try{
                while($row = db2_fetch_assoc($stmt)) {
                    array_push($res, $row);
                } 
            }catch(Exception$e){}
          }else{
            print_r($query);
          }
        }
        return$res;
    }

    //插入数据库的方法functioninsertIntoDes($db, $query,$par = array()){$stmt = db2_prepare($db, $query);
        $res=array();
        if($stmt) {
          $ex = db2_execute($stmt,$par);
          if(!$ex){
            print_r($query);
          }
        }
        return$res;
    }

    functiontransferDB($tableName,$dbOri,$dbDes) {//拼出要转移的table的所有字段名$tableCloums = fetcher(
            $dbOri,
            "select NAME from sysibm.syscolumns where tbname='".$tableName."'",
            array()
        );
        $tableParams = "";
        $insertParamsLength = count($tableCloums);
        for($temp=0;$temp$insertParamsLength;$temp++){
            $tmpName = $tableCloums[$temp]["NAME"];
            $tableParams = $tableParams.$tmpName;
            //print_r($tableCloums[$temp]["NAME"]);if($temp $insertParamsLength
相关标签: db2 迁移