ORA-28545 on mySQL - Oracle database link

Hi All,
I'm trying to make a connection to mySQL database from oracle.
Oracle database runs on windows 2003 64 bit machine and version is 10.2.0.4.0.
my init<dbname>, listner and tnsnames looks like this and I can create database links without any problem at all. Also oracle to oracle database links are working fine on that machine as well.
HS_FDS_CONNECT_INFO=BOOKDB
HS_FDS_TRACE_LEVEL=debug
BOOKDB=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=10.16.72.176)(PORT=1522))
(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
SID_LIST_BOOKDB=
(SID_LIST=
(SID_DESC=
(SID_NAME=BOOKDB)
(ORACLE_HOME=C:\oracle\product\10.2.0\db_1)
(PROGRAM=hsodbc)
BOOKDB=
  (DESCRIPTION=
    (ADDRESS=(PROTOCOL=tcp)(HOST=10.16.72.176)(PORT=1522))
    (CONNECT_DATA=(SID=BOOKDB))
    (HS=OK)
  )When I try start the listner and then do the tnsping everything seems fine.
C:\Documents and Settings\adminkh>lsnrctl start bookdb
LSNRCTL for 64-bit Windows: Version 10.2.0.4.0 - Production on 20-JUL-2010 12:01:40
Copyright (c) 1991, 2007, Oracle.  All rights reserved.
Starting tnslsnr: please wait...
TNSLSNR for 64-bit Windows: Version 10.2.0.4.0 - Production
System parameter file is C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
Log messages written to C:\oracle\product\10.2.0\db_1\network\log\bookdb.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.16.72.176)(PORT=1522)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\PNPKEYipc)))
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=10.16.72.176)(PORT=1522))
STATUS of the LISTENER
Alias                     bookdb
Version                   TNSLSNR for 64-bit Windows: Version 10.2.0.4.0 - Production
Start Date                20-JUL-2010 12:01:42
Uptime                    0 days 0 hr. 0 min. 3 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
Listener Log File         C:\oracle\product\10.2.0\db_1\network\log\bookdb.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.16.72.176)(PORT=1522)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\PNPKEYipc)))
Services Summary...
Service "bookdb" has 1 instance(s).
  Instance "bookdb", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
C:\Documents and Settings\adminkh>tnsping bookdb
TNS Ping Utility for 64-bit Windows: Version 10.2.0.4.0 - Production on 20-JUL-2010 12:02:16
Copyright (c) 1997,  2007, Oracle.  All rights reserved.
Used parameter files:
C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=10.16.72.176)(PORT=1522)) (CONNECT_DATA=(SID=bookdb)) (HS=OK))
OK (10 msec)And then I create the database link and it created without a problem.
create database link booklink connect to bookuser identified by ITDepartment using 'BOOKDB';And then I try to run small query.
SQL> select * from admins@booklink;
select * from admins@booklink
ORA-28545: error diagnosed by Net8 when connecting to an agent
Unable to retrieve text of NETWORK/NCR message 65535
ORA-02063: preceding 2 lines from BOOKLINKSo can anyone help me with regards to this error.
Edited by: garuka on Jul 20, 2010 4:08 AM
Edited by: garuka on Jul 20, 2010 4:09 AM

listner.ora from 11g
BOOKDB=
     (ADDRESS_LIST=
     (ADDRESS=(PROTOCOL=tcp)(HOST=10.16.72.176)(PORT=1522))
     (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
SID_LIST_BOOKDB=
     (SID_LIST=
     (SID_DESC=
     (SID_NAME=BOOKDB)
     (ORACLE_HOME=C:\Oracle11g\product\11.2.0\tg_1)
     (PROGRAM=hsodbc)
     )status:
C:\Oracle11g\product\11.2.0\tg_1\bin>lsnrctl status bookdb
LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 20-JUL-2010 15:35:34
Copyright (c) 1991, 2010, Oracle.  All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=10.16.72.176)(PORT=1522))
STATUS of the LISTENER
Alias                     bookdb
Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production
Start Date                20-JUL-2010 15:34:51
Uptime                    0 days 0 hr. 0 min. 43 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   C:\Oracle11g\product\11.2.0\tg_1\network\admin\listener.ora
Listener Log File         c:\oracle11g\product\11.2.0\tg_1\log\diag\tnslsnr\khhq-xs-ifsb01\bookdb\alert\log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.16.72.176)(PORT=1522)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\PNPKEYipc)))
Services Summary...
Service "bookdb" has 1 instance(s).
  Instance "bookdb", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfullyEdited by: garuka on Jul 20, 2010 7:42 AM

