mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-18 18:26:00 +00:00
use oracledb purejs client
This commit is contained in:
@@ -5,9 +5,6 @@ function adjustFile(file) {
|
|||||||
if (process.platform != 'win32') {
|
if (process.platform != 'win32') {
|
||||||
delete json.optionalDependencies.msnodesqlv8;
|
delete json.optionalDependencies.msnodesqlv8;
|
||||||
}
|
}
|
||||||
if (process.arch == 'arm64') {
|
|
||||||
delete json.optionalDependencies.oracledb;
|
|
||||||
}
|
|
||||||
fs.writeFileSync(file, JSON.stringify(json, null, 2), 'utf-8');
|
fs.writeFileSync(file, JSON.stringify(json, null, 2), 'utf-8');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -121,7 +121,6 @@
|
|||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"better-sqlite3": "9.6.0",
|
"better-sqlite3": "9.6.0",
|
||||||
"msnodesqlv8": "^4.2.1",
|
"msnodesqlv8": "^4.2.1"
|
||||||
"oracledb": "^5.5.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1944,11 +1944,6 @@ open@^7.4.2:
|
|||||||
is-docker "^2.0.0"
|
is-docker "^2.0.0"
|
||||||
is-wsl "^2.1.1"
|
is-wsl "^2.1.1"
|
||||||
|
|
||||||
oracledb@^5.5.0:
|
|
||||||
version "5.5.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/oracledb/-/oracledb-5.5.0.tgz#0cf9af5d0c0815f74849ae9ed56aee823514d71b"
|
|
||||||
integrity sha512-i5cPvMENpZP8nnqptB6l0pjiOyySj1IISkbM4Hr3yZEDdANo2eezarwZb9NQ8fTh5pRjmgpZdSyIbnn9N3AENw==
|
|
||||||
|
|
||||||
os-tmpdir@~1.0.2:
|
os-tmpdir@~1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
|
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
|
||||||
|
|||||||
@@ -5,9 +5,6 @@ let fillContent = '';
|
|||||||
if (process.platform == 'win32') {
|
if (process.platform == 'win32') {
|
||||||
fillContent += `content.msnodesqlv8 = () => require('msnodesqlv8');`;
|
fillContent += `content.msnodesqlv8 = () => require('msnodesqlv8');`;
|
||||||
}
|
}
|
||||||
if (process.arch != 'arm64') {
|
|
||||||
fillContent += `content.oracledb = () => require('oracledb');`;
|
|
||||||
}
|
|
||||||
fillContent += `content['better-sqlite3'] = () => require('better-sqlite3');`;
|
fillContent += `content['better-sqlite3'] = () => require('better-sqlite3');`;
|
||||||
|
|
||||||
const getContent = empty => `
|
const getContent = empty => `
|
||||||
|
|||||||
@@ -26,10 +26,10 @@
|
|||||||
"compare-versions": "^3.6.0",
|
"compare-versions": "^3.6.0",
|
||||||
"cors": "^2.8.5",
|
"cors": "^2.8.5",
|
||||||
"cross-env": "^6.0.3",
|
"cross-env": "^6.0.3",
|
||||||
|
"dbgate-datalib": "^5.0.0-alpha.1",
|
||||||
"dbgate-query-splitter": "^4.9.3",
|
"dbgate-query-splitter": "^4.9.3",
|
||||||
"dbgate-sqltree": "^5.0.0-alpha.1",
|
"dbgate-sqltree": "^5.0.0-alpha.1",
|
||||||
"dbgate-tools": "^5.0.0-alpha.1",
|
"dbgate-tools": "^5.0.0-alpha.1",
|
||||||
"dbgate-datalib": "^5.0.0-alpha.1",
|
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"diff": "^5.0.0",
|
"diff": "^5.0.0",
|
||||||
"diff2html": "^3.4.13",
|
"diff2html": "^3.4.13",
|
||||||
@@ -83,7 +83,6 @@
|
|||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"better-sqlite3": "9.6.0",
|
"better-sqlite3": "9.6.0",
|
||||||
"msnodesqlv8": "^4.2.1",
|
"msnodesqlv8": "^4.2.1"
|
||||||
"oracledb": "^5.5.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,5 +36,8 @@
|
|||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"webpack": "^5.91.0",
|
"webpack": "^5.91.0",
|
||||||
"webpack-cli": "^5.1.4"
|
"webpack-cli": "^5.1.4"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"oracledb": "^6.5.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,20 +4,10 @@ const stream = require('stream');
|
|||||||
const driverBases = require('../frontend/drivers');
|
const driverBases = require('../frontend/drivers');
|
||||||
const Analyser = require('./Analyser');
|
const Analyser = require('./Analyser');
|
||||||
//--const pg = require('pg');
|
//--const pg = require('pg');
|
||||||
//const oracledb = require('oracledb');
|
const oracledb = require('oracledb');
|
||||||
const { createBulkInsertStreamBase, makeUniqueColumnNames } = require('dbgate-tools');
|
const { createBulkInsertStreamBase, makeUniqueColumnNames } = require('dbgate-tools');
|
||||||
|
|
||||||
|
|
||||||
let requireOracledb; // native module
|
|
||||||
|
|
||||||
let oracledbValue;
|
|
||||||
function getOracledb() {
|
|
||||||
if (!oracledbValue) {
|
|
||||||
oracledbValue = requireOracledb();
|
|
||||||
}
|
|
||||||
return oracledbValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
pg.types.setTypeParser(1082, 'text', val => val); // date
|
pg.types.setTypeParser(1082, 'text', val => val); // date
|
||||||
pg.types.setTypeParser(1114, 'text', val => val); // timestamp without timezone
|
pg.types.setTypeParser(1114, 'text', val => val); // timestamp without timezone
|
||||||
@@ -62,7 +52,7 @@ const drivers = driverBases.map(driverBase => ({
|
|||||||
authType,
|
authType,
|
||||||
socketPath,
|
socketPath,
|
||||||
}) {
|
}) {
|
||||||
client = await getOracledb().getConnection({
|
client = await oracledb.getConnection({
|
||||||
user,
|
user,
|
||||||
password,
|
password,
|
||||||
connectString: useDatabaseUrl ? databaseUrl : port ? `${server}:${port}` : server,
|
connectString: useDatabaseUrl ? databaseUrl : port ? `${server}:${port}` : server,
|
||||||
@@ -283,10 +273,4 @@ const drivers = driverBases.map(driverBase => ({
|
|||||||
},
|
},
|
||||||
}));
|
}));
|
||||||
|
|
||||||
drivers.initialize = dbgateEnv => {
|
|
||||||
if (dbgateEnv.nativeModules && dbgateEnv.nativeModules.oracledb) {
|
|
||||||
requireOracledb = dbgateEnv.nativeModules.oracledb;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = drivers;
|
module.exports = drivers;
|
||||||
|
|||||||
@@ -3,7 +3,4 @@ const drivers = require('./drivers');
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
packageName: 'dbgate-plugin-oracle',
|
packageName: 'dbgate-plugin-oracle',
|
||||||
drivers,
|
drivers,
|
||||||
initialize(dbgateEnv) {
|
|
||||||
drivers.initialize(dbgateEnv);
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ var config = {
|
|||||||
plugins: [
|
plugins: [
|
||||||
new webpack.IgnorePlugin({
|
new webpack.IgnorePlugin({
|
||||||
checkResource(resource) {
|
checkResource(resource) {
|
||||||
const lazyImports = ['oracledb', 'uws'];
|
const lazyImports = ['uws'];
|
||||||
if (!lazyImports.includes(resource)) {
|
if (!lazyImports.includes(resource)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7978,10 +7978,10 @@ optionator@^0.8.1, optionator@^0.8.3:
|
|||||||
resolved "https://registry.yarnpkg.com/opts/-/opts-2.0.2.tgz#a17e189fbbfee171da559edd8a42423bc5993ce1"
|
resolved "https://registry.yarnpkg.com/opts/-/opts-2.0.2.tgz#a17e189fbbfee171da559edd8a42423bc5993ce1"
|
||||||
integrity sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==
|
integrity sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==
|
||||||
|
|
||||||
oracledb@^5.5.0:
|
oracledb@^6.5.1:
|
||||||
version "5.5.0"
|
version "6.5.1"
|
||||||
resolved "https://registry.yarnpkg.com/oracledb/-/oracledb-5.5.0.tgz#0cf9af5d0c0815f74849ae9ed56aee823514d71b"
|
resolved "https://registry.yarnpkg.com/oracledb/-/oracledb-6.5.1.tgz#814d985035acdb1a6470b1152af0ca3767569ede"
|
||||||
integrity sha512-i5cPvMENpZP8nnqptB6l0pjiOyySj1IISkbM4Hr3yZEDdANo2eezarwZb9NQ8fTh5pRjmgpZdSyIbnn9N3AENw==
|
integrity sha512-JzoSGei1wnvmqgKnAZK1W650mzHTZXx+7hClV4mwsbY/ZjUtrpnojNJMYJ2jkOhj7XG5oJPfXc4GqDKaNzkxqg==
|
||||||
|
|
||||||
os-tmpdir@~1.0.2:
|
os-tmpdir@~1.0.2:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
|
|||||||
Reference in New Issue
Block a user