-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
87 lines (68 loc) · 1.99 KB
/
index.js
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
var JDBC = require("jdbc");
var jinst = require("jdbc/lib/jinst");
let instanceConnection = null;
function DB2Initialize(configData) {
return new Promise((resolve, reject) => {
if (instanceConnection) reject("Connection already exists!");
if (
!configData ||
!configData.url ||
!configData.user ||
!configData.password
)
reject("Config is invalid!");
if (!jinst.isJvmCreated()) {
jinst.addOption("-Xrs");
jinst.setupClasspath(["./lib/jt400.jar"]);
}
const config = {
url: configData.url,
drivername: "com.ibm.as400.access.AS400JDBCDriver",
minpoolsize: 1,
maxpoolsize: 10,
user: configData.user,
password: configData.password,
};
const jdbc = new JDBC(config);
jdbc.initialize((error) => {
if (error) reject(error);
});
jdbc.reserve((error, connection) => {
if (error) reject(error);
instanceConnection = connection.conn;
resolve(connection.conn);
});
});
}
async function DB2ExecuteQuery(query) {
return new Promise((resolve, reject) => {
if (!instanceConnection) reject("Connection not found!");
instanceConnection.createStatement((error, statement) => {
if (error) reject(error);
statement.executeQuery(query, (error, resultSet) => {
if (error) reject(error);
resultSet.toObjArray(function (error, results) {
if (error) reject(error);
resolve(results);
});
});
});
});
}
async function DB2ExecuteQuery(query, callback) {
if (!instanceConnection) callback("Instancia nao encontrada");
instanceConnection.createStatement((error, statement) => {
if (error) callback(error);
statement.executeQuery(query, (error, resultSet) => {
if (error) callback(error);
resultSet.toObjArray(function (error, results) {
if (error) callback(error);
callback(null, results);
});
});
});
}
module.exports = {
DB2Initialize,
DB2ExecuteQuery,
};