![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 16.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam takie bazy: Baza nr 1 ORACLE tabela1: numer_zlecenia, uwagi Baza nr 2 MYSQL tabela2: nr_zlec, uw Chciałbym za pomocą polecenia PHP skopiować dane z oracle do mysql. Domyślam się, że najpierw łącze się z bazami a potem muszę zrobić insert i tu jest problem. Kod <?php $dbh1 = new PDO('mysql:host=localhost;dbname=mysql', 'logn', 'haslo'); $dbh2 = new PDO('oci:host=199.199.9.99;dbname=oracle', 'login', 'login'); ?> odczytac dane z oracla moge tak: Kod $stmt2 = $dbh2->prepare("SELECT numer_zlecenia, uwagi FROM tabela1 "); $stmt2->execute(); $arrValues2 = $stmt2->fetchAll(PDO::FETCH_ASSOC); Pytanie jak poprawnie zrealizowac: Kod mysql_query('INSERT INTO MYSQL.tabela2(nr_zlec, uw) select numer_zlecenia, uwagi from ORACLE.tabela1') Pozdrawiam i liczę na pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 16.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki (IMG:style_emoticons/default/smile.gif)
kod wyglada tak: Kod <?php try{ $dbh2 = new PDO('oci:host=188.188.7.88;dbname=test', 'log', 'haslo'); $dbh2->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt2 = $dbh2->query("SELECT numer_zlecenia FROM zlecenia_produkcyjne"); $stmt2->execute(); //$data = $stmt2->fetchAll(PDO::FETCH_ASSOC); $dbh1 = new PDO('mysql:host=localhost;dbname=baza1', 'log1', 'haslo'); $dbh1->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); while ($data = $stmt2->fetchAll(PDO::FETCH_ASSOC)){ $variable1 = $data->numer_zlecenia; $sql = "INSERT INTO zlecenia_carbo (nr_zlec) VALUES (:wart)"; $q = $dbh1->prepare($sql); $q->execute(array(':wart'=>$variable1)); } $stmt2 -> closeCursor(); //wyswietlanie tabeli oracle /* foreach ($data as $row2){ foreach ($row2 as $key2 => $val2){ print "$val2"; } print "\n"; } */ } //bledy catch(PDOException $e) { print_r( $e->getTrace() ); print_r( $e->getMessage() ); print_r( $e->getCode() ); } ?> Ewidentnie źle pobieram dane. Jak zakomentuje petle i $data = $stmt2->fetchAll(PDO::FETCH_ASSOC) wyrzuce przed nią to tablice mi wyswietla bez problemu. Póki co to: Notice: Trying to get property of non-object in D:\xampp\htdocs\x\kop_tabel.php on line 15 Array ( [0] => Array ( [file] => D:\xampp\htdocs\x\kop_tabel.php [line] => 18 [function] => execute [class] => PDOStatement [type] => -> [args] => Array ( [0] => Array ( [:wart] => ) ) ) ) SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'nr_zlec' cannot be null23000 Google oczywiście sprawdzałem, ale już jestem tak zamotany ze robie błąd za błędem.. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 17:28 |