| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- <?
- class MigrationData
- {
- private $hdb;
- public function __construct($dsn, $user, $pass)
- {
- try {
- $this->hdb = new PDO($dsn, $user, $pass);
- $this->hdb->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- } catch (PDOException $exception) {
- echo $exception->getMessage();
- die;
- }
- }
- public function query($sql, $mode = PDO::FETCH_ASSOC)
- {
- return $this->hdb->query($sql, $mode);
- }
- /**
- * @param $result
- * @return int row count
- */
- public function toCSV($result): int
- {
- $count = 0;
- foreach($result as $key => $value) {
- $arr = [];
- array_map(function ($v) use (&$arr) {
- $arr[] = str_pad(ltrim(rtrim($v)), 5, ' ');
- }, $value);
- echo join('|', $arr);
- echo PHP_EOL;
- $count++;
- }
- return $count;
- }
- public function transferData($pdoResult)
- {
- $count = 0;
- foreach($pdoResult as $key => $value) {
- echo "INSERT INTO INTMUB0F (UXSTAT, UXCOAP, UXQTGC, UXQTMA) VALUES (10, '${value['UXCOAP']}', ${value['UXQTGC']}, ${value['UXQTMA']})" . PHP_EOL;
- $success = $this->query("INSERT INTO INTMUB0F (UXSTAT, UXCOAP, UXQTGC, UXQTMA) VALUES (10, '${value['UXCOAP']}', ${value['UXQTGC']}, ${value['UXQTMA']})");
- if ($success === FALSE) {
- die('Errore');
- }
- $count++;
- }
- echo "Inserimenti eseguiti: $count" . PHP_EOL;
- }
- }
- try {
- $mav = new MigrationData("sqlsrv:Server=192.168.0.39;Database=icamdbstore", 'sa', 'sa');
- $res = $mav->query('SELECT item_id AS UXCOAP, max_load_unit AS UXQTMA, position_quantity AS UXQTGC FROM vw_item_positions');
- $db2 = new MigrationData('odbc:dicamas400', 'icam', 'icam');
- $db2->transferData($res);
- } catch (PDOException $exception) {
- echo $exception->getMessage();
- exit;
- }
|