Saltar al contenido

Implementar la aplicación Node.js para SAP HANA

Cambie esta aplicación para que sea WebApp.

Instalar paquetes de soporte para Node.js y Express.

npm install express

Ejecución explícita para crear una plantilla para el desarrollo. WebApp

express

Por encima del paso, se crearán archivos de plantilla con dependencias.

Nota: Anteriormente se instaló manualmente. Queremos hacerlo automáticamente junto con otros paquetes.

Cambiar package.json para incluir @sap/hdbext conductor.

Editar package.json y debajo de la línea en la sección de dependencia.

"@sap/hdbext": "latest"

Después de los cambios, por package.json el archivo se vería así:

{
  "name": "hxeapp",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "@sap/hdbext": "latest",
    "cookie-parser": "~1.4.4",
    "debug": "~2.6.9",
    "express": "~4.16.1",
    "http-errors": "~1.6.3",
    "jade": "~1.11.0",
    "morgan": "~1.9.1"
  }
}

Llamada npm install para dibujar las dependencias

npm install

Cree una aplicación que haga lo que está en nuestro hxeapp.js lo hace, pero ahora debemos modificar el archivo de plantilla para hacerlo.

El contenido de su directorio se vería así:

app.js  
hxeapp.js      
public/  
views/
bin/    
node_modules/  
package.json      
routes/
$ ls routes/
index.js  users.js

Cambiar el index.js archivo para incluir el siguiente fragmento de código:

var express = require('express');
var hdbext = require('@sap/hdbext')
var router = express.Router();
var hanaConfig = {
  host: '<HANA hostname>',
  port: `<HANA Port>`,
  sslValidateCertificate: false,
  encrypt: true,
  user: `<SYSTEM|DBADMIN>`,
  password: '<HANA SYSTEM or DBADMIN user password>'
}
var sql = "select * from m_database"
/* GET home page. */
router.get('/', function (req, res, next) {

  hdbext.createConnection(hanaConfig, function (error, client) {
    if (error) {
      return console.error(error);
    }

    client.exec(sql, function (error, rows) {
      res.render('index', { title: 'Sample Node.js on HANA ', datarow: rows });
    })
  })
});

module.exports = router;

Reemplace la <HANA hostname> con la dirección IP o el nombre de host de su servidor de base de datos SAP HANA, Express Edition o SAP HANA Cloud. Sustituir user le SYSTEM si se dirige a HANA Express o DBADMIN si se dirige a SAP HANA Cloud. Sustituir HANA Port con el puerto SQL para el sistema SAP HANA. Reemplace la <HANA SYSTEM or DBADMIN user password> con una contraseña de usuario para sistemas de bases de datos. Luego guarda los cambios.

Edita el archivo views/index.jade gobernando el WebApp diseño de salida de la siguiente manera:

extends layout

block content
  h1= title
  - each v, k in datarow[0]
    p #{k} : #{v}

Inicie la aplicación

npm start

Abra un nuevo navegador y acceda a él http://localhost:3000/
Tenga en cuenta que el navegador muestra información similar a la que se mostró en la salida anterior.

Hecho

Inicie sesión para responder la pregunta