Git Product home page Git Product logo

Comments (9)

tgulacsi avatar tgulacsi commented on May 30, 2024

Sorry, but I cannot find how go-oci8 does it.

from ora.

tgulacsi avatar tgulacsi commented on May 30, 2024

Can you try the "sysdba" branch?

from ora.

benbve avatar benbve commented on May 30, 2024

Sorry I wasn't referring to go-oci8 - was referring to the oci.dll (windows) in oci.h the following exists:
/--------------------------- OCISessionGet Modes ---------------------------/

#define OCI_SESSGET_SPOOL 0x0001 /* SessionGet called in SPOOL mode /
#define OCI_SESSGET_CPOOL OCI_CPOOL /
SessionGet called in CPOOL mode /
#define OCI_SESSGET_STMTCACHE 0x0004 /
Use statement cache /
#define OCI_SESSGET_CREDPROXY 0x0008 /
SessionGet called in proxy mode /
#define OCI_SESSGET_CREDEXT 0x0010
#define OCI_SESSGET_SPOOL_MATCHANY 0x0020
#define OCI_SESSGET_PURITY_NEW 0x0040
#define OCI_SESSGET_PURITY_SELF 0x0080
#define OCI_SESSGET_SYSDBA 0x0100 /
SessionGet with SYSDBA privileges */

However, on further review I cannot find any OCI programs that enable connection using this flag (but many asking for it) and it does appear to be there. Such privilege is possible is JDBC using the "internal_logon" property. I was hoping you might know more?

And what is the "sysdba" branch?

from ora.

benbve avatar benbve commented on May 30, 2024

Ah I see you updated the sysdba branch not long ago - will give that a try, thx

from ora.

benbve avatar benbve commented on May 30, 2024

Thanks for the very quick response, btw.
OK have tried that. Didn't work :(
I used:
db, err := sql.Open("ora", "sys/[email protected]/XE AS SYSDBA") to attempt to connect to a standby database (which will only allow a SYSDBA connection - same as with a database in mount state) and it failed the same way as it does with a normal user connection.
SQLPlus with same string works.

from ora.

tgulacsi avatar tgulacsi commented on May 30, 2024

What is that "same way"? Connecting with SYSDBA privilege is not the same as connecting to a standby db...
Please check with a normal DB first, then we can try to work out the standby state.

I've added TestSysdba into z_db_test.go; you can set the username/password with GO_ORA_DRV_TEST_SYSDBA_USERNAME/GO_ORA_DRV_TEST_SYSDBA_PASSWORD env vars.
For me now it says "
z_db_test.go:323: "test/[email protected]:49161 AS SYSDBA": Drv.Open Env.OpenCon Srv.OpenSes Env.ociError ORA-01031: insufficient privileges
"
when I do a go test -run=Sysdba -v.

from ora.

benbve avatar benbve commented on May 30, 2024

if I change lines 203-209 approx to be:
/*
mode := C.ub4(C.OCI_DEFAULT)
switch cfg.Mode {
case SysDba:
mode |= C.OCI_SYSDBA
case SysOper:
mode |= C.OCI_SYSOPER
}
*/
mode := C.ub4(C.OCI_SYSDBA)
then it works. (ie. just set the mode directly
Which implies that the "SysDba" is not being picked up

from ora.

benbve avatar benbve commented on May 30, 2024

Ah In srv.go that is

from ora.

benbve avatar benbve commented on May 30, 2024

OK Please ignore previous. My setup was not right. Have retested. All good now. :) 👍
Thank you very much.

from ora.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.