|
@@ -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;
|
|
|
|
|
+}
|
|
|
|
|
+
|