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.
Biancamxallen 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. -
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!
Benmyora9i 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! -
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
MainakYour 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 PMJust 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 ?
Thnx951879 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,
BenjieHi 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
KKYour 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 advanceHi,
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:20well 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
-
I have two faults! 1, an error comes up in Ps CC 2014 "could not apply the saved panel configuration, restring to default and my tools have disappeared completely and anything ive tried I cannot get them back not even the drop down menu in 'window' h
-
How can I export a full image from flash to jpeg?
Hi, First of all hello to everybody. Could somebody give a hand with this? I am trying to export a flash image to jpeg. I can do it but the image is cropped when I open it in photoshop. This is the original image (is is an screenshot and not exporte
-
How to DBTransaction - AppModule versus Backing Bean?
Hallo, is there a way to work with getDBTransaction in a backing bean or is the right place for this in the AppModule? Any help is appreciated.
-
How do i open the search window in contacts?
sometimes the search window is there and sometimes not. this is probably pretty obvious, but is eluding me. help please. iPhone 3G, latest software.
-
Hi all ! I have a table with a XML_TYPE field. I use JDBC with the thin driver to connect to the base, When I do a Query like Select * from my_table, my query is save in a ResultSet. When I want to do something with my ResultSet my application is ver