#nuxt.js #node-oracledb
Вопрос:
Я могу получить доступ к базе данных и получить данные из своей базы данных Oracle. Но эта ошибка возникает в моей консоли broswer.
import oracledb from 'oracledb'
oracledb.outFormat = oracledb.OUT_FORMAT_OBJECT
export default async function (ctx) {
let connection
try {
connection = await oracledb.getConnection({
user: 'user',
password: 'user!1',
connectString: '127.0.0.1:1521/uat2'
})
const result = await connection.execute(
`SELECT PAGETITLE, ACTIVITYID
FROM TB_MOULD
WHERE ACTIVITYID = 'WYDJQHD001'`,
[]
)
console.log(result.rows)
} catch (err) {
console.error(err)
} finally {
if (connection) {
try {
await connection.close()
} catch (err) {
console.error(err)
}
}
}
}
Я предполагаю, что webpack не различает, может ли node-oracledb работать на стороне, отличной от сервера, во время процесса связывания.
У кого-нибудь есть решения?
Комментарии:
1. Какова версия узла?
node -v
2. v12.18.3 @kissu
Ответ №1:
Из журнала изменений node-oracledb 5.0:
Пользователи Webpack должны скопировать двоичный файл node-oracledb в подкаталог выходного каталога. Например , если выходной каталог есть
dist
, то двоичный файл должен быть внутриdist/node_modules/oracledb/build/Release/oracledb-5.0.0-linux-x64.node
. Плагин копированияwebpack.config.js
может сделать это, скопировавnode_modules/oracledb/build
в каталог с тем же именем. См. Выпуск 1156.
Потенциальная вещь, которую следует рассмотреть, — это использование модулей ES-я не пробовал их в этом контексте.
Комментарии:
1. Я пытался this.it не работает
Ответ №2:
Теперь я должен найти решение.
if (process.server) {
const oracledb = require('oracledb')
oracledb.outFormat = oracledb.OUT_FORMAT_OBJECT
//......
}