暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

金仓数据库KingbaseES客户端编程接口指南-Nodejs(3. Nodejs驱动使用说明)

数据猿 2022-08-25
779

3. Nodejs驱动使用说明

3.1. 连接数据库

使用 Client.connect() 连接数据库。

const { Client } = require('kb')      /* 导入Nodejs驱动模块 */

/* 实例化Client对象 */
const client = new Client({
    user: 'SYSTEM',                  /* 用户名 */
    host: '192.168.0.102',           /* 数据库服务器IP */
    database: 'TEST',                /* 要连接的库 */ */ */ */
    password: '123456',              /* 密码 */ */
    port: 54321,                     /* 端口 */ */ */
    ssl: false,                      /* 是否使用ssl加密,true/false ,默认值为false */
})

/* 连接数据库 */
client.connect(err => {
  if (err) {
    console.error('connection error', err.stack)
  } else {
    console.log('connected')
  }
})

3.2. 执行语句

使用 Client.query() 执行语句。

  1. 执行不带参数的语句

client.query('SELECT * FROM TEST', (err, res) => {
  if (err) throw err
  console.log(res)
})
  1. 执行带参数的语句

方法1:

const text = 'INSERT INTO users(name, email) VALUES($1, $2) RETURNING *'
const values = ['myname', 'myemail@gmail.com']
/*  回调函数 */
client.query(text, values, (err, res) => {
  if (err) {
    console.log(err.stack)
  } else {
    console.log(res)
  }
})

方法2:

const query = {
  text: 'INSERT INTO users(name, email) VALUES($1, $2)',
  values: ['myname', 'myemail@gmail.com'],
}
/*  回调函数 */
client.query(query, (err, res) => {
  if (err) {
    console.log(err.stack)
  } else {
    console.log(res)
  }
})
  1. 创建一个准备好的语句,在多次执行时提高效率

const query = {
  /*  name参数用于命名准备好的语句 */
  name: 'fetch-user',
  text: 'SELECT * FROM user WHERE id = $1',
  values: [1],
}
/*  回调函数 */
client.query(query, (err, res) => {
  if (err) {
    console.log(err.stack)
  } else {
    console.log(res)
  }
})

3.3. 关闭连接

使用 Client.end() 关闭连接。

client.end(err => {
  console.log('client has disconnected')
  if (err) {
    console.log('error during disconnection', err.stack)
  }
})
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论