Browse Source

* MigrationData Beta release.

Giancarlo Voci 8 years ago
parent
commit
01c3829ab6
2 changed files with 69 additions and 0 deletions
  1. 69 0
      conn_odbc_ibm.php
  2. BIN
      ui/images/mav2as400.png

+ 69 - 0
conn_odbc_ibm.php

@@ -0,0 +1,69 @@
+<?
+
+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;
+}
+

BIN
ui/images/mav2as400.png