-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
81 lines (63 loc) · 2.27 KB
/
index.js
File metadata and controls
81 lines (63 loc) · 2.27 KB
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
"use strict";
var ibmdb = require('ibm_db');
var config = require('./config');
module.exports.Customer = class Customer {
constructor(customerId, firstName, lastName) {
this.customerId = customerId;
this.firstName = firstName;
this.lastName = lastName;
}
getCustomerId() {
return this.customerId;
}
getFirstName() {
return this.firstName;
}
getLastName() {
return this.lastName;
}
toString() {
return '[' + this.customerId + '] ' + this.firstName + ' ' + this.lastName;
}
}
module.exports.CustomerDataRetriever = class CustomerDataRetriever {
constructor() {
}
retrieveCustomers(callback) {
var customers = [];
console.log("Opening DB2 connection");
var connString = "DRIVER={DB2};"
+ "DATABASE=" + config.database_name + ";"
+ "UID=" + config.database_user + ";"
+ "PWD=" + config.database_password + ";"
+ "HOSTNAME=" + config.database_host + ";"
+ "port=" + config.database_port;
console.log("DB2 connection string: " + connString);
ibmdb.open(connString, function(err, conn) {
if(err) {
console.log("DB2 connection error: ", err.message);
callback();
} else {
conn.query("select * from customer fetch first 100 rows only", function(err, customerRows, moreResultSets) {
if(err) {
console.log("DB2 query failed: ", err.message);
} else {
for(var i = 0; i < customerRows.length; i++) {
customers.push(
new module.exports.Customer(
customerRows[i].CID,
customerRows[i].FIRST_NAME,
customerRows[i].LAST_NAME));
}
if(typeof callback === "function") {
callback(customers);
}
}
});
conn.close(function(){
console.log("DB2 connection Closed");
});
}
});
}
}