GetConnection without Database Name???

here's the part of my source code.
try{
     Class.forName(driverName);
     conn = DriverManager.getConnection( ======== url Part ======== , "sa", "");                                             
     stmt = conn.createStatement();
     metadata = conn.getMetaData();
}catch(Exception e){
     System.out.println(e);
     System.out.println("Connection|Statement Creation Error!");
     return false;
with that URL PART...
I should know one of the databse Name before I get a connection.
but, I need to select database after i get a connection.
is there a way???? to do this?
can you explain it to me?

It'll probably depend on the RDBMS. You can certainly do this in Sybase (and perhaps SQL Server). The URL simply contains the path to the server (that contains many databases). You can then issue a 'use database' sql statement to have the connection point to a particular database.
Dave

Similar Messages

  • Connection without username, password or database name

    I'm trying to find an automated way (for a given dbms) to check whether a server name and port number correctly identifies that the given dbms is running at that location.
    For example, in MySQL, I can do something like:
    DriverManager.getConnection("jdbc:mysql://" + serverName + ":" + port + "/");
    So, I havent specified a username, password or database name. And this works (at least on my installation) by simply checking for an exception.
    My question is: Can I always rely on this for MySQL or does it depend on how the MySQL dbms is configured?
    What about MS SQL Server and Oracle?
    Any help, much appreciated.

    Your question was "Can I always rely on this for MySQ"No it wasn't. My question was:
    "Can I always rely on this for MySQL or does it depend on how the MySQL dbms is configured?"
    Its the bit between the "My question is: " and the question mark. I understand that if you chop the question in half then "no" is a valid answer but then thats not the same question.
    and the answer is[i] No! If your abilitydepends on the MySQL configuration then the answer to
    your question is still No because it means you
    can't always rely on it.
    Wrong again!
    If I was to ask "does it depend on how the MySQL dbms is configured?" then the answer is yes.
    I think "No, yes" is a better answer to the question. Although I think masijade answer is best.
    But anway, thanks for your constructive reply.

  • Get database name

    Hello,
    I am using JDev 11.1.1.4.0.
    One of a requirement for me is to send email notification to a group of users. While composing a message, the subject should prefix with the database name. For instance, if the message is about a new Employee being added, the subject should read like this:
    "HR: New employee has been added"
    Is there a way to get the name of DB without executing sql query "SELECT ORA_DATABASE_NAME FROM DUAL"?
    If there isn't, do I have to create a new VO just for this?
    Thanks,
    Joonsup

    Hi,
    you create a public method in the AM Impl class and expose it as a client method. Then use the code below
        public String getDatabaseInformation(){
            DBTransaction dbTransaction = (DBTransaction) this.getTransaction();
            PreparedStatement prepStatement = dbTransaction.createPreparedStatement("select * from dual", 0);
            try {
              String dbSchema = prepStatement.getConnection().getMetaData().getUserName();
              String connectURL = prepStatement.getConnection().getMetaData().getURL();
              //returns schema_name@host:port:sid         
              return dbSchema + connectURL.substring(connectURL.indexOf("@")-1);
            } catch (SQLException e) {
                e.printStackTrace();
          return null;
        }This way the information is accessible from the web client and from ADF BC model itself
    Frank
    Edited by: Frank Nimphius on Aug 2, 2011 5:02 PM

  • How to develop a report in Crystal with flexible database name?

    Hello
    I am a Project Manager of a project of developing reports in Crystal 11.
    The idea is to develop reports on top of the content in MS SQL tables.
    The initial testing and demonstration to the customer is done within the Crystal development environment.
    In a later stage, we need to integrate the reports with C# WPF application, using Crystal control.
    We currently use ODBC connections.
    We want the flexibility to set the actual database dynamically, by using the "default database" of the ODBC connection (or any other way). In other words, we want not just the flexibility to change the database server, but work with different database names, like "ProductDB_TEST", "ProductDB_PROD" etc. - without changing the report.
    Unfortunately, we got the answer from the developer that the database name should be pre-defined for a given report. Although the connection can be set to another server, the DB name cannot be set dynamically.
    Looking into the "Database" -> "Show SQL Query" menu, we see the following piece inside the query:
    INNER JOIN "DATABASE_NAME"."dbo"."IncidentTypeSnapshotData"
    So it looks like the query itself contains the DB name.
    Is it really a limitation of Crystal, or rather the developer working on the project doesn't know the trick?
    Thanks for any hint
    Max

    CR CR 2011 / "Crystal reports For Visual Studio 2010", you are correct.
    Re. the database thinggy. You can connect to a database via ODBC, OLE DB or in some instances natively. Once a report is created you an change the datasource. A good sample app on how to do this is  csharp_win_dbengine / vb_win_dbengine. A link to the samples is here:
    Crystal Reports for .NET SDK Samples - Business Intelligence (BusinessObjects) - SCN Wiki
    More info on connecting to dbs and changing them is in the developer help files:
    SAP Crystal Reports .NET SDK Developer Guide
    SAP Crystal Reports .NET API Guide
    More info on CR APIs for .NET (applies to all versions of CR and VS):
    Crystal Reports for Visual Studio 2005 Walkthro... | SCN
    You can also use ADO .NET Datasets and in this way you handle the database connections in your app. A good sample is csharp_win_adodotnet (also available in VB) - same link as above.
    More info on datasets:
    Crystal Reports Guide To ADO.NET
    Crystal Reports for Visual Studio .NET - Walkthrough - Reporting Off ADO.NET Datasets
    For more complicated operations (e.g.; changing a report from ODBC to OLE DB, changing one table, etc., you will want to use the InProc RAS SDK that is also available in CRVS. Developer help files are here:
    Report Application Server .NET SDK Developer Guide
    Report Application Server .NET API Guide
    Sample apps are here:
    NET RAS SDK Samples - Business Intelligence (BusinessObjects) - SCN Wiki
    and here:
    Crystal Reports .NET In Process RAS (Unmanaged) SDK Sample Applications
    More info on RAS SDK:
    How to Use The RAS SDK .NET With In-Process RAS Server
    Lastly, do use the search box in the top right corner. I find simple search strings such as 'crystal net parameter' return best results (KBAs, Blogs, docs, wikis, discussions and more).
    - Ludek

  • Connect to database failed,rc=-10709 Connection failed (RTE:Database name)

    Hi gurues, I'm facing this issue with an IDES on MaxDB with Windows.
    System was up and running until someone tries to make an upgrade of the kernel. Since then we can not start our system. we tried to rollback kernel release to the previous one but it didn't work.
    When we start our system from MMC console we can see all process in green but work processes are in RUN state and after a few minutes they goes down with the following error
    trc file: "dev_w0", trc level: 1, release: "701"
    ACTIVE TRACE LEVEL           1
    ACTIVE TRACE COMPONENTS      all, MJ

    B Mon May 16 23:57:31 2011
    B  create_con (con_name=R/3)
    B  Loading DB library '
    sirillium1\sapmnt\SED\SYS\exe\uc\NTAMD64\dbsdbslib.dll' ...
    B  Library '
    sirillium1\sapmnt\SED\SYS\exe\uc\NTAMD64\dbsdbslib.dll' loaded
    B  Version of '
    sirillium1\sapmnt\SED\SYS\exe\uc\NTAMD64\dbsdbslib.dll' is "700.08", patchlevel (0.24)
    B  New connection 0 created
    M sysno      00
    M sid        SED
    M systemid   562 (PC with Windows NT)
    M relno      7010
    M patchlevel 0
    M patchno    32
    M intno      20020600
    M make:      multithreaded, Unicode, 64 bit, optimized
    M pid        212
    M
    M  kernel runs with dp version 241000(ext=110000) (@(#) DPLIB-INT-VERSION-241000-UC)
    M  length of sys_adm_ext is 576 bytes
    M  ***LOG Q0Q=> tskh_init, WPStart (Workproc 0 212) [dpxxdisp.c   1348]
    I  MtxInit: 30000 0 0
    M  DpSysAdmExtCreate: ABAP is active
    M  DpSysAdmExtCreate: VMC (JAVA VM in WP) is not active
    M  DpShMCreate: sizeof(wp_adm)          22784     (1752)
    M  DpShMCreate: sizeof(tm_adm)          5912704     (29416)
    M  DpShMCreate: sizeof(wp_ca_adm)          24064     (80)
    M  DpShMCreate: sizeof(appc_ca_adm)     8000     (80)
    M  DpCommTableSize: max/headSize/ftSize/tableSize=500/16/552064/552080
    M  DpShMCreate: sizeof(comm_adm)          552080     (1088)
    M  DpSlockTableSize: max/headSize/ftSize/fiSize/tableSize=0/0/0/0/0
    M  DpShMCreate: sizeof(slock_adm)          0     (104)
    M  DpFileTableSize: max/headSize/ftSize/tableSize=0/0/0/0
    M  DpShMCreate: sizeof(file_adm)          0     (72)
    M  DpShMCreate: sizeof(vmc_adm)          0     (1864)
    M  DpShMCreate: sizeof(wall_adm)          (41664/36752/64/192)
    M  DpShMCreate: sizeof(gw_adm)     48
    M  DpShMCreate: SHM_DP_ADM_KEY          (addr: 000000000B2C0050, size: 6607136)
    M  DpShMCreate: allocated sys_adm at 000000000B2C0050
    M  DpShMCreate: allocated wp_adm at 000000000B2C2270
    M  DpShMCreate: allocated tm_adm_list at 000000000B2C7B70
    M  DpShMCreate: allocated tm_adm at 000000000B2C7BD0
    M  DpShMCreate: allocated wp_ca_adm at 000000000B86B450
    M  DpShMCreate: allocated appc_ca_adm at 000000000B871250
    M  DpShMCreate: allocated comm_adm at 000000000B873190
    M  DpShMCreate: system runs without slock table
    M  DpShMCreate: system runs without file table
    M  DpShMCreate: allocated vmc_adm_list at 000000000B8F9E20
    M  DpShMCreate: allocated gw_adm at 000000000B8F9EA0
    M  DpShMCreate: system runs without vmc_adm
    M  DpShMCreate: allocated ca_info at 000000000B8F9ED0
    M  DpShMCreate: allocated wall_adm at 000000000B8F9EE0

    M Mon May 16 23:57:32 2011
    M  rdisp/queue_size_check_value :  -> off
    M  ThTaskStatus: rdisp/reset_online_during_debug 0
    X  EmInit: MmSetImplementation( 2 ).
    X  MM global diagnostic options set: 0
    X  <ES> client 0 initializing ....
    X  Using implementation view
    X  <EsNT> Using memory model view.
    M  <EsNT> Memory Reset disabled as NT default
    X  ES initialized.
    M  ThInit: running on host sirillium1

    M Mon May 16 23:57:33 2011
    M  calling db_connect ...

    C  DBSDBSLIB : version 700.08, patch 0.024 (Make PL 0.32)
    C  MAXDB shared library (dbsdbslib) patchlevels (last 10)
    C    (0.024) Default value for max. input variables is 2000 (note 655018)
    C    (0.024) Profile parameter to define max. input variables (note 655018)
    C    (0.024) Switch SQLMODE after CREATE INDEX SERIAL (note 1267841)
    C    (0.024) Input parameters for SQL statements increased (note 655018)
    C    (0.018) Create index serial for MaxDB 7.6 (note 1267841)
    C    (0.018) More trace in case of packed to string conversion error (note 1262799)
    C    (0.016) R3trans export aborts with signal 6 (note 1262245)
    C    (0.009) IA64 alignment errors (note 1245982)
    C    (0.007) Support DB-Type 'SAP DB' by UPDSTAT (note 1225668)


    C  Loading SQLDBC client runtime ...
    C  SQLDBC SDK Version : SQLDBC.H  7.6.0    BUILD 007-123-091-175
    C  SQLDBC Library Version : libSQLDBC 7.6.5    BUILD 015-123-202-938
    C  SQLDBC client runtime is MaxDB 7.6.5.015 CL 202938
    C  SQLDBC supports new DECIMAL interface : 0
    C  SQLDBC supports VARIABLE INPUT data   : 1
    C  SQLDBC supports keepAlive indicator   : 0
    C  INFO : SQLOPT= -I 0 -t 0 -S SAPR3
    C  Try to connect (DEFAULT) on connection 0 ...
    C  *** ERROR => Connect to database failed, rc = -10709 (Connection failed (RTE:Database name is missing))
    [dbsdbsql.cpp 137]
    B  ***LOG BV3=> severe db error -10709    ; work process is stopped [dbsh#2 @ 1203] [dbsh    1203 ]
    B  ***LOG BY2=> sql error -10709 performing CON [dblink#3 @ 431] [dblink  0431 ]
    B  ***LOG BY0=> Connection failed (RTE:Database name is missing) [dblink#3 @ 431] [dblink  0431 ]
    M  ***LOG R19=> ThInit, db_connect ( DB-Connect 000256) [thxxhead.c   1449]
    M  in_ThErrHandle: 1
    M  *** ERROR => ThInit: db_connect (step 1, th_errno 13, action 3, level 1) [thxxhead.c   10563]

    M  Info for wp 0

    M    pid = 212
    M    severity = 0
    M    status = 0
    M    stat = WP_RUN
    M    waiting_for = NO_WAITING
    M    reqtype = DP_RQ_DIAWP
    M    act_reqtype = NO_REQTYPE
    M    rq_info = 0
    M    tid = -1
    M    mode = 255
    M    len = -1
    M    rq_id = 65535
    M    rq_source =
    M    last_tid = 0
    M    last_mode = 0
    M    semaphore = 0
    M    act_cs_count = 0
    M    csTrack = 0
    M    csTrackRwExcl = 0
    M    csTrackRwShrd = 0
    M    mode_cleaned_counter = 0
    M    control_flag = 0
    M    int_checked_resource(RFC) = 0
    M    ext_checked_resource(RFC) = 0
    M    int_checked_resource(HTTP) = 0
    M    ext_checked_resource(HTTP) = 0
    M    report = >                                        <
    M    action = 0
    M    tab_name = >                              <
    M    attachedVm = no VM

    M  *****************************************************************************
    M  *
    M  *  LOCATION    SAP-Server sirillium1_SED_00 on host sirillium1 (wp 0)
    M  *  ERROR       ThInit: db_connect
    M  *
    M  *  TIME        Mon May 16 23:57:33 2011
    M  *  RELEASE     701
    M  *  COMPONENT   Taskhandler
    M  *  VERSION     1
    M  *  RC          13
    M  *  MODULE      thxxhead.c
    M  *  LINE        10783
    M  *  COUNTER     1
    M  *
    M  *****************************************************************************

    M  PfStatDisconnect: disconnect statistics
    M  Entering TH_CALLHOOKS
    M  ThCallHooks: call hook >BtcCallLgCl< for event BEFORE_DUMP
    M  ThCallHooks: call hook >ThrSaveSPAFields< for event BEFORE_DUMP
    M  *** ERROR => ThrSaveSPAFields: no valid thr_wpadm [thxxrun1.c   723]
    M  *** ERROR => ThCallHooks: event handler ThrSaveSPAFields for event BEFORE_DUMP failed [thxxtool3.c  261]
    M  Entering ThSetStatError
    M  ThIErrHandle: do not call ThrCoreInfo (no_core_info=0, in_dynp_env=0)
    M  Entering ThReadDetachMode
    M  call ThrShutDown (1)...
    M  ***LOG Q02=> wp_halt, WPStop (Workproc 0 212) [dpnttool.c   334]
    We check several entries on this SDN site, and look for a lot of notes on the marketplace, and they always are related to default user in xuser files, but our xuser list output is ok. We have a DEFAULT connection to SAPSID user, a DBM connection to CONTROL user and a USERDBA connection.
    XUSER Entry  1
    Key         :DEFAULT          
    Username    :SAPSID                                                         
    UsernameUCS2:S.A.P.S.E.D. . . . . . . . . . . . . . . . . . . . . . . . . . .
    Password    :?????????
    PasswordUCS2:?????????
    Dbname      :SID              
    Nodename    :server1                                                     
    Sqlmode     :SAPR3  
    Cachelimit  :-1
    Timeout    
    Isolation  
    Charset     :<unspecified>    
    XUSER Entry  2
    Key         :c                
    Username    :CONTROL                                                        
    UsernameUCS2:C.O.N.T.R.O.L. . . . . . . . . . . . . . . . . . . . . . . . . .
    Password    :?????????
    PasswordUCS2:?????????
    Dbname      :SID              
    Nodename    :server1                                                     
    Sqlmode     :INTERNAL
    Cachelimit  :-1
    Timeout     :-1
    Isolation   :-1
    Charset     :<unspecified>    
    XUSER Entry  3
    Key         :c_J2EE           
    Username    :CONTROL                                                        
    UsernameUCS2:C.O.N.T.R.O.L. . . . . . . . . . . . . . . . . . . . . . . . . .
    Password    :?????????
    PasswordUCS2:?????????
    Dbname      :SID              
    Nodename    :server1                                                     
    Sqlmode     :SAPR3  
    Cachelimit  :-1
    Timeout    
    Isolation  
    Charset     :<unspecified>    
    XUSER Entry  4
    Key         :w                
    Username    :SUPERDBA                                                       
    UsernameUCS2:S.U.P.E.R.D.B.A. . . . . . . . . . . . . . . . . . . . . . . . .
    Password    :?????????
    PasswordUCS2:?????????
    Dbname      :SID              
    Nodename    :server1                                                     
    Sqlmode     :INTERNAL
    Cachelimit  :-1
    Timeout     :-1
    Isolation   :-1
    Charset     :<unspecified>    
    Any idea? we are out of ideas at this moment.
    Regards
    Edited by: Gustavo Goicochea on May 17, 2011 6:37 PM

    Natalia, this system was not resored nor copied, it was up and running before kernel update. We did some of the tests you said and someothers, here are some outputs.
    We update kernel to release 142
    R3trans -d and -x exit with (all with user SIDADM)
    SVERS table does exist and belongs to SAPSID
    dbmcli on SID>sql_execute select * from domain.tables where tablename='SVERS'
    OK
    END
    'SAPSID';'SAPSID';'SVERS';'';'TABLE';'TABLE';'20100406';'00054637';'20100406';'00054637';'20100406';'00054638';'NO';(null);20000;(null);x'0000000000004842';'NO';'NO';'YES';'NO';(null)
    Why it still says that SVERS table does not exist and SQL error 942?
    C  Now I'm connected to SAP DB
    C  00: server1-SID, since=20110518015619, ABAP= <unknown> (0)
    B  Connection 0 opened (DBSL handle 0)
    C  *** ERROR =>   prepare() of C_0000, rc=1, rcSQL=-942 (POS(28) Unknown table name:SVERS) [
    dbsdbsql.cpp 1604]
    C  *** ERROR => SQL PREPARE on connection 0, rc=-942 (POS(28) Unknown table name:SVERS) [dbslsdb.cpp  7253]
    C sc_p=000000000CFAECC0,no=0,idc_p=0000000000000000,con=0,act=0,slen=34,smax=256,#vars=0,stmt=0000000002EA0AF0,table=SVERS                        
    C  SELECT VERSION INTO ? FROM SVERS  ;
    B  ***LOG BZA=> table SVERS      does not exist on database            [dblink#4 @ 1301] [dblink  1301 ]
    M  ***LOG R19=> ThInit, db_connect ( DB-Connect 004096) [thxxhead.c   1515]
    M  in_ThErrHandle: 1
    M  *** ERROR => ThInit: db_connect (step 1, th_errno 13, action 3, level 1) [thxxhead.c   10824]

    Users seem to be ok
    dbmcli on SID>sql_execute SELECT username, usermode FROM users
    OK
    END
    'CONTROL';'ADMIN'
    'SUPERDBA';'SYSDBA'
    'SAPSID';'DBA'
    'SAPR3';'DBA'
    User SAPR3 does not have anything on database
    dbmcli on SID>sql_execute select * from domain.tables where owner='SAPR3'
    ERR
    -24988,ERR_SQL: SQL error
    100,Row not found
    Any idea?
    regards

  • Variable database name in SQL Server query using Oracle database link

    Hi All,
    I have an ApEx 4.1 app running on 11g x64 (11.2.0.1) on Windows Server 2008 x64, and I have some data integration points with a SQL Server (2005 and 2008) that I need to establish. I have configured the database link with dg4odbc and it works beautifully... I can execute queries against the SQL Server database without any problems using the database link.
    However, there is a scenario where the SQL Server database name is dynamic, and I need to generate it on the fly in a PL/SQL block, and then use that in a dynamic SQL query (all of this in ApEx). This is where I run into problems... when I am querying the default database based on the ODBC connection and I don't have to specify the database name, there is no issue. But when I need to access one of several other non-default databases, I keep receiving the "invalid table" error.
    This runs fine:* (note that "fv" is the name of my database link)
    v_query1 := 'select "ReleaseDate" from dbo.Schedules@fv where dbo.Schedules."SchedID" = :schedule';
    EXECUTE IMMEDIATE v_query1 into rel_date using schedule;
    I then take that rel_date variable, convert to a varchar2 (rel_date_char), and then use it as the database name in the next query...
    This returns an error_ (Error ORA-00903: invalid table name)
    v_query2 := 'select "PARTNO" from :rel_date_char.dbo.ProdDetails@fv where "SchedID" = :schedule and "UnitID" = :unit
    and "MasterKey" = :master and "ParentKey" = :parent';
    EXECUTE IMMEDIATE v_query2 into part_number using schedule, unit, master, parent;
    I have also tried using all of the following to no avail:
    'select "PARTNO" from ' || :rel_date_char || '.dbo.ProdDetails@fv where "SchedID"...
    'select "PARTNO" from ' || rel_date_char || '.dbo.ProdDetails@fv where "SchedID"...
    'select "PARTNO" from ' || @rel_date_char || '.dbo.ProdDetails@fv where "SchedID"...
    'select "PARTNO" from @rel_date_char.dbo.ProdDetails@fv where "SchedID"...
    Is there a way to do this in PL/SQL?
    Thanks for any help!
    -Ian C.
    Edited by: 946532 on Jul 15, 2012 7:45 PM

    Just did a test using passthrough:
    SQL> set serveroutput on
    SQL> declare
    2 val varchar2(100);
    3 c integer;
    4 nr integer;
    5 begin
    6 c:= dbms_hs_passthrough.open_cursor@FREETDS_DG4ODBC_EMGTW_11_2_0_3;
    7 dbms_hs_passthrough.parse@FREETDS_DG4ODBC_EMGTW_11_2_0_3 (c, 'select count(*) from EMP');
    8 LOOP
    9 nr:= DBMS_Hs_Passthrough.fetch_row@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c);
    10 exit when nr=0;
    11 dbms_hs_passthrough.get_value@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c,1,val);
    12 dbms_output.put_line(val);
    13 end loop;
    14 dbms_hs_passthrough.close_cursor@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c);
    15 end;
    16 /
    24576
    PL/SQL procedure successfully completed.
    SQL> declare
    2 val varchar2(100);
    3 c integer;
    4 nr integer;
    5 begin
    6 c:= dbms_hs_passthrough.open_cursor@FREETDS_DG4ODBC_EMGTW_11_2_0_3;
    7 dbms_hs_passthrough.parse@FREETDS_DG4ODBC_EMGTW_11_2_0_3 (c, 'select count(*) from dbo.EMP');
    8 LOOP
    9 nr:= DBMS_Hs_Passthrough.fetch_row@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c);
    10 exit when nr=0;
    11 dbms_hs_passthrough.get_value@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c,1,val);
    12 dbms_output.put_line(val);
    13 end loop;
    14 dbms_hs_passthrough.close_cursor@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c);
    15 end;
    16 /
    24576
    PL/SQL procedure successfully completed.
    So all 3 ways work for me.
    Edited by: kgronau on Jul 23, 2012 10:08 AM
    Now using variables to perform the select:
    SQL> declare
    2 val varchar2(100);
    3 c integer;
    4 nr integer;
    5 tabname varchar2(20) :='EMP';
    6 ownr varchar2(20) :='dbo';
    7 dbname varchar2(20) :='gateway';
    8 begin
    9 c:= dbms_hs_passthrough.open_cursor@FREETDS_DG4ODBC_EMGTW_11_2_0_3;
    10 dbms_hs_passthrough.parse@FREETDS_DG4ODBC_EMGTW_11_2_0_3 (c, 'SELECT count(*) FROM '||dbname||'.'|| ownr || '.'||tabname||'');
    11 LOOP
    12 nr:= DBMS_Hs_Passthrough.fetch_row@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c);
    13 exit when nr=0;
    14 dbms_hs_passthrough.get_value@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c,1,val);
    15 dbms_output.put_line(val);
    16 end loop;
    17 dbms_hs_passthrough.close_cursor@FREETDS_DG4ODBC_EMGTW_11_2_0_3(c);
    18 end;
    19 /
    24576
    PL/SQL procedure successfully completed.
    => instead of executing the statement using "execute Immediate" we have to use PASTHROUGH package to pass the statement to the SQL Server.
    Edited by: kgronau on Jul 23, 2012 10:10 AM

  • Help for: ORA-01103: database name PRIMARY in control file is not STANDBY

    Hello all, this will be my first post to the support forum. I'm an associate dba with just 6 months on the job, so if I've forgotten something or not given some infromation that is needed please let me know.
    I've also combed the forums/internet, and some of the answers haven't helped. The Oracle Document ORA-1103 While Mounting the Database Using PFILE [ID 237073.1] says my init.ora file is corrupted, but creating a new init.ora file from the spfile does not help. Neither does just starting from the spfile. I have older copies of the init.ora file and the spfiles that the database was running on previously, so I believe they are good.
    This standby NIRNASD1 has existed previously, I had to refresh the primary NIKNASD2, and then re-instantiate NIRNASD1 after the refresh is complete.
    My env is set correctly, and my ORACLE_SID has been exported to NIRNASD1
    NIKNASD2 = Primary Database
    NIRNASD1 = Secondary/Standby Database
    Goal: Creation of Logical Standby NIRNASD1 after creating Physical Standby from NIKNASD2
    My database versions are 10.2.0.4.0, and the databases are on a Unix server. Both databases are located on separate servers.
    Steps that I have taken:
    I used RMAN to backup our primary database to the staging area:
    $ rman target /
    run {
    backup database
    format '/datatransa/dg_stage/%U'
    include current controlfile for standby;
    sql "alter system archive log current";
    backup archivelog all format '/datatransa/dg_stage/%U';
    I used RMAN to Create Secondary Database utilizing RMAN DUPLICATE command.
    RMAN> run {
    2> allocate auxiliary channel auxdisk device type disk;     
    3> duplicate target database for standby NOFILENAMECHECK;
    4> }
    On Secondary database I started Managed Recovery mode
    SQL> shutdown immediate;
    ORA-01109: database not open
    Database dismounted.
    ORACLE instance shut down.
    (I used pfile here, thinking that I needed to mount the database to the pfile so that the database would see the change in the dataguard parameters in the init.ora file, the change from logical to physical- I commeneted out the logical and uncommented the physical line)
    # Dataguard Parameters
    For logical standby, change db_name to name of standby database.
    db_name=NIKNASD2 ### for physical, db_name is same as primary
    #db_name=NIRNASD1 ### for logical, db_name is same as unique_name
    SQL> STARTUP MOUNT PFILE = /oraa/app/oracle/product/1020/admin/NIRNASD1/pfile/initNIRNASD1.ora;
    ORACLE instance started.
    Total System Global Area 1577058304 bytes
    Fixed Size 2084368 bytes
    Variable Size 385876464 bytes
    Database Buffers 1174405120 bytes
    Redo Buffers 14692352 bytes
    Database mounted.
    SQL> ALTER DATABASE recover managed standby database using current logfile disconnect;
    I then verified the Data Guard Configuration by using “alter system archive log current;” on the primary database and watching the sequence number change in the secondary database.
    I made sure that:
    •     The primary database was in MAXIMUM PERFORMANCE MODE
    •     Stopped managed recover on the standby database: alter database recover managed standby database cancel;
    •     Built a logical standby data dictionary on the primary database
    •     The db_name in init.ora was changed (this is in our document at my job)
    •     I changed my database name (from physical to logical) in my init.ora pfile (reverse of what I did above)
    # Dataguard Parameters
    For logical standby, change db_name to name of standby database.
    #db_name=NIKNASD2 ### for physical, db_name is same as primary
    db_name=NIRNASD1 ### for logical, db_name is same as unique_name
    I then went to shutdown my standby database and re-start it in a mount exclusive state, which is where I get the ORA-01103 Error (Again I used the pfile, thinking that I needed to tell the database it is now a logical standby):
    SQL> shutdown immediate;
    ORA-01109: database not open
    Database dismounted.
    ORACLE instance shut down.
    SQL> STARTUP EXCLUSIVE MOUNT PFILE = /oraa/app/oracle/product/1020/admin/NIRNASD1/pfile/initNIRNASD1.ora;
    ORACLE instance started.
    Total System Global Area 1577058304 bytes
    Fixed Size 2084368 bytes
    Variable Size 385876464 bytes
    Database Buffers 1174405120 bytes
    Redo Buffers 14692352 bytes
    ORA-01103: database name 'NIKNASD2' in control file is not 'NIRNASD1'
    From what I understand of the process, the name in the control file is correct, I want it to be NIRNASD1. But the database for some reason thinks it should be NIKNASD2. The following are the parts of my init.ora file that include the dataguard parameters:
    # Database Identification
    db_domain=""
    #db_name=NIRNASD1
    #db_unique_name=NIRNASD1
    # File Configuration
    control_files=("/oradba2/oradata/NIRNASD1/control01.ctl", "/oradba3/oradata/NIRNASD1/control02.ctl", "/oradba4/oradata/NIRNASD1/control03.ctl")
    # Instance Identification
    instance_name=NIRNASD1
    # Dataguard Parameters
    #db_name=NIKNASD2 ### for physical, db_name is same as prmary
    db_name=NIRNASD1 ### for logical, db_name is same as unique_name
    db_unique_name=NIRNASD1
    dg_broker_start=TRUE
    db_file_name_convert='NIKNASD2','NIRNASD1'
    log_file_name_convert='NIKNASD2','NIRNASD1'
    log_archive_config='dg_config=(NIRNASD1,NIKNASD2)'
    log_archive_dest_1='LOCATION="/oraarcha/NIRNASD1/" valid_for=(ONLINE_LOGFILES,all_roles) db_unique_name=NIRNASD1'
    #log_archive_dest_2='LOCATION="/oraarcha/NIKNASD2/" valid_for=(standby_logfiles,standby_roles) db_unique_name=NIRNASD1'
    log_archive_dest_2='LOCATION="/oraarcha/NIKNASD2/" valid_for=(standby_logfile,standby_role) db_unique_name=NIRNASD1'
    STANDBY_ARCHIVE_DEST='LOCATION=/oraarcha/NIKNASD2/'
    # Parameters are not needed since this server will NOT become primary
    #log_archive_dest_2='service=NIKNASD2
    # valid_for=(online_logfiles,primary_role)
    # db_unique_name=NIKNASD2'
    fal_server='NIKNASD2'
    fal_client='NIRNASD1'
    I would appreciate any help, or pointing me in the right direction. I'm just missing something. I am reviewing the documents for building a physical and logical standby from oracle. Just not sure where to go from here.
    Thank you
    Edited by: 977917 on Dec 19, 2012 5:49 PM

    First of all, thank you both for answering my post. I've pulled up Mr. Hesse's page and will make it a go-to staple.
    We're in the process of upgrading our databases, but we have 130+ databases and only six Oracle dba's, and I'm one of them. It's a large corporation, and things move at a "slow and tested" pace.
    The pfile parameters listed above are from my secondary/standby database. And I do want to create a logical standby.
    I forgot to mention that we do use DataGuard Broker, but I did not think that would be the cause of why the database was starting up incorrectly, so I did not mention it. My apologies there.
    As far as the db_name, here's my question on that. It's my understanding the the db_name should be the name of the primary database when you are working with a physical standby, but as soon as you convert it to logical, you should change the db_name to the secondary/standby database? Am I correct on that?
    Leading from that, during the process of creating the physical standby and converting the physical standby to the logical standby, should I change the db_name in the secondary/standby database in the spfile and never use the pfile at all? For instance, when I create the physical standby I have to change the db_name in the standby to the PRIMARY database, so that makes me think I should change db_name in the spfile? (If you see above, I changed db_name in the pfile and did a startup pfile)
    This morning I was able to reach out to a fellow DBA (they are were asleep when I posted this last night), and they tried a few things. We had a redirect in the standby directory /oraa/app/oracle/product/1020/dbs folder that looked like this: spfileNIRNASD1.ora -> /oraa/app/oracle/product/1020/admin/NIRNASD1/pfile/spfileNIRNASD1.ora
    She removed the redirect and the startup mount exclusive then worked without the error.
    Thank you again for your help Mr.Quluzade and Mr. Hesse, I appreciate you all taking the time to teach someone new to the craft. I will definitely read up on the link that you sent me.
    Chris Cranford

  • How to set a database name for fetching metadata?

    How can I tell an already-existing Connection what its database should be, in such a way that I can successfully get MetaData from the connection?
    If I use the following code, everything works fine:
         Connection connection;
         DatabaseMetaData metadata;
         ResultSet rs;
         connection = DriverManager.getConnection("jdbc:mysql://Localhost/archival", mUser, mPassword); // replace this line
         metadata = connection.getMetaData();
         rs = metadata.getTables(null, null, "%", null);
    But if I replace the fourth line above with these three lines:
         connection = DriverManager.getConnection("jdbc:mysql://Localhost/", mUser, mPassword);
         Statement stmt = connection.createStatement();
         stmt.execute("USE archival");
    then I get a SQLException "Incorrect database name: ''". I would really prefer to factor my getConnection() code so that it doesn't have to know what the database-name is, but in order to do that I need to be able to set the database-name after the connection has been created, and still get MetaData on the connection.
    TIA for any help!

    Umm I probably totally don't understand the question, but you can change the name in the IDE,
    and in code you can name it to whatever you want
    Dim WhatEverNameIWantToGive as new button Dim secondbutton = WhatEverNameIWantToGive
    or maybe you mean
    public class mybutton
    inherits button
    'your custom code here
    end class

  • DB Link , ORA - 02083: illegal database name character '-'

    Hi,
    I work for an integration company and right now we are putting together an application that is moving a small subset of data from one db to another. I have created a db link to move the data. However, when I try to compile the procedure, that moves the data, into the database, the compile fails and I am given the following error:
    ORA-02083: database name has illegal character ‘-‘.
    The instances I’m developing/testing to are on the same machine, which is a Solaris X86 machine and the Oracle version is 8.1.7.
    Now 2 things. If I do a simple query like the one below using SQL*PLUS, the link works fine.
    Select sysdate
    From dual@<dblink_name>;
    The other thing is the domain name does in fact have a ‘-‘ in it, but I have removed the domain name from everyplace I can thing of from Oracle; i.e. tnsnames, init.ora file, etc.
    Does anyone have any ideas?
    Thanks,
    Roger Christophel

    and set this parameter with its correct value.
    DB_DOMAIN
    Parameter type
    String
    Syntax
    DB_DOMAIN = domain_name
    Default value
    There is no default value.
    Parameter class
    Static
    Range of values
    Any legal string of name components, separated by periods and up to 128 characters long (including the periods). This value cannot be NULL.
    Real Application Clusters
    You must set this parameter for every instance, and multiple instances must have the same value.
    In a distributed database system, DB_DOMAIN specifies the logical location of the database within the network structure. You should set this parameter if this database is or ever will be part of a distributed system. The value consists of the extension components of a global database name, consisting of valid identifiers, separated by periods. Oracle Corporation recommends that you specify DB_DOMAIN as a unique string for all databases in a domain.
    This parameter allows one department to create a database without worrying that it might have the same name as a database created by another department. If one sales department's DB_DOMAIN is JAPAN.ACME.COM, then their SALES database (SALES.JAPAN.ACME.COM) is uniquely distinguished from another database with DB_NAME = SALES but with DB_DOMAIN = US.ACME.COM.
    If you omit the domains from the name of a database link, Oracle expands the name by qualifying the database with the domain of your local database as it currently exists in the data dictionary, and then stores the link name in the data dictionary. The characters valid in a database domain name are: alphanumeric characters, underscore (_), and number sign (#).
    See Also:
    Oracle9i Database Performance Tuning Guide and Reference for more information on setting this parameter
    The data dictionary view "GLOBAL_NAME"
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch142.htm#REFRN10036
    Joel Pérez

  • Ora-02084 : database name is missing a component

    hai all,
    i am a newbee to oracle. i am struggling to create a database, any help would be highly appreciated. i have installed Oracle 9i on a RH8.0 system. but while creating database through DBCA, i am getting the error message, "ORA -02084:Oracle database name is missing a component". i ahve gone through the documentation and found that probelm is with ORACLE_SID. i have set all the environment variables(including ORACLE_SID, DB_NAME AND DB_DOMAIN) according to the documentaion and created swap files, temporary space etc.i have set all the environment variables in .bash_profile in ORACLE_HOME.
    i have stopped DBCA and gone through the files. i could see that the database is actually created, with initXXX.ora.441414312 file. but once when i started the database with nomount and checked, i could find the control files missing.
    thanks in advance,
    ramesh.

    Probably you are missing value for db_name (or missing parameter db_name) in parameter file.
    Note you can still create db manualy (without DBCA).

  • Global Database Name

    Hi
    what is the difference between Global database name followed by the domain name of the system and the Global database that itsn't?
    and can I choose one name for ech of Global database name ,sid, and service_name
    to make connection with oracle developer easy after installation?
    Thanks in advance.

    There are differences between global_name, sid and service_name. They may all have the same value, which causes confusion.
    Whether you have the global name followed by the domain name or not it's the same, as long as it is a name that uniquely identifies your database in a network environment. This is a requirement when using replication. You could leave it with or without domain at creation time, you can change it any time, but it is a good practice to have it qualified.
    The SID is the name of an Oracle Instance, i.e. the allocated shared memory plus the background processes, and it is unique within the scope of the OS where your database is running. You can create a connection string that uses the Instance name to connect to the database, but it is considered obsolete, and it was the way to connect to an Oracle database in releases 8.0 and previous.
    Service name is a mean to group applications that get access to the database. It is related with an Oracle Instance. In a single instance environment there is not too much sense from the failover or load balance perspective, it can be interpreted as an alias for the instance and you can still group sessions by service, but in a multiple instance environment, named RAC, it can be used to migrate the service from one instance to another for the purposes of load balancing and failover, as well as for application affinity and resource allocation by means of resource manager.
    ~ Madrid
    http://hrivera99.blogspot.com/

  • Can i rename the Global Database Name

    Hi Seniors,
    i have installed the Oracle 10.2.3(10203_vista_w2k8_x86_production_db) in my VISTA Laptop.
    i have given the Global Database Name as orcsatya but i want to change to orasatya
    would u please tell how to proccess if it is.....
    thanks
    Seenujanu

    SeenuJanu wrote:
    yes , i want the name from orcsatya to orasatya of Global Database Name
    is it possible to change the Name or i have to reinstall
    which i would like to access the names like
    connecting scott/sathi@orasatya;
    Thanks in Advance
    Edited by: SeenuJanu on Jun 13, 2009 4:43 AMFor that you don't even need to touch the database. The name you use in your connect string is nothing more than an alias that is resolved (in your tnsnames.ora file) to a specific service name on a specific host. Without touching anything else, you could change your tnsnames entry from something like
    ORASATYA =
    (DESCRIPTION =
       (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
       (SERVICE_NAME = ORA11)
    )to
    fred =            <=== note that this is the only change from the previous entry
    (DESCRIPTION =
       (ADDRESS_LIST =
         (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    (CONNECT_DATA =
       (SERVICE_NAME = ORA11)
    )At which point you would connect with
    sql> connect scott/sathi@fred

  • Restore 9i Database to Another Server but Same Database Name

    hi experts,
    This is 9i on Windows.
    I want to restore my RMAN backup from production server to my test server.
    I know the db names have to be the same for RMAN to work.
    Can I restore from my full backup -- test server, then change the db name on the test server? The database name on test needs to be different to prevent someone from accidentally connecting to test but thinking it is production.
    Is this possible to do?
    Again, 9i on Windows.
    Thanks, John

    Hi piontkdd
    I do this in 9i all time, without using duplicate.
    General idea:
    Copy rman backups to test server
    create dummy init.ora with production database name.
    if you want, SET NEWNAME for different filesystem and restore datafiles.
    Recover database. Open database.
    alter database rename global_name to 'whatever'
    shutdown and then mount. use nid.sh to change the DBID and Database name (Can't remember how you do this on windows). shutdown and set up your new spfile/init.ora and change your services with oradim.exe
    could you elaborate the same steps i have the scenario to make sure my production database works fine in case of any disaster , on the production machine itself i have to restore database.
    Oracle=9.2 Solaris=9 Veritas=6.0
    Regards

  • Database name in MS SQL server 7/2000

    Hi, Folks!!
    I have a (basic) question regarding connecting up to an MS SQL server. I know the basic syntax of connecting to the server, however, I have not seen any examples on the java.sun.com site that show where you can insert the database name in the connection statements. I have search (some) of the discussions here but have not found anything anything conclusive.
    Could someone point me in the right direction, at least?
    TIA,
    Signed: Frustrated!
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGH!!!

    Okay,
    I think I got it!
    instead of using:
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://<srvrName>:<portNumber>;DatabaseName=<dbName>", UID, PWD);I used the following:
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection con = DriverManager.getConnection("jdbc:odbc:<srvrName>;DatabaseName=<dbName>", UID, PWD);I don't have any of the extra Microsoft drivers installed on my computer so I had to use what was available with Java and that is the JDBC-ODBC bridge. It was just a simple matter of adding ";DatabaseName=<dbName>" to what I already had. It makes sense now that I think about it. I hope somebody stumbles accross this message someday and avoids the grief I went through.

  • Few data files with wrong database name in header .

    Hi,
    there was problem with controlfile to trace generation , and an old one controlfile was used as (without few new datafiles recorded):
    CREATE CONTROLFILE set DATABASE "TEST" RESETLOGS NOARCHIVELOG ...
    during test environment creation .
    Then the alter database open resetlogs was done .
    The problem is few data files was not in controlfile (because of its oldenes), and
    they got still PROD in their headers as a database name .
    Is there any chance I can bring them back (attache) to new instance (after resetlogs) .
    Its test environment so I dont care if its supported or not :).
    Maybe manual editing file header or something ?
    DB is 9.2.0.8 .
    Regards.
    Greg

    GregG wrote:
    No I'm not. Looks like I need to rerun the whole process .
    There is no way to bring back those files to current instance :(.
    Regards.
    GregEither rerun the whole process again or contact the Oracle Support (and don't imagine to play with data file headers manually)

Maybe you are looking for