Oracle 64bit to MySQL (OS 64bit) - Database Link
My task is to create a database link from Oracle to MySQL.
My current setup is:
Windows Server 2008 - 64bit
Oracle 10.2.0.4.0 - 64bit
MySQL 5.0.45-community-nt
On my server I have installed the mysql odbc driver 64bit (5.6).
However, this driver only appears in the system32 of the odbcad32.exe and NOT in the syswow64.
How is that? I realize the problem might be here since Oracle (a 64bit application) looks for an odbc from a 64bit driver. This is not found since the mysql driver doesnt exist in the odbcad32.exe of syswow64.
I have followed the step by step setup procedure from this Connecting Oracle with MS-Access | Oracle FAQ but used the above driver and odbc accordingly.
After creating the database link on oracle I execute a select statement and this is the message I get:
ERROR at line 2: 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 MYSQL_DB
MYSQL_DB is the database link created in Oracle.
Any ideas? Is this possible? Are there any alternative ways?
Thank you,
Andreas
The error message "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified {IM002}" is self explainind - DG4ODBC is not able to find the ODBC DSN you created.
In your gateway init file you configured the DSN: HS_FDS_CONNECT_INFO = testmysql
And according to the Windows ODBC Admin screenshot you created a DSN called testmysql - unfortunately you created it as a USER DSN. But DG4ODBC needs a SYSTEM DSN. The reasin why it needs a system DSN is that by default the Oracle listener is running in the local system account. So when you create an ODBC USER DSN it can be access by the user who created it, but nobody else can use it - also not the local system account which is serving the Oracle listener. So you need to create a system DSN that every user on this machine can use the DSN (including the local system account) .
- Klaus
Similar Messages
-
Oracle Application server connection pool and database links
I am using Oracle application server 10g with connection pools, the db used by the application connects to another oracle db using a database link. My question is when the application starts it creates 10 connections, does it also create x amount of database links as well?
Hi,
Is there any way to use the connection pool or Datasource while connecting to database?If I am using a stateless sesssion bean and using a Data Access layer which just creates a database session to write the persistence toplink objects how I can make use of application server connection pool?Hi Vinod,
Yes, TopLink allows you to use the app server's connection pooling and transaction services. Chapter 2 of the Oracle9iAS TopLink Foundation Library Guide provides details as do the TopLink examples. The easiest way to set this up is by using the sessions.xml file. The sample XML below is from the file <toplink903>\examples\ias\examples\ejb\sessionbean\sessions.xml. Here we are adding the datasource defined in OC4J and specifying that we are using the OC4J transaction controller also.
<login>
<user-name>sa</user-name>
<password></password>
<datasource>java:comp/env/jdbc/ejbJTSDataSource</datasource>
<uses-external-transaction-controller>true</uses-external-transaction-controller>
<uses-external-connection-pool>true</uses-external-connection-pool>
</login>
<external-transaction-controller-class>oracle.toplink.jts.oracle9i.Oracle9iJTSExternalTransactionController</external-transaction-controller-class>
When using this approach you need to change your TopLink code slightly in the EJB methods:
a. Acquire the ACTIVE unit of work from the server
session (again, see the EmployeeSessionEJB code
example) with something like:
UnitOfWork uow = clientSession.getActiveUnitOfWork();
b. Calls to uow.commit() can be ommitted or commented out
because the EJB will handle this. Note that of course
the methods you create in the EJB that are using this
approach must have TX Required (default).
Hope this helps.
Pete -
How to create database link between oracle and SQL Server
Hello Everyone,
Here i have Oracle Database 9i and SQL Server 2005 databases.
I have some tables in sql server db and i want to access from Oracle.
How to create a database link between these two servers
Thanks,Thanks for Everyone,
I was struggle with this almost 10 days....
I created Database link from Oracle to SQL Server
Now it is fine.........
Here i am giving my servers configuration and proceedure how i created the db link...@
Using Generic Connectivity (HSODBC) we can create db link between Oracle and SQL server.
Machine (1)
DB Version : Oracle 9.2.0.7.0
Operating System : HP-UX Itanuim 64 11.23
IP : 192.168.0.31
Host : abcdbt
Machine (2)
Version : SQL Server 2005
Operating System : Windows server 2003 x86
IP : 192.168.0.175
Host : SQLDEV1
User/PW : sa/abc@123! (Connect to database)
Database : SQLTEST (exsisting)
Table : T (“ T “ is the table existing in SQLTEST database with 10 rows)
Prerequisites in Machine (2):
a) Oracle 10g software
b) User account to access SQL Server database (sa/abc@123!)
c) Existing SQL Server Database (SQLTEST)
d) Tables (testing purpose) (T)
Steps:
1) Install Oracle 10.2.0.1 (Only SW,No need of database) *(Machine 2)*
2) Create a DSN where your windows Oracle 10g SW resides *(Machine 2)*
Control panel >> Administrative Tools >> Data Source (ODBC) >> System DSN ADD
You can follow this link also.....
http://www.databasejournal.com/features/oracle/article.php/3442661/Making-a-Connection-from-Oracle-to-SQL-Server.htm
I created DSN as
DSN name : SQLTEST
User : SA/abc@123! (Existing user account)
Host : 192.168.0.175 (machine 2)
Already I have 1 database in SQL Server with the name SQLTEST
You can create DSN with different name also (not same as db name also)
3) Create a hsodbc init file in $ORACLE_HOME\hs\admin *(Machine 2)*
Create init<DSN NAME> file
Ex: initSQLTEST
Copy inithsodbc to initSQLTEST
And edit
initSQLTEST file
HS_FDS_CONNECT_INFO = SQLTEST <DSN NAME>*
HS_FDS_TRACE_LEVEL = OFF*
save the file....@
4) Configure Listener.ora *(Machine 2)*
LISTENER_NEW =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.175)(PORT = 1525))
SID_LIST_LISTENER_NEW =
(SID_LIST =
(SID_DESC =
(SID_NAME = SQLTEST) *+< Here SQLTEST is DSN NAME >+*
(ORACLE_HOME = G:\oracle 10g\oracle\product\10.2.0\db_1)
(PROGRAM = hsodbc))
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = G:\oracle 10g\oracle\product\10.2.0\db_1)
(PROGRAM = extproc) )
:> lsnrctl start LISTENER_NEW
5) Configure tnsname.ora *(Machine 2)*
SQLTEST11 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.175)(PORT = 1525))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SQLTEST))
(HS=OK)
:> tnsping SQLTEST11
If No errors then conti….
6) Configure a file *(Machine 1)*
Cd $TNS_ADMIN ($ORACLE_HOME/network/admin)
Create a file
$ vi TEST_abcdbt_ifile.ora
something=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST =192.168.0.175) (PORT=1525))
(CONNECT_DATA=
(SID=SQLTEST))
(HS=OK)
$ tnsping something
$ sqlplus system/manager
Your connected to Oracle database *(machine 1)*
create database link xyz connect to “sa” identified by “abc@123!” using ‘SOMETHING’;
select * from t@xyz;10 rows selected.
Thanks,
Edited by: ram5424 on Feb 10, 2010 7:24 PM -
Dear All,
from couple of days I am trying to connect mysql from my oracle database.
I have studied so many documentations and have created one of my own. I am just struck at one point.
My oracle database is 11gR1 and CentOS 5.1 32-bit is the operating system.
MySQL is on a windows based machine and version is 5.1.
What I can do:
I can connect MySQL from Linux using the command: isql –v bssdata <user> <password> [Connected]
I can tnsping the listener using command: tnsping bssdata [OK]
But after setting up what i did in the documentation below when I try to connect mysql using a DB link. It gives the following error:
select * from bssdata.sta_mis_std_marks@bssdata
Error at Command Line:1 Column:40
Error report:
SQL Error: ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
ORA-02063: preceding line from BSSDATA
28500. 00000 - "connection from ORACLE to a non-Oracle system returned this message:"
*Cause: The cause is explained in the forwarded message.
*Action: See the non-Oracle system's documentation of the forwarded
message.
Please help me get out of this. Thank you very much
Here are the details what i did:
Install required packages
Yum install mysql-connector-odbc
Yum install unixODBC
vi /etc/odbc.ini
[bssdata]
# myodbc3 = MySQL ODBC 3.51 Driver DSN
# [myodbc3]
Driver = /usr/lib/libmyodbc3.so
Description = MySQL ODBC 3.51 Driver DSN
SERVER = 192.168.0.68
PORT = 3306
USER = ******
Password = ******
Database = bssdata
OPTION = 3
SOCKET =
vi /etc/odbcinst.ini
# Example driver definitinions
# Included in the unixODBC package
#[PostgreSQL]
#Description = ODBC for PostgreSQL
#Driver = /usr/lib/libodbcpsql.so
#Setup = /usr/lib/libodbcpsqlS.so
#FileUsage = 1
# Driver from the MyODBC package
# Setup from the unixODBC package
[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/libmyodbc3.so
Setup = /usr/lib/libodbcmyS.so
FileUsage = 1
Test Connection
isql –v bssdata ****** ******
Editing listener.ora file to add entry
# listener.ora Network Configuration File: /u01/app/oracle/product/11.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = blissglb.abc.edu.pk)(PORT = 1521))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.1.0/db_1)
(PROGRAM = extproc)
(SID_DESC =
(PROGRAM = dg4odbc)
(ORACLE_HOME = /u01/app/oracle/product/11.1.0/db_1)
(SID_NAME = bssdata)
(ENVS=LD_LIBRARY_PATH = /usr/local/lib:/u01/app/oracle/product/11.1.0/db_1/odbc)
Restart listener
Lsnrctl> stop
Lsnrctl> start
Test listener
tnsping bssdata
Editing tnsnames.ora file in network directory of oracle
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.1.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
BLISSGLB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = blissglb.abc.pk)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = blissglb.abc.edu.pk)
BSSGLB, BSSGLB.abc.EDU.PK =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.24)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = bssglb.abc.edu.pk)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = IPC)
(KEY = EXTPROC1521)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
bssdata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.66)(PORT = 1521))
(CONNECT_DATA =
(SID = bssdata)
(HS = OK)
Edit Oracle’s bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1
export ORACLE_HOME
ORACLE_SID=blissglb
export ORACLE_SID
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
LD_LIBRARY_PATH=/usr/local/lib:/u01/app/oracle/product/11.1.0/db_1/lib
export LD_LIBRARY_PATH
ODBCINI=/etc/odbc.ini
export ODBCINI
ODBCSYSINI=/etc
export ODBCSYSINI
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export PATH
unset USERNAME
Configure file db_1/hs/admin/inithsodbc.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 = <odbc data_source_name>
#HS_FDS_TRACE_LEVEL = <trace_level>
#HS_FDS_SHAREABLE_NAME = <full path name of odbc driver manager or driver>
HS_FDS_CONNECT_INFO = bssdata
HS_FDS_TRACE_LEVEL = off
HS_FDS_SHAREABLE_NAME = /usr/lib/libmyodbc3.so
# ODBC specific environment variables
#set ODBCINI=<full path name of the odbc initilization file>
set ODBCINI=/etc/odbc.ini
# Environment variables required for the non-Oracle system
set <envvar>=<value>
Create Database Link
Create database link bssdata connect to ****** identified by ******** using ‘bssdata’
Using selection query
Select * from bssdata.sta_mis_std_marks@bssdata {Here comes the error described above}
Regards,
ImranHi ,
i am facing the same issue.
These are my findings at this moment.
By looking at http://www.pythian.com/news/1554/how-to-access-mysql-from-oracle-with-odbc-and-sql/ we can see that :
"Connector ODBC 5.1. The Oracle Gateway for ODBC checks/relies on some features, such as the ODBC descriptor, that are not available in 3.51. You can check the associated documentation and bug 32692 for some details about SQLSetDescRec"
So we have a bug related to SQLSetDescRec missing from the libmyodbc3.so library.
We can check this as follows :
[oracle@log]$ nm -D /usr/lib64/libmyodbc3.so | fgrep SQLMoreResults
0000000000017c70 T SQLMoreResults
[oracle@log]$ nm -D /usr/lib64/libmyodbc3.so | fgrep SQLSetEnvAttr
0000000000016c40 T SQLSetEnvAttr
[oracle@log]$ nm -D /usr/lib64/libmyodbc3.so | fgrep SQLSetDescRec
No output for SQLSetDescRec.
Now i have to see how can i get over this bug.
Regards,
George -
Database link creation problem
localhost environment:
OS:windows 2000 server
Database:oracle 8.5
database name:orcl
remotehost environment:
OS:windows 2000 server
Database:oracle 8.5
database name:orac
These two servers in network and in the same workgroup like peer to peer.There is no concept of domain here.
Here in this environment i am getting the response from both of the servers at the time of using tnsping.
C:\>tnsping orac
TNS Ping Utility for 32-bit Windows: Version 8.1.5.0.0 - Production on 15-APR-06 21:30:54
(c) Copyright 1997 Oracle Corporation. All rights reserved.
Attempting to contact (ADDRESS=(PROTOCOL=TCP)(HOST=azad)(PORT=1521))
OK (70 msec)
C:\>tnsping orcl
TNS Ping Utility for 32-bit Windows: Version 8.1.5.0.0 - Production on 15-APR-06 21:31:02
(c) Copyright 1997 Oracle Corporation. All rights reserved.
Attempting to contact (ADDRESS=(PROTOCOL=TCP)(HOST=pvs)(PORT=1521))
OK (70 msec)
But at the time of creating database links in between these databases at local host i am getting this error message when i am using connect_user method:
SQL> create database link REMOTE_CONNECT connect to current_user using 'ORAC';
Database link created.
SQL> select * from emp@REMOTE_CONNECT;
select * from emp@REMOTE_CONNECT
ERROR at line 1:
ORA-00600: internal error code, arguments: [kspgsp2], [64978272], [265], [ent_domain_name], [0],
[1], [], []
But at the time of creating database links in between these databases at local host i am getting this error message when i am using identified method:
SQL> create database link REMOTE_CONNECT2 connect to scott identified by tiger using 'ORAC';
Database link created.
SQL> select * from emp@REMOTE_CONNECT2;
select * from emp@REMOTE_CONNECT2
ERROR at line 1:
ORA-02085: database link REMOTE_CONNECT2 connects to ORACLE
help me to create the database link in between these two databases..........Hi, I have read carefully your letter.
Firt of all, when you use 'current_user' statement you must guarantee that such users have in both databases.If users exist in both databases and the error will appear again than try create database link with the option 'PUBLIC' as follow:
CREATE PUBLIC DATABASE LINK REMOTE_CONNECT connect to scott identified by tiger using 'ORAC';
and check the creation:
SQL> COL OWNER FORMAT a10
SQL> COL USERNAME FORMAT A8 HEADING "USER"
SQL> COL DB_LINK FORMAT A30
SQL> COL HOST FORMAT A7 HEADING "SERVICE"
SQL> SELECT * FROM DBA_DB_LINKS;
OWNER DB_LINK USER SERVICE CREATED
PUBLIC REMOTE_CONNECT.US.ORACLE.COM SCOTT ORAC 17.04.06
if the error appear again than checks parameter 'open_links' for your database instance. Default is 4. Increase that number. Good luck.Let me know if something go wrong. -
ORA-00022 with Database Link and Trigger
Hello altogether,
I got a very strange behaviour with my oracle 10.2.
I have two nets N1 and N2, where N1 can access the servers in N2, but not the other way round. In both nets I have an Oracle database running (D1 and D2).
In N1 I calculate some data, which must be replicated to the database in N2. I do this by using triggers on my tables in database D1 copying the inserted or changed data to D2 by using a shared public database link.
This works fine most of the time. But sometimes I get the following error:
ERROR [STDERR] Caused by: java.sql.SQLException: ORA-02068: following severe error from D2
ORA-00022: invalid session ID; access denied
ORA-06512: at "CUSTOMER", line 13
ORA-04088: error during execution of trigger 'CUSTOMER'
When I use the database links manually, they work.
Any idea?
Thank you!!
DanielThe ORA-02068 message might be important
02068, 00000, "following severe error from %s%s"
// *Cause: A severe error (disconnect, fatal Oracle error) received from
// the indicated database link. See following error text.
// *Action: Contact the remote system administrator.Have you searched Oracle support for any bugs associated with the ORA-02068?
Was the remote session killed, the remote database changed to restricted session, or bounced?
I take it the distributed session is created using a dedicated session and not shared server?
HTH -- Mark D Powell -- -
I should create a new database link to an AS/400 server but i m rookie!!
İ have an oracle 10g DB server.İ need get some of data from AS/400 DB on other location and put them all to my oracle server.İ should create a database link between oracle server and AS400 DB but how will i realize that event.in oracle 10g enterprise manager console i choose administration-database link-create database link.At this step how could i fill the requirement.Which format should i use.
General
* Name:???????? (should i type the AS400 IP?????)
* Net Service Name:???????? (what should i fill)
Public - This database link is available to all users.
Connected User:
Current User
Fixed User
Username
Password
Confirm Password
thanks for all as nowİ have an oracle 10g DB server.İ need get some of data from AS/400 DB on other location and put them all to my oracle server.İ should create a database link between oracle server and AS400 DB but how will i realize that event.in oracle 10g enterprise manager console i choose administration-database link-create database link.At this step how could i fill the requirement.Which format should i use.
General
* Name:???????? (should i type the AS400 IP?????)
* Net Service Name:???????? (what should i fill)
Public - This database link is available to all users.
Connected User:
Current User
Fixed User
Username
Password
Confirm Password
thanks for all as now -
Databases link name required without global_name
Hi,
My global_name is "ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM" when i create any database link the name create like "U_NET_LINK.REGRESS.RDBMS.DEV.US.ORACLE.COM"
How i eliminate global_name without edit my initora file using SQL .
Regards
FaheemYou need to check parameter global_names
alter system set global_names=true scope=both;
System altered.http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams077.htm#CHDGEHBB
Also what's your DB_NAME and DB_DOMAIN set at?
Your global name looks rather erratic. -
OCP MySQL 5.0 Database Administrator
Hello,
I would like to take the exams for the "Oracle Certified Professional, MySQL 5.0 Database Administrator" track.
According to the [Oracle Certification Program website|http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=333&p_org_id=1001&lang=US] , the exam codes listed for this track are CX-310-810 and CX-310-811, when I tried to register for these exams at a Prometric testing center, I was told that the codes are incorrect and that the right exam codes are 1z0-873 and 1z0-874 respectively.
Could anyone clarify this please?
ThanksExam numbers have not changed at Prometric. If the test center is telling you that the exams are '1Z0' exams, they are wrong. All Sun exams offered at Prometric are still '310' exams. You can register online for your exam and you will find the correct 310 test numbers or you can call Prometric for assistance in registering. I'm not sure why the test center is giving you that information because test numbers at Prometric have not changed.
Regards,
Brandye Barrington
Certification Forum Moderator -
Database link from Oracle 11g (64 bit) to MySQL over UnixODBC with dg4odbc
Hello,
I want to connect to a MySQL Database from Oracle over a database link, but i get always the Error Message ORA-28528: Heterogeneous Services datatype conversion error .
In the forum or internet I can't find a solution for my problem, so I try now to post this problem.
Here a detailed description of the problem:
I use a Oracle 11.1.0.7.0 64bit database which is running on a redhat linux 5.3 64bit.
I want to connect to a MySql Database 5.0, which is running on a redhat linux 5.2 32bit over unixODBC.
The configuration from the ODBC seems to be good, because with isql on the ora server I can connect and query all data correct from the MySQL database.
Also the tsnnames.ora and listener.ora should be configured correctly. The tnsping works also fine.
But when i try to catch the data over SQLPlus with the database link I always get the error ORA-28528.
If I try to select just one column it works, but the returned data are incomplete or truncated.
the version of my libs:
between mysql and odbc I use libmyodbc3.so version 3.51.12-2.2 (I also tried the version 5, but with them I get a segmentation fault error on isql).
between odbc and dg4odbc I use libodbc.so version 2.2.11-7.1
Has anybody a solution or hint for me?
Many Thanks in advance,
best regards from Austria
Manuel
Edited by: user11243186 on 09.06.2009 02:59kdgmanu wrote:
Hello,
I always get the error ORA-28528.
If I try to select just one column it works, but the returned data are incomplete or truncated.
maybe you are facing bug 6772397, so do a search on metalink for bug 6772397
>
Has anybody a solution or hint for me?you could also see the following notes 554409.1 and 603801.1
Many Thanks in advance,
best regards from Austriacheers from Zagreb -
Database link from Oracle to MySQL with the use of unixODBC
Hi,
I have 2 servers.
Server A:
- CentOS_5.1 x386
- MySQL 5.1
- unixODBC
- mysql-connector-odbc
Server B:
- CentOS_5.1 x86_64
- Oracle 11g
- unixODBC
- mysql-connector-odbc
I've configured ODBC, so I am able to do "isql <DSN> oracle oracle -v" sucessfully with "root" and "oracle" user on Oracle server. I've configured listener.ora and tnsnames.ora
I added below lines to listener.ora
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=mysqlware)
(ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1)
(PROGRAM=dg4odbc)
(ENVS=LD_LIBRARY_PATH=/u01/app/oracle/product/11.1.0/db_1/hs/lib:/usr/lib64/:$ORACLE_HOME/lib)
and lines below to tnsnames.ora
mysqlware=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=<server's FQDN>)
(PORT=1521)
(CONNECT_DATA=
(SID=mysqlware))
(HS=OK))
The content of $ORACLE_HOME/hs/admin/initmysqlware.ora is
# 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 = mysqlware
HS_FDS_SHAREABLE_NAME = /usr/lib64/libmyodbc3.so
# ODBC specific environment variables
set ODBCINI=/home/oracle/.odbc.ini
# Environment variables required for the non-Oracle system
set <envvar>=<value>
tnsping mysqlware returns.....
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION= (ADDRESS= (PROTOCOL=TCP) (HOST=<server's FQDN>)) (PORT=1521)) (CONNECT_DATA= (SID=mysqlware)) (HS=OK))
OK (10 msec)
when I login to oracle and create PUBLIC DATABASE LINK with command....
create public database link link2mysqlware connect to
2 "oracle" identified by "oracle" using 'mysqlware';
Database link created.
THIS IS WHAT I GET.....
SQL> select * from "emp"@link2mysqlware;
select * from "emp"@link2mysqlware
ERROR at line 1:
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 LINK2MYSQLWARE
There is "emp" table in MySQL, from where I can even select with the use of isql command and from this Oracle server.
I would really appreciate some help here.
Thanks in advance.
Tomaz BracicEvening Ed,
I changed to debug and repeated the select ....... The output below is for one select that I did. (select * from "emp"@link1)
Oracle Corporation --- WEDNESDAY MAR 19 2008 21:50:51.371
Version 11.1.0.6.0
Entered hgogprd
HOSGIP for "HS_FDS_TRACE_LEVEL" returned "DEBUG"
Entered hgosdip
setting HS_OPEN_CURSORS to default of 50
setting HS_FDS_RECOVERY_ACCOUNT to default of "RECOVER"
setting HS_FDS_RECOVERY_PWD to default value
setting HS_FDS_TRANSACTION_LOG to default of "HS_TRANSACTION_LOG"
setting HS_FDS_TRANSACTION_ISOLATION to default of "READ_COMMITTED"
setting HS_NLS_NCHAR to default of "AL32UTF8"
setting HS_FDS_TIMESTAMP_AS_DATE to default of "TRUE"
setting HS_RPC_FETCH_REBLOCKING to default of "ON"
setting HS_FDS_FETCH_ROWS to default of "100"
setting HS_FDS_RESULTSET_SUPPORT to default of "FALSE"
setting HS_FDS_PROC_IS_FUNC to default of "FALSE"
setting HS_FDS_CHARACTER_SEMANTICS to default of "FALSE"
setting HS_FDS_MAP_NCHAR to default of "TRUE"
setting HS_NLS_DATE_FORMAT to default of "YYYY-MM-DD HH24:MI:SS"
setting HS_FDS_REPORT_REAL_AS_DOUBLE to default of "FALSE"
setting HS_LONG_PIECE_TRANSFER_SIZE to default of "65536"
setting HS_SQL_HANDLE_STMT_REUSE to default of "FALSE"
setting HS_FDS_QUERY_DRIVER to default of "TRUE"
setting HS_FDS_SUPPORT_STATISTICS to default of "FALSE"
setting HS_CALL_NAME_ISP to "gtw$:SQLTables;gtw$:SQLColumns;gtw$:SQLPrimaryKeys;gtw$:SQLForeignKeys;gtw$:SQLProcedures;gtw$:SQLStatistics"
Exiting hgosdip, rc=0
ORACLE_SID is "mysqlware"
Product-Info:
Port Rls/Upd:6/0 PrdStat:0
Agent:Oracle Database Gateway for ODBC
Facility:hsa
Class:ODBC, ClassVsn:11.1.0.6.0_0006, Instance:mysqlware
Exiting hgogprd, rc=0
Entered hgoinit
HOCXU_COMP_CSET=1
HOCXU_DRV_CSET=873
HOCXU_DRV_NCHAR=873
HOCXU_DB_CSET=873
HOCXU_SEM_VER=110000
Entered hgolofn at 2008/03/19-21:50:51
HOSGIP for "HS_FDS_SHAREABLE_NAME" returned "/usr/lib64/libodbc.so"
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a2082a0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a208330
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a208af0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a209d60
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a2117d0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a211c70
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a214480
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a215930
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a216130
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a217b50
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a217b70
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a219270
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a21c410
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a21c7b0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a21e250
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a21eea0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a21f1a0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a220fd0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a2213a0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a222ee0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a222d30
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a227dc0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a2295b0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a229be0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a22b030
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a22b8f0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a22d550
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a22daa0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a22e2f0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a230c30
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a231770
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a232190
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a232c20
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a233110
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a233a10
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a233f20
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a2344c0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a234b10
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a2350a0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a236640
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a236380
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a2374e0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Entered hgolofns at 2008/03/19-21:50:51
symbol_peflctx=0x6a2380b0
hoaerr:0
Exiting hgolofns at 2008/03/19-21:50:51
Exiting hgolofn, rc=0 at 2008/03/19-21:50:51
HOSGIP for "HS_OPEN_CURSORS" returned "50"
HOSGIP for "HS_FDS_FETCH_ROWS" returned "100"
HOSGIP for "HS_LONG_PIECE_TRANSFER_SIZE" returned "65536"
HOSGIP for "HS_NLS_NUMERIC_CHARACTER" returned ".,"
Exiting hgoinit, rc=0 at 2008/03/19-21:50:51
Entered hgolgon at 2008/03/19-21:50:51
reco:0, name:oracle, tflag:0
Entered hgosuec at 2008/03/19-21:50:51
Exiting hgosuec, rc=0 at 2008/03/19-21:50:51
HOSGIP for "HS_FDS_RECOVERY_ACCOUNT" returned "RECOVER"
HOSGIP for "HS_FDS_TRANSACTION_LOG" returned ""HS_TRANSACTION_LOG""
HOSGIP for "HS_FDS_TIMESTAMP_AS_DATE" returned "TRUE"
HOSGIP for "HS_FDS_CHARACTER_SEMANTICS" returned "FALSE"
HOSGIP for "HS_FDS_MAP_NCHAR" returned "TRUE"
HOSGIP for "HS_FDS_RESULT_SET_SUPPORT" returned "FALSE"
HOSGIP for "HS_FDS_PROC_IS_FUNC" returned "FALSE"
HOSGIP for "HS_FDS_REPORT_REAL_AS_DOUBLE" returned "FALSE"
using oracle as default value for "HS_FDS_DEFAULT_OWNER"
HOSGIP for "HS_SQL_HANDLE_STMT_REUSE" returned "FALSE"
Entered hgocont at 2008/03/19-21:50:51
HS_FDS_CONNECT_INFO = "mysqlware"
RC=-1 from HOSGIP for "HS_FDS_CONNECT_STRING"
Entered hgogenconstr at 2008/03/19-21:50:51
dsn:mysqlware, name:oracle
optn:
##>Connect Parameters (len=35)<##
## DSN=mysqlware;
#! UID=oracle;
#! PWD=*
Exiting hgogenconstr, rc=0 at 2008/03/19-21:50:51
Entered hgopoer at 2008/03/19-21:50:51
hgopoer, line 159: got native error 0 and sqlstate I; message follows...
Exiting hgopoer, rc=0 at 2008/03/19-21:50:51
hgocont, line 1903: calling SqlDriverConnect got sqlstate I
Exiting hgocont, rc=28500 at 2008/03/19-21:50:51 with error ptr FILE:hgocont.c LINE:1923 FUNCTION:hgocont() ID:Something other than invalid authorization
Exiting hgolgon, rc=28500 at 2008/03/19-21:50:51 with error ptr FILE:hgolgon.c LINE:612 FUNCTION:hgolgon() ID:Calling hgocont
Entered hgoexit at 2008/03/19-21:50:51
Kind regards,
Tomaz -
Database link from Oracle to MySQL
I tried and googled an tried again...but I can't get this to work. So if you can spare a moment, please help me out (or try to ;-) ).
Environment:
The Oracle Developer Days Virtual Box image, so that's 11gR2 EE on OEL. MySQL 5.1.51-community + mysql-connector-odbc-5.1.7-0.i386.rpm
1. Created a database called test in MySQL, with a user "oracle" and a password "123".
2. Created the file /home/oracle/.odbc.ini with as contents:
[ODBC Data Sources]
myodbc5 = MySQL ODBC 5.1.7 Driver DSN
[myodbc5]
DRIVER = /usr/lib/libmyodbc5.so
DESCRIPTION = MySQL ODBC 5.1.7 Driver DSN
SERVER = 127.0.0.1
PORT = 3306
USER = oracle
PASSWORD = 123
DATABASE = test
CHARSET = latin13. Created the file /home/oracle/app/oracle/product/11.2.0/dbhome_1/hs/admin/initmyodbc5.ora
# HS init parameters
HS_FDS_CONNECT_INFO=myodbc5
HS_FDS_TRACE_LEVEL=DEBUG
HS_FDS_SHAREABLE_NAME=/usr/lib/libmyodbc5.so
HS_LANGUAGE=AMERICAN.AMERICA.WE8ISO8859P15
HS_FDS_SUPPORT_STATISTICS=FALSE
# HS_NLS_NCHAR=AL32UTF8
# ODBC specific environment variables
set ODBCINI=/home/oracle/.odbc.ini
set ODBCINSTINI=/home/oracle/.odbc.ini
set LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/hs/lib:/usr/lib
# Environment variables required for the non-Oracle system
set HOME=/home/oracle4. Added to tnsnames.ora :
dg4odbc =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA = (SID=myodbc5))
(HS=OK)
)5. Added to listener.ora (and restarted it) :
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = myodbc5)
(PROGRAM = dg4odbc)
(ENVS ="LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/hs/lib:/usr/lib:/lib")
)6. Ran some tests:
a. isql dg4odbc -> Connected!
b. tnsping dg4odbc -> OK
c. lsnrctl status -> Service "myodbc5" has 1 instance(s). Instance "myodbc5", status UNKNOWN, has 1 handler(s) for this service...
d. in SQLPLUS (as system): create public database link mysql connect to "oracle" identified by "123" using 'dg4odbc';
e. select * from test@mysql ("test" is a simple table I created in the MySQL DB) returns
ERROR at line 1:
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
ORA-02063: preceding line from MYSQL
When I look in the trace file (in $ORACLE_HOME/hs/log) I see at the bottom of the file:
HOSGIP for "HS_FDS_SHAREABLE_NAME" returned "/usr/lib/libmyodbc5.so"
Entered hgolofns at 2010/11/02-14:10:54
hoaerr:28500
Exiting hgolofns at 2010/11/02-14:10:54
Failed to load ODBC library symbol: /usr/lib/libmyodbc5.so(SQLAllocHandle)
Exiting hgolofn, rc=28500 at 2010/11/02-14:10:54
Exiting hgoinit, rc=28500 with error ptr FILE:hgoinit.c LINE:337 FUNCTION:hgoinit() ID:Loading ODBC aray of function ptrs
Entered hgoexit
HS Gateway: NULL connection context at exit
Exiting hgoexit, rc=0 with error ptr FILE:hgoexit.c LINE:108 FUNCTION:hgoexit() ID:Connection contextAfter Googling around I found out that all files are 32-bit (was on issue somewhere else)...and now I am stuck!
Any ideas, tips etc on how to proceed???
TIA
RoelThe ODBC Trace contains:
[ODBC][3331][1288788738.867244][__handles.c][459]
Exit:[SQL_SUCCESS]
Environment = 0x92b0d08
[ODBC][3331][1288788738.869179][SQLSetEnvAttr.c][189]
Entry:
Environment = 0x92b0d08
Attribute = SQL_ATTR_ODBC_VERSION
Value = 0x3
StrLen = -6
[ODBC][3331][1288788738.869204][SQLSetEnvAttr.c][356]
Exit:[SQL_SUCCESS]
[ODBC][3331][1288788738.879396][SQLAllocHandle.c][375]
Entry:
Handle Type = 2
Input Handle = 0x92b0d08
[ODBC][3331][1288788738.879422][SQLAllocHandle.c][493]
Exit:[SQL_SUCCESS]
Output Handle = 0x92c2940
[ODBC][3331][1288788738.879449][SQLSetConnectAttrW.c][332]
Entry:
Connection = 0x92c2940
Attribute = SQL_ATTR_AUTOCOMMIT
Value = (nil)
StrLen = -5
[ODBC][3331][1288788738.879467][SQLSetConnectAttrW.c][616]
Exit:[SQL_SUCCESS]
[ODBC][3331][1288788738.879694][SQLDriverConnectW.c][290]
Entry:
Connection = 0x92c2940
Window Hdl = (nil)
Str In = [DNdm;I=eoPDdm][length = 26]
Str Out = 0x92b1cf8
Str Out Max = 1024
Str Out Ptr = 0xbfe66270
Completion = 0
[ODBC][3331][1288788738.879718][SQLDriverConnectW.c][500]Error: IM002
[ODBC][3331][1288788738.879810][SQLGetDiagRecW.c][508]
Entry:
Connection = 0x92c2940
Rec Number = 1
SQLState = 0xbfe65f70
Native = 0xbfe65f90
Message Text = 0xbfe65d38her
Buffer Length = 510
Text Len Ptr = 0xbfe65fa8
[ODBC][3331][1288788738.879835][SQLGetDiagRecW.c][550]
Exit:[SQL_SUCCESS]
SQLState = IM002
Native = 0xbfe65f90 -> 0
Message Text = [[unixODBC][Driver Manager]Data source name not found, and no default driver specified]
[ODBC][3331][1288788738.879865][SQLGetDiagRecW.c][508]
Entry:
Connection = 0x92c2940
Rec Number = 2
SQLState = 0xbfe65f70
Native = 0xbfe65f90
Message Text = 0xbfe65d38
Buffer Length = 510
Text Len Ptr = 0xbfe65fa8
[ODBC][3331][1288788738.879882][SQLGetDiagRecW.c][550]
Exit:[SQL_NO_DATA]
[ODBC][3331][1288788738.879942][SQLDisconnect.c][208]
Entry:
Connection = 0x92c2940
[ODBC][3331][1288788738.879958][SQLDisconnect.c][237]Error: 08003
[ODBC][3331][1288788738.880005][SQLFreeHandle.c][286]
Entry:
Handle Type = 2
Input Handle = 0x92c2940
[ODBC][3331][1288788738.880023][SQLFreeHandle.c][337]
Exit:[SQL_SUCCESS]
[ODBC][3331][1288788738.903716][SQLFreeHandle.c][219]
Entry:
Handle Type = 1
Input Handle = 0x92b0d08So there is an error (IM002) in there, saying it can't find the Data Source Name..
Some addtional tests I ran:
dltest /usr/local/lib/libodbc.so returns SUCCESS: Loaded /usr/local/lib/libodbc.so
ldd /usr/local/lib/libodbc.so returns
linux-gate.so.1 => (0x00a44000)
libdl.so.2 => /lib/libdl.so.2 (0x00a22000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00110000)
libc.so.6 => /lib/libc.so.6 (0x005b1000)
/lib/ld-linux.so.2 (0x00736000)
So it can find and load the necessary libraries (afaik)..
So any ideas left?? -
Database link Oracle to MySql Error [Microsoft][ODBC Driver Manager]
Dear all:
I need your help, I want to access mysql database from oracle 11g r2. When I try to connect mysql database from oracle database I'm getting the error shown below, kindly help your help will be appreciated, thanks in advance
When I excute:
select * from test1@mysqltest;
[ERROR]
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified {IM002}
ORA-02063: preceding 2 lines from THAONT1.MYSQL
28500. 00000 - "connection from ORACLE to a non-Oracle system returned this message:"
*Cause: The cause is explained in the forwarded message.
*Action: See the non-Oracle system's documentation of the forwarded message.
My config
oracle db:11.2.0.3 enterprise edition
os:win 7 64 bits
mysql connector odbc:64 bit
mysql db:5.1.19
ODBC Config
LISTENER.ORA:
=============
# listener.ora Network Configuration File: D:\app\THAONTSE90151\product\11.2.0\dbhome_3\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\THAONTSE90151\product\11.2.0\dbhome_3)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\THAONTSE90151\product\11.2.0\dbhome_3\bin\oraclr11.dll")
(SID_DESC =
(SID_NAME = tst)
(ORACLE_HOME = D:\app\THAONTSE90151\product\11.2.0\dbhome_3)
(PROGRAM = dg4odbc)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.12.1.58)(PORT = 1521))
ADR_BASE_LISTENER = D:\app\THAONTSE90151
TNSNAMES.ORA:
================
TSTLINK =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.12.1.58)(PORT = 1521))
(CONNECT_DATA =
(SID = tst)
(HS = OK)
inittst.ora($ORACLE_HOME/hs/admin)
========================
# 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 = testmysql
HS_FDS_TRACE_LEVEL = off
# Environment variables required for the non-Oracle system
#set ODBCINI=D:\ODBC.INI
dblink created from oracle to mysql:
==========================
SQL> create public database link mysqltest
connect to thaont identified by abc123 using 'TSTLINK';
SQL>select * from test1@mysqltest;
[ERROR]
ORA-28500: connection from ORACLE to a non-Oracle system returned this message:
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified {IM002}
ORA-02063: preceding 2 lines from THAONT1.MYSQL
28500. 00000 - "connection from ORACLE to a non-Oracle system returned this message:"
*Cause: The cause is explained in the forwarded message.
*Action: See the non-Oracle system's documentation of the forwarded message.
kindly help.
thanks & regards.The error message "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified {IM002}" is self explainind - DG4ODBC is not able to find the ODBC DSN you created.
In your gateway init file you configured the DSN: HS_FDS_CONNECT_INFO = testmysql
And according to the Windows ODBC Admin screenshot you created a DSN called testmysql - unfortunately you created it as a USER DSN. But DG4ODBC needs a SYSTEM DSN. The reasin why it needs a system DSN is that by default the Oracle listener is running in the local system account. So when you create an ODBC USER DSN it can be access by the user who created it, but nobody else can use it - also not the local system account which is serving the Oracle listener. So you need to create a system DSN that every user on this machine can use the DSN (including the local system account) .
- Klaus -
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. -
Create a Database Link from Oracle to MYSQL on windows
Hi
I need to create a database link from oracle to mysql database on windows to fetch some records.Can anyone help me on this?Search for Transparent Gateways, Heterogeneous Services...
The Oracle SQL Developer have drivers to Access, MySQL and SQL Server.
Maybe you are looking for
-
In OBIEE charts, how do you make drill downs work on custom formulas?
I posted this over on Linked In and didn't get an anser, so I'm hoping someone here has an answer. I'm writing a summary query / chart for a dashboard in OBIEE 10.1 with a drill down (technically it's a "navigation") for more information. This chart
-
N86 8MP Camera Problem...
Hi all, I bought N86 8MP last week , every things work fine but i have a small trouble when i capture the photos , the green rectangular Box (Autofocus ) appear , then i pressed the capture button but still can't snap the picture. No freez or hang wh
-
What is the best MVC approach for designing Swing application
Hi... I am designing an client/server application. In this I am using java swing for the front-end development. We decided on using MVC approach for the front-end design. I found that there are more than one approachs for designing in MVC. Which is t
-
IMAC unexpectedly restarts itself
I was updating an IPHONE 3G for my mother to use. During the update my IMAC began restarting itself constantly. I stopped the update on the IPHONE 3. Since then, my IMAC randomely restarts itself. I have tried turning it off, removing all cords, powe
-
Can I get reimbursed for a movie rental if my Apple TV isn't playing sound?
I rented a movie and already starting playing it when I noticed my Apple TV isn't playing any kind of sound. The sound issue may take more than 24 hours to resolve, and I haven't been able to watch the movie. I've been through the Community looking f