Similar Messages

  • Oracle Database link for AS400

    Hi
    i have two (2) database servers
    1) Oracle 9i server
    2) AS400 server
    I want to create Oracle DataBase Link for AS400.
    means i just want to connect AS400 system from oracle prompt by using
    oracle database link.
    please anybody help me in detail
    Nasir,

    There is two method.
    One of that
    (1) Buy Oracle Transparent Gateway for AS400/DB2 and install it to AS400.
    (2) Set tnsnames.ora for connecting to AS400/DB2.
    (3) Create database link
    http://download-west.oracle.com/docs/html/A97615_01/toc.htm
    Another of that
    (1) Get odbc driver for AS400/DB2 (on your OS executing Oracle)
    (2) Set listener.ora, inithsodbc.ora and tnsnames.ora.
    (3) Create database link
    http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96544/gencon.htm#1004729

  • Weblogic 5.1, Distributed Transaction and Oracle Database Link

    We are planning to add a new functionality to run in Weblogic server and it
    needs to update tables in two different Oracle databases. Since we are using
    Weblogic 5.1 and it is unrealistic to upgrade to 6.1 in short term, we have
    to deal with the fact that distributed transaction is not supported by JTS
    on 5.1.
    One workaround we can think of is to utilize Oracle database link. Instead
    of having two connection pools, the application talks to only one database
    and access the tables on the other ones through Oracle database link.
    Therefore, when a session bean tries to update two tables on database 1 in
    one transaction, one of the tables is just a link to the other database. We
    hope that even though distributed transaction is not supported by JTS in
    Weblogic 5.1, but since it is supported by Orable, it would work.
    Do you think the above workaround would work? Does anyone have experience on
    something like that?
    Thanks in advance,
    David Chen
    [email protected]

    Hi. You should be able to use any JDBC driver with WebLogic 5.1.
    It may be the JVM that complains, if you use too old a JVM...
    Joe Weinstein at BEA Systems

  • How to execute remote query by Oracle Database Link

    I use Oracle Database Link to query data from SQL Server. The query is like:
    select *
    from tableA@DL_SqlServer a
    join tableB@DL_SqlServer b
    on a.ID = b.ID*
    tableA and tableB is large and the result is relatively small. This query executes quickly in SQL Server since indexes are built both on the two tables. But it is very slow on Oracle Database Link to SQL Server.
    I guess the join operation is performed on Oracle side not on SQL Server side, thus the indexes are not used. Since I just need the joined result, I prefer to perform the query entirely on SQL Server and get the small result only. But I have no privilege to create views on SQL Sevrer.
    I konw that using SQL Server's linked server and OPENQUERY function can achieve this goal. I wonder how to do this on Oracle Database Link. Thanks!

    DO NOT DO THIS....specifically:
    "select *
    from tableA@DL_SqlServer a
    join tableB@DL_SqlServer b
    on a.ID = b.ID*"
    You would be better off to do the following:
    create a Materialized View in Oracle and once/day (or as frequently as you feel necessary) pull the data from SQLServer and then do the join locally by creating MV as TABLEA_MV and TABLEB_MV and then have views that have the REALTABLEA and REALTABLEB names that point to these MVs. This can be done without recompiling or changing your code. Trust me, I have seen this sort of thing in the past that completely crippled an IBM mainframe using DB2 along with a major network segment by having this sort of join via DB links. You must understand the ramifications of your "design" and I can tell you for certain that it is a very BAD!!! idea... Fix this before you are issuing another command: "alter DBA update resume/CV;"
    The app went into production at 7AM. By 9:30AM, the mainframe had executed more than 10Billion I/O's. It took > 15hrs for the mainframe to recover once we shutdown the app and implemented the view/MV described above.
    I will leave it as an excercise for the OP to develop the syntax for this.
    Edited by: onedbguru on Feb 15, 2013 7:27 PM

  • Oracle database link to MySQL select only one row

    Hello,
    I have created a connection from the Oracle batabase 11.2 to a MySQL database via database link. The following statement shows, that 35 rows are in the mySQL table:
    SQL>  select count(*) from "main_pages"@MOREWEB;
      COUNT(*)
            35
    But a normal select statement only return 1 row.
    SQL> select "subject" from "main_pages"@MOREWEB;
    subject
    Übersicht: Referenzen
    I am using the mysql-connector-odbc-3.51.30-winx64 driver. A newer version cann't be installed because on Windows Server 2008 R2 I get an error with an missing dll-file. The DataDirect-ODBC-driver is not possible, because we like to use the free MySQL-database an DataDirect only support the enterprise edition.
    I also have tried to limit the HS_OPEN_CURSORS or dont limit the HS_FDS_FETCH_ROWS, but there is no difference in the result. I always get only one row.
    HS Init.ora
    # This is a sample agent init file that contains the HS parameters that are
    # needed for the Database Gateway for ODBC
    # HS init parameters
    HS_FDS_CONNECT_INFO = moreweb
    HS_FDS_TRACE_LEVEL = ON
    HS_FDS_FETCH_ROWS=1
    # Environment variables required for the non-Oracle system
    #set <envvar>=<value>
    HS tracefile
    Oracle Corporation --- MITTWOCH   NOV 05 2014 13:56:22.066
    Heterogeneous Agent Release
    11.2.0.1.0
    Oracle Corporation --- MITTWOCH   NOV 05 2014 13:56:22.066
        Version 11.2.0.1.0
    HOSGIP for "HS_FDS_TRACE_LEVEL" returned "ON"
    HOSGIP for "HS_OPEN_CURSORS" returned "50"
    HOSGIP for "HS_FDS_FETCH_ROWS" returned "1"
    HOSGIP for "HS_LONG_PIECE_TRANSFER_SIZE" returned "65536"
    HOSGIP for "HS_NLS_NUMERIC_CHARACTER" returned ".,"
    HOSGIP for "HS_KEEP_REMOTE_COLUMN_SIZE" returned "OFF"
    HOSGIP for "HS_FDS_DELAYED_OPEN" returned "TRUE"
    HOSGIP for "HS_FDS_WORKAROUNDS" returned "0"
    HOSGIP for "HS_FDS_MBCS_TO_GRAPHIC" returned "FALSE"
    HOSGIP for "HS_FDS_GRAPHIC_TO_MBCS" returned "FALSE"
    HOSGIP for "HS_FDS_RECOVERY_ACCOUNT" returned "RECOVER"
    HOSGIP for "HS_FDS_TRANSACTION_LOG" returned "HS_TRANSACTION_LOG"
    HOSGIP for "HS_FDS_TIMESTAMP_MAPPING" returned "DATE"
    HOSGIP for "HS_FDS_DATE_MAPPING" returned "DATE"
    HOSGIP for "HS_FDS_CHARACTER_SEMANTICS" returned "FALSE"
    HOSGIP for "HS_FDS_MAP_NCHAR" returned "TRUE"
    HOSGIP for "HS_FDS_RESULTSET_SUPPORT" returned "FALSE"
    HOSGIP for "HS_FDS_RSET_RETURN_ROWCOUNT" returned "FALSE"
    HOSGIP for "HS_FDS_PROC_IS_FUNC" returned "FALSE"
    HOSGIP for "HS_FDS_REPORT_REAL_AS_DOUBLE" returned "FALSE"
    using mpgw as default value for "HS_FDS_DEFAULT_OWNER"
    HOSGIP for "HS_SQL_HANDLE_STMT_REUSE" returned "FALSE"
    SQL text from hgopars, id=1, len=36 ...
         00: 53454C45 43542043 4F554E54 282A2920  [SELECT COUNT(*) ]
         10: 46524F4D 20606D61 696E5F70 61676573  [FROM `main_pages]
         20: 60204131                             [` A1]
    Deferred open until first fetch.
    Performing delayed open.
    SQL text from hgopars, id=1, len=40 ...
         00: 53454C45 43542041 312E6073 75626A65  [SELECT A1.`subje]
         10: 63746020 46524F4D 20606D61 696E5F70  [ct` FROM `main_p]
         20: 61676573 60204131                    [ages` A1]
    Deferred open until first fetch.
    Performing delayed open.
    Please can help me someone.
    Thanks.
    Bianca

    mxallen wrote:
    Bianca,
    If you log directly into MySQL and issue the same query (select "subject" from "main_pages";) what data is returned?
    I looks to me that you count is the number of rows in the entire table "main_pages"
    while you select is for the data in the "subject" column only.
    This seems to indicate that you have just one row in that subject column.
    Regards,
    Matt
    WHAATT?
    What do you mean by "just one row in that subject column"?
    That makes no sense at all.  A row is a row.  A column is a part of a row.  All rows have all columns, though not all columns of all rows will necessarily have an assigned value.  Lacking a WHERE clause to filter rows, any SELECT should return all rows.

  • MySQL Oracle DB link problem

    Hi,
    I'm running Oracle 11g 64bit on Windows machine. The database character set is UTF8.
    I have MySQL 5.07 installed on linux with one database. The database charset is UTF8. I needed a database link, so I installed MySQL ODBC driver where the Oracle is running.( I installed 5.1.6 64 bit version) I created datasource and configured everything on oracle. ( Database Gateway, Listener, dblink).
    Here comes what is strange for me:
    If I set HS_LANGUAGE=american_america.utf8 in the Database Gateway configuration, I get "ORA-00001: unique constraint violated" error after any singe select.( for example: select * from test_table@MYSQLDB ).
    If I set HS_LANGUAGE=american_america.we8mswin1252 or american_america.WE8ISO8859P15 everything seems fine, except special characters. If I try to insert for example cyrillic characters to mysql database the result become like this ???????.
    Did I do something wrong?
    Is there any workaround?

    Hi,
    This forum is for Oracle ODBC Driver issues. You'll most likely want to post your question in the Heterogeneous Services forum:
    Heterogeneous Connectivity
    Greg

  • Strange problem with an Oracle database link to SQL Server

    Hi gurus,
    Please help me on this problem.
    We have an Oracle 10R2 database link to a SQL Server 2000 database. I can select count(*) from The_SQL_Server_Table@myOracleLink, and I can describe The_SQL_Server_Table@myOracleLink, but I cannot select Column1 from The_SQL_Server_Table@myOracleLink! I am getting the ORA-00904: "COLUMN1": invalid identifier error.
    Could anyone tell me what is wrong here? By the way, the same user name can select all the columns in The_SQL_Server_Table through ODBC from the client app. But I need the DB link to work with some Oracle stored functions.
    Thank you!
    Ben

    myora9i wrote:
    Hi gurus,
    Please help me on this problem.
    We have an Oracle 10R2 database link to a SQL Server 2000 database. I can select count(*) from The_SQL_Server_Table@myOracleLink, and I can describe The_SQL_Server_Table@myOracleLink, but I cannot select Column1 from The_SQL_Server_Table@myOracleLink! I am getting the ORA-00904: "COLUMN1": invalid identifier error.
    Could anyone tell me what is wrong here? By the way, the same user name can select all the columns in The_SQL_Server_Table through ODBC from the client app. But I need the DB link to work with some Oracle stored functions.
    Thank you!
    Bennotice "COLUMN1" is different from "Column1"
    CaSe MaTTerS!

  • Important--Bug(ORA-22813) fixes in Oracle Database 10g  Release 10.2.0.4

    Hi,
    I found that in SELECT STATEMENTs where we use "xmlagg() functions with a GROUP BY/ORDER BY,it fails with ORA-22813 if the result is too large.
    This happens as there is a hard coded limit on the result size. (max 30k)
    Next,i confirmed that and when i removed a portion of the XML agg() values and executed it---Wonders,it runs perfectly fine.
    This means that ""xmlagg() functions with a GROUP BY/ORDER BY,fails with ORA-22813 since the result is too large.
    I have come to know that patch "Release 10.2.0.4" has the fix for Bug-22813 for "xmlagg() functions with a GROUP BY/ORDER BY".
    Could you all please confirm that "Oracle Database 10g Release 10.2.0.4" (patch 10.2.04) fixes the issue?
    Based on your confirmation,i can go ahead to get the patch installed.
    Current Version:-Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
    Thanks
    Mainak

    Your query should be written something like this..
    select d.*
      from fbnk_customer,
           XMLTABLE
              '//c3'
              passing XMLRECORD
              columns
              C3_VALUE varchar2(60) path 'text()'
           ) d
    where recid='1001400'; Although it would be better to use an extact path expression rather than '//c3'

  • 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

  • Calling SQL Server Function from Oracle Database link

    Hi ,
    i have some data from a old SQL server i would i can access with a database link but i cant call function from my database link.
    i would like to do something like
    @SPAN_PROD = Database link
    _EnerttObtApReelBassSys is a Table function from my SQL server
    SELECT *
    FROM "_EnerttObtApReelBassSys('20120504',4,1)"@SPAN_PROD
    WHERE DateEffectiveDebut <= GetDate()
    AND DateEffectiveFin > GetDate()
    any help ?
    Thnx

    951879 wrote:
    I have a SP in SQL Server which will return a Result Set.
    My requirement is to call that procedure in ORACLE using DB Link and insert that resultset(Data) in the temp table.First you need to setup Oracle to SQL Server connectivity. To do that you can either use HS - heterogeneous connectivity which comes for free or use Oracle Transparent Gateway which is not free. HS uses ODBC, so if your Oracle database in not on windows, you'll have to get ODBC SQL Server driver for Unix/Linux (e.g. from EasySoft). Since SQL Server selecting from table function syntax is different from Oracle's you will have to, if you use HS, to use DBMS_HS_PASSTHROUGH package. I never worked with Oracle Transparent Gateway to SQL Server, so I don't know if and how it supports selecting from SQL Server table function.
    SY.

  • Multibyte issue in Oracle Database Link

    Hi Gurus,
    Greetings!!!
    I need to transfer data from Microsoft SQL Server 2005 to Oracle DAtabase 10g. I achieved it using Heterogeneous Connectivity. I can now issue queries but unfortunately i got an issue in displaying multibyte characters. I thought of using another Tool that can display multibyte data but it did not help. I even tried setting the initialization parameter HS_LANGUAGE to different characterset but still not able to display. Kindly help and advise how to resolve the said issue.
    Many Thanks in Advance,
    Benjie

    Hi Kamkan,
    My oracle database is configured to support multi language character.
    PARAMETER     VALUE
    NLS_LANGUAGE     AMERICAN
    NLS_TERRITORY     AMERICA
    NLS_CURRENCY     $
    NLS_ISO_CURRENCY     AMERICA
    NLS_NUMERIC_CHARACTERS     .,
    NLS_CHARACTERSET     AL32UTF8
    NLS_CALENDAR     GREGORIAN
    NLS_DATE_FORMAT     DD-MON-RR
    NLS_DATE_LANGUAGE      AMERICAN
    NLS_SORT     BINARY
    NLS_TIME_FORMAT     HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT     DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT     HH.MI.SSXFF AM TZR
    NLS_TIMESTAMP_TZ_FORMAT     DD-MON-RR HH.MI.SSXFF AM TZR
    NLS_DUAL_CURRENCY     $
    NLS_COMP     BINARY
    NLS_LENGTH_SEMANTICS     BYTE
    NLS_NCHAR_CONV_EXCP     FALSE
    NLS_NCHAR_CHARACTERSET     AL16UTF16
    NLS_RDBMS_VERSION     10.2.0.1.0

  • Create a database link to access SqlServer 2005 view from oracle 11gr2

    Hi All,
    Greetings for the day.
    Though I have seen quite a few posts but just wanted to cross-verfiy and double check hence posting.
    Oracle Database : 11gr2
    OS :SOLARIS SPARC 64 Bit
    SQL Server Database : Sql Server 2005
    OS : Windows 2003 32 Bit
    The requirement is to access a view residing in the SQL Server 2005 Database using the Oracle Database. This involves creation of a Database link in the Oracle Database to access the SQL Server.
    Can you suggest which approach should i follow ( I am able to understand that both do the same job ):
    How to Configure DG4MSQL (Oracle Database Gateway for MS SQL Server) 64bit Unix OS (Linux, Solaris, AIX,HP-UX) post install [ID 562509.1]or
    How to Configure DG4ODBC on 64bit Unix OS (Linux, Solaris, AIX, HP-UX Itanium) to Connect to Non-Oracle Databases Post Install [ID 561033.1]Will they do the same job ? And can they be used on any OS and version of the SQL Server Database as version information for SQL Server is not specified anywhere?
    Please let me know so that I can it forward with Business for approvals and budgetting.
    Regards
    KK

    Your question is similar to the post: Oracle 11gr2 connection to Sql Server using dg4msql problem
    Please visit: http://stackoverflow.com/questions/4658942/oracle-11gr2-connection-to-sql-server-using-dg4msql-problem
    Answer on the website:
    You seem to be using the Gateway for MySQL set-up rather than the Heterogeneous Gateway (for ODBC connections). Here is an overview of the process
    On SQL Server create a database user and give it read access to the database/tables you want to read via the Oracle database link.
    In the gateway home each SQL Server database you want to access should have an init.ora located in $OH/dg4msql/admin in the form initsid.ora where sid is the name of the database to be used in the link (e.g. initbob.ora), so create one
    HS_FDS_CONNECT_INFO=msserver1:1234//Example_Database
    HS_FDS_TRACE_LEVEL=OFF
    HS_FDS_RECOVERY_ACCOUNT=RECOVER
    HS_FDS_RECOVERY_PWD=RECOVER
    HS_TRANSACTION_MODEL=READ_ONLY
    You must now add the new sid to the listener.ora in the gateway home using an additional SID_DESC section inside the existing SID_LIST, for example
    (SID_DESC =
    (SID_NAME=bob)
    (ORACLE_HOME=/oracle/gateway/product/11.2.0)
    (ENVS=LD_LIBRARY_PATH=/oracle/gateway/product/11.2.0/dg4msql/driver/lib;/oracle/gateway/product/11.2.0/lib)
    (PROGRAM=dg4msql)
    You should now stop and restart the gateway listener so that the new sid becomes active. NB a reload is not enough.
    You must now add the new sid in the tnsnames.ora file for the listener of each database in which you will create a link. You don't need to do this in the gateway home unless it is also a database home in which you will create a database link.
    bob =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = severname.example.com)(PORT = 1690))
    (CONNECT_DATA = (SID = bob))
    (HS = OK)
    NB: The host and port are for the gateway not for the SQL Server database
    In each database that requires a link to the MS-SQL database you should create a database link to your new gateway sid.
    CREATE PUBLIC DATABASE LINK bob
    CONNECT TO "ms_user" IDENTIFIED BY "ms-passwd" USING 'bob';
    where ms-user and ms-password are the SQL Server user you created right at the start.
    Now you can test the new database link
    SELECT COUNT(*) FROM "Table_Name"@bob;
    Once you have this working you can alter the initsid.ora file to add parameters to suit your connection. If you do it this way you can easily add and manage many different databases via the gateway.
    Hip
    Edited by: 1000595 on 04:58 17-04-2013

  • PL/SQL :ORA-04052 with Database link

    i have created a database link in my producation database as following
    CREATE PUBLIC DATABASE LINK <NAME>
    CONNECT TO <USER>
    IDENTIFIED BY <P/W>
    USING <CONNECT STRING OF TARGET DATABASE
    oracle version 9.0.2.8
    OS : Windows 2003 EE R2 SP2
    Using oracle failsafe 3.3.4 with windows cluster
    Problem Description :
    whenever i run my pl/sql procecdure to pull the data from the target database i get the following error
    ERROR at line 3
    ORA-06550:line 3 column 2
    PL/SQL : ORA-04052: error occured when looking up remote object _<SCHEMA>.<TABLE>@<DATABASE LINKE NAME>_
    ORA-00604 : ERROR occured at recursive SQL level 1
    ORA-03106 : fatal tow-task communication protocol error
    ORA-02063: preceding line from <DATABASE LINK NAME>
    I have tested the same way in the test environment the same oracle version as well the OS but without oracle failsafe and windows cluster
    the script goes smoothly with out any errors.
    i have google and checked the OTN for all available solutions but still nothing its not getting throw
    i will be very thankful for your replys and solutions
    any farther clarification i am ready
    thanks in advance

    Hi,
    This forum is for issues connecting to non-Oracle databases. As the problem is using PL/SQL to connect to another Oracle database then it would be better to post a thread in the PL/SQL forum -
    PL/SQL
    If you are trying to connect to a non-Oracle database then please give us the details of which non-Oracle database and the software you are trying to use to connect.
    Regards,
    Mike

  • ORACLE 11g + PHP5 problem: "fetch out of sequence" on remote database link

    Hi!
    I have a new server with oracle 11g (11.1.0.7) database and apache/php5 (actual build) on linux.
    connection type is dedicated.
    when doing a connection to a remote AS/400 database I always get this error:
    "Warning: oci_fetch_array() http://function.oci-fetch-array: ORA-01002: fetch out of sequence ORA-02063: preceding line from..."
    when doing the same simple "select * from database link" at my old server with oracle 9i and apache/php5 no problem occurrs.
    this happens at AS/400 database link only. normal oracle database links work fine.
    Anyone an idea how to solve this problem or where the problem is????
    further info:
    when doing " select * from [ database link ] where rownum < 11 " it works, but when doing the query with more than 10 results I get the error. Any idea?
    bye,
    Oliver
    Edited by: user501548 on 10.10.2008 02:20

    well a fetch out of sequence usually indicates that a cursor has been closed before the process has finished fetching or some such thing.
    I'm not aware of there being a specific problem with the situation you outline, but maybe if you could provide all the connection setup and how you are trying to connect that may give a better idea.
    Also, you may be better asking on the General Database Discussions forum as this isn't really a SQL or PL/SQL problem

  • DATABASE LINK  with GROUP BY SQL Statemnets

    We have Oracle Database Link linked to MySQL . We want to force executing remote statement that contains group by on the remote MySQL server and let MySQL do the aggregation instead of Oracle.
    We tried also DRIVING_SITE but it doesn't help and the query that was sent to MySQL from Oracle DB Link didn't include GROUP BY and it looks like that the Group by was executed on the local Oracle.
    Is there a way for force executing GROUP BY statements on remote DB instead of the local Oracle DB?

    Try to create a local view based ao the remote table and use the view.

Maybe you are looking for