как извлечь данные из одной базы данных и вставить в другую - PullRequest
0 голосов
/ 16 мая 2019

Я работаю, чтобы получить данные из одного подключения к базе данных на одном сервере к другому подключению к базе данных на другом сервере.

Это для базы данных оракула

Я выбрал записи из одной базы данных в массивеи затем обрабатывать эти записи одну за другой для отправки в другую базу данных. Он работал нормально для меньшего количества записей, но для больших объемов данных он отнимает много времени

Пример кода

$qry = "SELECT NAME FROM EMPLOYEE" ;
$prs = oci_parse($conn1,$qry);
$exec = oci_Execute($prs);
if(!$exec)
{
    $e = oci_error($prs);
    echo json_encode($e);
    return;
}
else
{
    $hasdata = oci_fetch_all($prs,$data["EMPLOYEES"],null,null,OCI_FETCHSTATEMENT_BY_ROW);
    if($hasdata!=0)
{
        foreach($data["EMPLOYEES"] as $adata => $row)
        {
            $qry1 = "INSERT INTO EMPLOYEE(NAME) VALUES (:NAME)";
            $prs1 = oci_parse($conn2,$qry1);                                                               
            oci_bind_by_name($prs1,":NAME",$row["NAME"]);
            $exec = oci_execute($prs1,OCI_NO_AUTO_COMMIT);
            if(!$exec)
            {
                echo json_encode($e);
                oci_rollback($conn2);
                return;
            }
            oci_free_statement($prs1);
        }
    }
}

Isесть прямой способ вставки всех извлеченных записей за один переход в другую базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...