-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmssql_importer.php
161 lines (119 loc) · 4.57 KB
/
mssql_importer.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<?php
$start = time();
/********************************************************************
* UTILITARIAN FUNCTIONS
* get_table()
*
*******************************************************************/
/********************************************************************
* GET A COMPLETE TABLE FROM A [SELECT * FROM table] QUERY
*
* REMARK: adapted for MSSQL Server
*
* notes:
* This function returns an array of arrays. Every array contained
* inside de main array is a associative array representing a table
* row from an SQL database.
*
*******************************************************************/
function get_table( $result ) {
$index = 0;
$a = array();
while ( $row = mssql_fetch_array( $result ) ) {
$a[$index] = $row;
$index++;
}
return $a;
}
/********************************************************************
* MAIN PROGRAM
*
*
*******************************************************************/
echo "-------------------------------------------------<br/>";
echo "-- MSSQL-to-MySQL Importing Script<br/>";
echo "-- OBS<br/>";
echo "-- ADE for HSS<br/>";
echo "-- last edition: 2014.01.28-10:39<br/>"; #esto cambia despues del ultimo update en 2018.
echo "-------------------------------------------------<br/>";
/*
* GET DATA FROM MSSQL DATABASE
*
*/
$server = "192.168.244.29"; //"sapbo";
$user = "dbuser";
$pass = "Raytheon10";
$database = "ERP";
$conn = mssql_connect($server, $user, $pass);
if( $conn === false ) {
$fh = fopen( "mssql.log", 'a' );
fwrite( $fh, date('Y.m.d-H:i:s')." - MSSQL_IMPORTER - unable to connect to MSSQL server\n" );
fclose( $fh );
echo mssql_get_last_message();
echo "<strong>UNABLE TO CONNECT TO MSSQL - CONTACT IT DEPARTMENT.</strong></br></br>ignore the following lines (used for diagnostics)</br></br>";
die( print_r( mssql_get_last_message(), true));
} else {
$selected_db = mssql_select_db( $database, $conn ) or die("<br/>Couldn’t open database $database");
echo "<br/>connected to database $database<br/><br/>";
}
/*
* REMOTE SALES TABLE
*
*/
$remote_table = "ORDR";
$tsql = "SELECT DocDate,DocNum,U_IMO,NumAtCard,U_Shipname,CardName,CardCode
FROM $remote_table WHERE SlpCode='1' ORDER BY DocDate DESC";
$stmt = mssql_query( $tsql, $conn );
if( $stmt === false )
{
$fh = fopen( "mssql.log", 'a' );
fwrite( $fh, date('Y.m.d-H:i:s')." - MSSQL_IMPORTER - error executing query [1]\n" );
fclose( $fh );
echo "Error in executing query [1].</br>";
die( print_r( mssql_get_last_message(), true));
}
$sales_table = array();
$sales_table = get_table( $stmt );
print_r($sales_table);
echo "<br/><br/>extracted from $server >> $database >> $remote_table: ".sizeof( $sales_table )." records<br/>";
#
# Import to MySQL
#
require_once('Database/MySQL.php');
$db = &new MySQL('localhost', 'root', 'Marine1234', 'hss_db');
#
# truncate (clean up) hss_db.sales_table_imported
#
$sql = "TRUNCATE TABLE sales_table_imported";
$res1 = $db->query($sql);
#
# import REMOTE and LOCAL SALES TABLES to hss_db.sales_table_imported
#
for ( $i = 0; $i <= ( sizeof( $sales_table ) - 1 ); $i++ ) {
$sales_number = $sales_table[$i]['DocNum'];
$date = date_create( $sales_table[$i]['DocDate'] );
//$create_date = date_format( $date, "d-m-Y" );
$create_date = date_format( $date, "Y-m-d" );
$imo_number = $sales_table[$i]['U_IMO'];
$customer_ref = $sales_table[$i]['U_Shipname'];
$requis_number = $sales_table[$i]['NumAtCard'];
$sales_name = $sales_table[$i]['CardName'];
$debtor_account = $sales_table[$i]['CardCode'];
$sql ="INSERT INTO
sales_table_imported ( CREATEDATE,SALESNUMBER,IMOnumber,CUSTOMERREF,REQUISNUMBER,SALESNAME,DEBTORACCOUNT )
VALUES ( '$create_date', '$sales_number', '$imo_number', '$customer_ref', '$requis_number', '$sales_name', '$debtor_account' )";
$res2 = $db->query($sql);
}
################## LOCAL SALES TABLE (old HSS system) ##################
$sql = "SELECT * FROM sales_table_hss ORDER BY CREATEDATE DESC";
$res = $db->query($sql);
echo "<br/>extracted from freja >> hss_db >> sales_table_hss: ".$res->size()." records<br/><br/>";
$sql = "INSERT INTO sales_table_imported SELECT * FROM sales_table_hss";
$res = $db->query($sql);
$end = time();
$process_time = $end - $start;
$fh = fopen( "mssql.log", 'a' );
fwrite( $fh, date('Y.m.d-H:i:s')." - MSSQL_IMPORTER - import completed - process took [$process_time] seconds.\n" );
fclose( $fh );
echo '<br/>Import has been completed.';
?>