333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
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
'use strict'
 
const sql = require('./')
const { resolve } = require('./lib/connectionstring');
// const wtf = require('wtfnode')
 
const sqlConfig = {
  password: 'Upper_l0wercase',
  database: 'di_production',
  // connectionTimeout: undefined,
  // requestTimeout: 30000,
  stream: false,
  options: { encrypt: true },
  port: 1433,
  user: 'sa',
  server: 'localhost',
  pool: {
    acquireTimeoutMillis: 1000,
    propagateCreateError: true
  }
}
 
const sqlConfigStr = 'Server=localhost,1433;Database=di_production;User Id=sa;Password=Upper_l0wercase;Encrypt=true;ApplicationIntent=ReadOnly'
 
console.log(resolve(sqlConfigStr));
 
let count = 0
 
function badUUIDReq (pool) {
  const req = pool.request()
  req.input('id', sql.UniqueIdentifier, 'foobar')
  return req.query("select * from TestUniqueId where id = @id").catch((e) => {
    console.log('Request threw exception', e)
    // if (count++ < 15) {
    //   return badUUIDReq(pool)
    // } else {
      throw e
    // }
  })
}
 
function main () {
  sql.connect(sqlConfig).then((connection) => {
    return badUUIDReq(connection)
  }).then((result) => {
    console.dir(result)
  }).then(() => sql.close()).catch(() => {
    return sql.close()
  })
}
 
// main()
const pool2 = new sql.ConnectionPool(sqlConfig).connect().catch(e => {
  console.error('catch e', e)
});
 
pool2.then((pool) => {
  pool.on('error', err => {
    console.error('error: ', err)
  })
  return pool
})
 
pool2.then((p) => badUUIDReq(p).catch(() => p.close()))