hashhashu / sqltools-Oracle-driver

SQLTools Driver for Oracle
MIT License
6 stars 2 forks source link

Query report error: "performance is not defined" #14

Closed danniod closed 1 year ago

danniod commented 1 year ago

I am using thick mode with installed oracle-instantclient19.21 connect to oracle server 11.2. I can using sqlplus connect to my server and query thats version, and using vscode-ext can login success but query that sql got error, see below: image

hashhashu commented 1 year ago

Hi, can other queries be executed? I tested it in my environment and it successed.

hashhashu commented 1 year ago

Can you try to login with the sys user, i'm thinking it is the privilege problem.

danniod commented 1 year ago

I'v configuring and testing all a half of day, and cannot query any sql command. Here's SQLTools output sence connect and query a sql:

[1698647237535] INFO  (ext): EXECUTING COMMAND => sqltools.selectConnection
[1698647237535] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647237536] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647237536] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647237536] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647237537] INFO  (ls): REQUEST RECEIVED => connection/ConnectRequest
[1698647237538] INFO  (ls): Connection instance created for oracle.
    ns: "conn-manager"
SELECT 1 FROM DUAL
ReferenceError: performance is not defined
    at /home/user/.vscode-server-insiders/extensions/hurly.sqltools-oracle-driver-0.1.13/out/ls/plugin.js:274:96
[1698647237600] INFO  (ext): Connection explorer changed. Will be updated.
    ns: "conn-man:explorer"
[1698647237605] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647237605] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647237640] INFO  (ext): Connection explorer changed. Will be updated.
    ns: "conn-man:explorer"
[1698647237713] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647237714] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647237715] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647237715] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647237716] INFO  (ext): Connection explorer changed. Will be updated.
    ns: "conn-man:explorer"
[1698647237922] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647237923] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647244263] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647244266] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647244268] INFO  (ext): Connection explorer changed. Will be updated.
    ns: "conn-man:explorer"
[1698647244271] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647244271] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647249045] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647249046] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647249047] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647249047] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647249047] INFO  (ext): Connection explorer changed. Will be updated.
    ns: "conn-man:explorer"
[1698647249070] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647249070] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647249071] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647249071] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647249071] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647249071] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647249072] INFO  (ext): Connection explorer changed. Will be updated.
    ns: "conn-man:explorer"
[1698647249277] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647249278] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647257312] INFO  (ext): EXECUTING COMMAND => sqltools.executeQuery
[1698647257313] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647257315] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647257315] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647257316] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647257317] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647257317] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647257318] INFO  (ext): Connection explorer changed. Will be updated.
    ns: "conn-man:explorer"
[1698647257318] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647257317] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647257319] INFO  (ext): Connection explorer changed. Will be updated.
    ns: "conn-man:explorer"
[1698647257318] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647257323] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647257324] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647257524] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647257524] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647257823] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections
[1698647257824] INFO  (ls): REQUEST RECEIVED => connection/GetConnectionsRequest
[1698647257825] INFO  (ls): REQUEST RECEIVED => connection/RunCommandRequest
SELECT 1 FROM DUAL
ReferenceError: performance is not defined
    at /home/user/.vscode-server-insiders/extensions/hurly.sqltools-oracle-driver-0.1.13/out/ls/plugin.js:274:96
[1698647278898] INFO  (ext): EXECUTING COMMAND => sqltools.getConnections

I test using node-oracledb and got result. there's my test.js:

const oracledb = require('oracledb');
oracledb.initOracleClient();

async function run() {
    const connection = await oracledb.getConnection({
        user                 : "orcl",
        password        : "mypasswd" ,  // contains the hr schema password
        connectString : "myoracle:1521/orcl" 
    });

            const result = await connection.execute(`SELECT * FROM v$version`);
    console.log("Result is:", result.rows);

    await connection.close();   // Always close connections
}

run();

then I run node test.js got result. and run query SELECT 1 FROM DUAL before that image

hashhashu commented 1 year ago

ok, thanks for reporting, i think it's the performance.now() causes the problem, it needs nodejs16+ to support global reference and i missed it. Maybe you can upgrade nodejs version or i will improve code at weekends.

danniod commented 1 year ago

OK. IT WORKS! Thanks! I use nvm manager nodejs versions, but set v14 to default due to projects for work. So I change to default and resart vscode to try query some sql, it works. So I have to find some way to run work's project with low version's nodejs.

danniod commented 1 year ago

Thank you, hope it batter.

hashhashu commented 1 year ago

Hi, v14 should work now.