Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Get database name in OCI or PL/SQL

Re: Get database name in OCI or PL/SQL

From: Michael Chen <michaelc7_at_earthlink.net>
Date: Wed, 02 Oct 2002 17:18:23 GMT
Message-ID: <zTFm9.5007$lV3.467473@newsread1.prod.itd.earthlink.net>


Yes, I got a definitive and best solution by email from Senthil. Thank you!

    select sys_context('userenv', 'db_name') from dual;

This does not require any special privilege or any customer configuration, which is exactly what I am looking for. Once again, thank you Senthil.

However, if anyone knows how to do it in OCI without having to submit a PL/SQL query, it will be even better.

--Michael

"Michael Chen" <michaelc7_at_earthlink.net> wrote in message news:XYnm9.3554$lV3.301252_at_newsread1.prod.itd.earthlink.net...
> Jim, TurkBear, David and Cliff,
>
> Thank you for your help. You all suggested using the v$database and 2
other
> v$ views to get the database name. The problem with me is that I am
writing
> a generic shrink-wrap software that will be distributed to a large number
of
> customers, and the program may be run using any account with any
> priviledges. It is not practical at all to ask all DBAs to grant public
> access to these security sensitive v$ views, or create a pre-defined
synonym
> and hardcode such synonym into my program.
>
> I am hoping to find a generic and definitive way to get the database name,
> so that my program can make uses of database attributes. Otherwise, it is
> fair to say that OCI is very poorly designed in this particular feature.
> Actually, the whole OCIDescribeAny and attribute hierachy thing are poorly
> designed and unprofessionally documented.
>
> Thank you
>
> --Michael
>
> "Michael Chen" <michaelc7_at_earthlink.net> wrote in message
> news:Q61m9.1053$OB5.100694_at_newsread2.prod.itd.earthlink.net...
> > Hello,
> >
> > In Oracle 8i, function OCIDescribeAny can return OCI_PTYPE_DATABASE type
> > information such as OCI_ATTR_CURSOR_COMMIT_BEHAVIOR and
> > OCI_ATTR_LIST_SCHEMAS. To get the handle from OCIDescribeAny for a
> > database, you need to pass the database name:
> >
> >
> >
>

http://download-west.oracle.com/otndoc/oracle9i/901_doc/appdev.901/a89857/oc
> > i15r32.htm
> > also
> >
> >
>

http://download-west.oracle.com/otndoc/oracle9i/901_doc/appdev.901/a89857/oc
> > i06des.htm#444119
> >
> > The problem is my OCI connection may not have prior knowledge of the
> > database name. What is passed to function OCIServerAttach may be just
the
> > TNS alias name defined in tnsnames.ora. Is there any way in OCI or
> > PL/SQL for me to get the database name after the connection is
> > established?
> >
> > Thank for your help.
> >
> > --Michael
> >
Received on Wed Oct 02 2002 - 12:18:23 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US