Я работаю, чтобы получить данные из одного подключения к базе данных на одном сервере к другому подключению к базе данных на другом сервере.
Это для базы данных оракула
Я выбрал записи из одной базы данных в массивеи затем обрабатывать эти записи одну за другой для отправки в другую базу данных. Он работал нормально для меньшего количества записей, но для больших объемов данных он отнимает много времени
Пример кода
$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есть прямой способ вставки всех извлеченных записей за один переход в другую базу данных.