DB links Oracle to Sql server
Hi All,
I am planning to create DB link from oracle to sql server 2005.
Please provide the doc for creating db link from oracle to sql server 2005 and also let me know is their any freeware to do the same.
Regards
It would be helpful if you could mention which platform your Oracle database is running on and which word size the OS is (32/64bit).
The free solution would be to use the Database Gateway for ODBC (=Dg4ODBC) and install it on a MS Windows platform or on Linux 64bit as for these 2 platforms Microsoft offers a free ODBC driver. On all other platforms you have to purchase an suitable ODBC drivers from a 3rd party vendor like DataDirect. I know, some people here on the Forum are using FreeTDS but this driver is not a good choice when using it in production.
Starting with the documents where you can build up a database link without additional costs:
Please have a look at the documents available on My Oracle Support portal:
How to Configure DG4ODBC (Oracle Database Gateway for ODBC) on 64bit Windows Operating Systems to Connect to Non-Oracle Databases Post Install [ID 1266572.1]
How to Configure DG4ODBC (Oracle Database Gateway for ODBC) on Windows 32bit to Connect to Non-Oracle Databases Post Install [ID 466225.1]
and
How to Configure DG4ODBC (Oracle Database Gateway for ODBC) on Windows 32bit to Connect to Non-Oracle Databases Post Install [ID 466225.1]
As mentioned for other platforms you commonly have to purchase a 3rd party ODBC driver and depending on the licensing costs this 3rd party ODBC driver might be more expensive the using Oracle's commercial product, the Database Gateway for MS SQl Server. It is designed for MS SQl Server connections and much more powerful then DG4ODBC - for example it allows you to call remote SQL Server stored procedures or to participate in distributed transaction.
Documents about DG4MSQl can be found also on Oracle's support portal.
- Klaus
Similar Messages
-
DB LINK Oracle to SQL Server SQL Server TimeStamp converts to Oracle Date
Hi All,
I have created a DB link between Oracle 10g 10.2.0.5 to SQL server 2005 using Oracle 11g gateway. When I execute a query from Oracle that selects data from SQL server using the DBLINK then the column value of type Timestamp from SQL server gets converted to Date data type in Oracle and it losses the time value.
Is there some way (in gateway configurations or in select query sql ) that the SQL server data type Timestamp gets converted to Oracle's Timestamp?
Please help.
Best Regards!
Irfan
Edited by: irf_mas on Mar 13, 2012 3:23 AMYou're getting the ORA-2070 error as the gateway that you are using is not supporting the to_timestamp function in this context. You need to rewrite the code.
Best would be if you first check out the data format that is sent as a string when you just select the date column - for example:
data_create_dt
Jan 11 2012 1:40PM
Now the easiest way is to make sure the format you are using in your where clause matches the string from the SQL Server:
select * from "data_ms_view"@FREETDS_DG4ODBC_EMGTW_11_2_0_3 where "data_create_dt"<'Jan 11 2012 1:41PM';
which will result in:
data_create_dt
Jan 11 2012 1:40PM
BTW,
it works with all formats the SQL Server understands:
SQL> select * from "data_ms_view"@FREETDS_DG4ODBC_EMGTW_11_2_0_3 where "data_create_dt">'11-JAN-12 01.40.00.000000000 AM';
data_create_dt
Jan 11 2012 1:40PM
Another way using binds:
SQL> variable datum varchar2(26);
SQL> exec select to_char(systimestamp,'MON dd yyyy hh:mi') into :datum from dual;
PL/SQL procedure successfully completed.
SQL> print datum
DATUM
MAR 19 2012 08:29
SQL> select * from "data_ms_view"@FREETDS_DG4ODBC_EMGTW_11_2_0_3 where "data_create_dt" <:datum;
data_create_dt
Jan 11 2012 1:40PM
There are several ways to get a result, just make sure you don't use an unsupported function in your statement. A list of supported functions is found in the manual. -
DB Link from Oracle to SQL Server error
Dear buddies,
I need to perfome some select on the tables which reside in SQL Server 2005 from Oracle 10g.
I followed the steps given in :
http://www.dba-oracle.com/t_heterogeneous_database_connections_sql_server.htm
I could perform a TNS ping which is successful but only when I perform a select I receive this error.
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 SQLS
I have checked that my dsn name is in small caps all the way wherever it is used(Since its suggested in many sites).
Please guide me.
I am really looking ahead for a solution.
Regards,
Nithuse the like to setup ODBC and datasource
http://www.databasejournal.com/features/oracle/article.php/3442661/Making-a-Connection-from-Oracle-to-SQL-Server.htm
and then create link server in sql server after you test connenction with oracle -
Oracle DB Link from Oracle to SQL Server
Dear buddies,
I am trying to create a dblink from Oracle to SQL Server.
This is my tnsnames.ora
sq =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=LOCALHOST)(PORT=1521)
(CONNECT_DATA=(SID=sq))
(HS=OK)
)This is my listener
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = sq)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_2)
(PROGRAM = hsodbc)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)initsq.ora
# This is a sample agent init file that contains the HS parameters that are
# needed for an ODBC Agent.
# HS init parameters
HS_FDS_CONNECT_INFO = sq
HS_FDS_TRACE_LEVEL = OFF
# Environment variables required for the non-Oracle system
#set <envvar>=<value>I have created my System DSN for sq with the appropriate values which works fine when I tested the connection.
These 2 databases are in different servers.
This is how I created the db link in Oracle
create public database link sq
CONNECT TO XXX IDENTIFIED BY "XXX"
using 'sq'
select "Column1"
from "Table1"@'sq';The error I receive is: ORA-01729: database link name expected
When I try to recreate the database link it tells me that: ORA-02011: duplicate database link name
I hope someone could guide me.
Thanks.C:\Documents and Settings\Administrator>tnsping sq
TNS Ping Utility for 32-bit Windows: Version 10.2.0.4.0 - Production on 16-AUG-2011 14:48:40
Copyright (c) 1997, 2007, Oracle. All rights reserved.
Used parameter files:
D:\oracle\product\10.2.0\db_2\network\admin\sqlnet.ora
TNS-03505: Failed to resolve name
C:\Documents and Settings\Administrator> -
Creation of database link from oracle to sql server 2000
Hi
I need to create a database link from oracle to sql server 2000.Assuming your Oracle database is running on Windows, you can set up a database link using ODBC using Heterogeneous Services and Generic Connectivity, but there are some functional limitations (i.e. no two-phase commits). If you can live with those limitations but aren't on Windows, you can generally purchase an ODBC driver for your operating system that will connect to SQL Server through someone like DataDirect and still use Generic Connectivity. If you cannot live with those limitations, you can purchase one of Oracle's Transparent Gateway products (though this can get somewhat pricey).
What version of Oracle are you on?
What operating system(s) are you using?
What are you going to use the database link for?
Justin -
Creating Database Link from Oracle to SQL Server
I am trying to create a database link from Oracle to SQL Server, and the documentation is about as clear as mud to me. Can anyone send me clear instructions on exactly what I need to do? What needs to be in tnsnames.ora and listener.ora files? Is there anything other than those two files that needs to be set up? Do I set up an ODBC connection? Anything else? I want to execute queries against a SQL Server database and load data into Oracle database.
Thanks so much,
SusanThese are the instructions from an old document I created. The steps are same for SQL Server and Sybase. Hope it helps.
The 9i Transparent Gateway Software is in Oracle Software CD -> oracle9i database -> Custom -> Oracle Transparent Gateways
The gateway can be installed on the same machine as the Oracle database or
on the Sybase server or on a third machine as a stand-alone.
We have installed the gateway software in one of oracle database
servers in a separate oracle home.
These are the steps involved in configuring a gateway to a Sybase database
1. Install Sybase client and Gateway software on the Gateway Server
2. Configure <initsidfile> in the Gateway Server's <gatewayhome>
/u00/app/oracle/product/9.2.0/tg4sybs/admin/init<gatewaysid>.ora
Sybase server and database information is required for this step.
eg: HS_FDS_CONNECT_INFO=USTRUD01.uwd
3. Add an entry in listener.ora in <listnenerhome>
(/u00/app/oracle/product/9.0.1/network/admin/listener.ora) for the <gatewaysid>
4. Edit the tnsnames file (/u00/app/oracle/product/9.0.1/network/admin/tnsnames.ora)
to add an entry <tnsalias> for the <gatewaysid>
5. Create a database link to the Sybase database in the oracle database.
The steps for creating the database link are
a. create a login oracle_tgw in the sybase server
b. add the user to the sybase database with the necessary privilege on the tables
c. create the database link in the required oracle database using the command
"create public database link <dblinkname> connect to oracle_tgw identified by password using 'tnsalias'; "
6. Restart the gateway listener. -
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 -
How to create database link from oracle to sql server
Please help with how to create database link from oracle to sql server
Best regards,
VishalPlease help with how to create database link from oracle to sql server
Best regards,
Vishal
Hi Vishal,
I found a lof of information regarding how to create a database link from Oracle to SQL Server, please see:
https://www.google.co.in/?gws_rd=cr&ei=vd3XUvGFO8TgkAXqlYCADg#q=how+to+create+database+link+from+oracle+to+sql+server
We discuss SQL Server related issue in this forum. If you have any more question regarding Oracle, please post it in Oracle communities forum for better support.
Regards,
Elvis Long
TechNet Community Support -
Oracle and SQL Server Database Link errors
I am having following error messages while setting up the ODBC connection. I want to access SQL Server tables from within Oracle8i. I have followed all the instruction of Oracle Generic Connectity document and have tested ODBC connection with ODBCPING as well as with TNSPING. Have created Database Link also within Oracle for SQL Server. But when I access the SQL Server table from within Oracle I get the following error messages.
ORA-12500: TNS:listener failed to start a dedicated server process
Could any body suggestion the solution please.
Thanks and regards,
Ghulam MallahThere is a Heterogenous Services/ Generic Connectivity forum that is probably going to have a lot more people familiar with these issues than you'll find in this forum. I would suggest posting over there.
Justin -
Database link between oracle and sql server
dear all,
i m a newbie to oracle and i need your help to know how to create a database link between oracle and sql server.my oracle version 10.2.0.3 and platform is redhat linux 5.7.your help appreciated.
thanks in advance.[oracle@localhost ~]$ rpm -qa | grep -i odbc
php-odbc-4.3.9-3.15
unixODBC-kde-2.2.11-1.RHEL4.1
MyODBC-2.50.39-21.RHEL4.1
postgresql-odbc-7.3-8.RHEL4.1
freeradius-unixODBC-1.0.1-3.RHEL4.3
qt-ODBC-3.3.3-9.3
unixODBC-devel-2.2.11-1.RHEL4.1
unixODBC-2.2.11-1.RHEL4.1
is this showing odbc installed in os? -
Connecting from Oracle to SQL Server
Hi
I am now tring to connect from oracle to sql server using database link.
Created database link
but when connecting to remote db getting the floowing error
select * from region@mysqlserverdsn
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 MYSQLSERVERDSN
Can anyone help
My Listener File
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc1)
(SID_DESC =
(GLOBAL_DBNAME = ORCL.DOMAIN.COM)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = orcl)
(SID_DESC =
(GLOBAL_DBNAME = NORTHWIND.DOMAIN.COM)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = MYSQLSERVERDSN)
(PROGRAM=hsodbc)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = SALIHKM.DOMAIN.COM)(PORT = 1522))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
My Tnsnames Entry
MYSQLSERVERDSN =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=xxx.xxx.xxx.xxx)(PORT=1522))
(CONNECT_DATA=(SID=MYSQLSERVERDSN))
(HS=OK)
Lsnrctl is working fine.
c:\>lsnrctl start
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 18-MAY-2006 18:53
:13
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting tnslsnr: please wait...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
System parameter file is D:\oracle\product\10.2.0\db_1\network\admin\listener.or
a
Log messages written to D:\oracle\product\10.2.0\db_1\network\log\listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=SALIHKM.DOMAIN.COM)(POR
T=1522)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROCipc)
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SALIHKM.DOMAIN.COM)(POR
T=1522)))
STATUS of the LISTENER
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
Start Date 18-MAY-2006 18:53:16
Uptime 0 days 0 hr. 0 min. 3 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File D:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
Listener Log File D:\oracle\product\10.2.0\db_1\network\log\listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=SALIHKM.DOMAIN.COM)(PORT=1522)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROCipc)))
Services Summary...
Service "NORTHWIND.DOMAIN.COM" has 1 instance(s).
Instance "MYSQLSERVERDSN", status UNKNOWN, has 1 handler(s) for this service..
Service "ORCL.DOMAIN.COM" has 1 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
But Tnsping show no listener
C:\>tnsping MYSQLSERVERDSN
TNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 18-MAY-2
006 18:56:27
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
D:\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=xxx.xxx.xxx.xxx)(P
ORT=1522)) (CONNECT_DATA=(SID=MYSQLSERVERDSN)) (HS=OK))
TNS-12541: TNS:no listener
Services
C:\>lsnrctl services
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 18-MAY-2006 19:00
:04
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SALIHKM.DOMAIN.COM)(POR
T=1522)))
Services Summary...
Service "NORTHWIND.DOMAIN.COM" has 1 instance(s).
Instance "MYSQLSERVERDSN", status UNKNOWN, has 1 handler(s) for this service..
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Service "ORCL.DOMAIN.COM" has 1 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:1 refused:0 state:ready
LOCAL SERVER
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1002 state:ready
DISPATCHER <machine: SALIHKM, pid: 2080>
(ADDRESS=(PROTOCOL=tcp)(HOST=SALIHKM.DOMAIN.COM)(PORT=1070))
Service "orcl_XPT" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:1 refused:0 state:ready
LOCAL SERVER
The command completed successfully
I am very much confused with this situation.
Thanks & Regards
Salih KmHi ,
Thanks for your reply.
Contents of my initMYSQLSERVERDSN.ora file is
# This is a sample agent init file that contains the HS parameters that are
# needed for an ODBC Agent.
# HS init parameters
HS_FDS_CONNECT_INFO = MYSQLSERVERDSN
HS_FDS_TRACE_LEVEL = 0
HS_FDS_TRACE_FILE_NAME = hsmsql.trc
# Environment variables required for the non-Oracle system
#set <envvar>=<value>
set ODBCINI=c:\WINDOWS\ODBC.INI
SALIHKM.DOMAIN.COM is my system in which Oracle Test DB is Installed.
SQL Server is in another location.
In Tnsnames i specified ip address.
One more doubt.
I am using 10g Release 2 demo version.
whether it will support Hetrogeneous Services?
How to know whether a database supports HS or not?
Thanks & Regards
Salih Km -
Oracle 10gR2 64bit odbc from oracle to sql server Win 2008 EE 64bits
Hi, I am having trouble with a 10gR2 64bits creation of odbc from oracle to sql server, I have follow several instruction with no luck at all. My OS is windows 2008 EE 64bits on the oracle and sql server server.
This is what I have done
1. in the $oracle_home/hs/admin directory
inithsodbc.ora
# HS init parameters
HS_FDS_CONNECT_INFO = hsodbc
HS_FDS_TRACE_LEVEL = off
2. in the $oracle_home/network/admin
# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
(SID_DESC=
(SID_NAME=hsodbc)
(ORACLE_HOME=C:\oracle\product\10.2.0\db_1)
(PROGRAM=C:\oracle\product\10.2.0\db_1\hs\hsodbc)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
And the tnsname.ora
# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
PRUEBA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = prueba)
hsodbc =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=xx.xx.xx.xx)(PORT=1521))
(CONNECT_DATA=(SID=hsodbc))
(HS=OK)
I create the odbc connection an test it , the result is TEST PASSED
4. The i create a database link on my database
CREATE PUBLIC DATABASE LINK XYZ
CONNECT TO "sysdba" IDENTIFIED BY "masterkey"
USING 'hsodbc';
5 execute a select
SQL> select * from dual@XYZ;
select * from dual@XYZ
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 XYZ
6. When I check the listener log i'm getting this error
25-MAR-2011 11:48:40 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=Administrator))(COMMAND=status)(ARGUMENTS=64)(SERVICE=LISTENER)(VERSION=169870592)) * status * 0
25-MAR-2011 11:48:47 * (CONNECT_DATA=(SID=hsodbc)(CID=(PROGRAM=)(HOST=PRO)(USER=PRO\Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=xx.xx.xx.xx)(PORT=49329)) * establish * hsodbc * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
Edited by: user626125 on Mar 26, 2011 11:39 AM
Edited by: user626125 on Apr 12, 2011 2:49 PMHeterogeneous Connectivity
-
Hetrogeneoues connection between Oracle and SQL server
Hi ,
I am having Issues in Making Heterogeneous DB link between Oracle Xe and sql server .
Here is the scenario-
My Oracle and ms SQL 2003 are running on same machine(windows 2003) ,
I have followed this link and reached till 5 but I am not able to tnsping the SQLSERVER DNS entry .
http://www.databasejournal.com/features/oracle/article.php/3442661/Making-a-Connection-from-Oracle-to-SQL-Server.htm
Below are my lintener and tnsfiles
LISTENER.ORA
===========================================================================================================================================================
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\oraclexe\app\oracle\product\11.2.0\server\bin\OraClr11.dll")
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
LISTENERSQL =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1522))
SID_LIST_LISTENERSQL=
(SID_LIST=
(SID_DESC =
(SID_NAME = SQLSRVRDBLNK)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = hsodbc)
===========================================================================================================================================================
TNSNAMES.ORA
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = testenviroment)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
SQLSRVRDBLNK =
(DESCRIPTION=
(ADDRESS= (PROTOCOL=tcp)(HOST=localhost)(PORT=1522))
(CONNECT_DATA=(SID=SQLSRVRDBLNK)
(HS=OK)
========================================================================================================================================================
Listner Status
C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN>lsnrctl status LISTENERSQL
LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 - Production on 19-JUL-2013 13:15:59
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
STATUS of the LISTENER
Alias LISTENERSQL
Version TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Production
Start Date 19-JUL-2013 12:17:39
Uptime 0 days 0 hr. 58 min. 24 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\listener.ora
Listener Log File C:\oraclexe\app\oracle\diag\tnslsnr\testenviroment\listenersql\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\PNPKEYipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1522)))
Services Summary...
Service "SQLSRVRDBLNK" has 1 instance(s).
Instance "SQLSRVRDBLNK", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
=========================================================================================================================================================
Now If I try to Tnsping SQL heterogeneous connection , i get
C:\oraclexe\app\oracle\product\11.2.0\server\network\ADMIN>tnsping SQLSRVRDBLNK
TNS Ping Utility for 32-bit Windows: Version 11.2.0.2.0 - Production on 19-JUL-2013 13:17:47
Copyright (c) 1997, 2010, Oracle. All rights reserved.
Used parameter files:
C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION=
TNS-12533: TNS:illegal ADDRESS parameters
Need Help , please suggest
Thanks,
ManishHi ,
Thanks for the update I have changed the Listener as suggested , now my Listener File is
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
(SID_DESC =
(SID_NAME = SQLSRVRDBLNK)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = hsodbc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\oraclexe\app\oracle\product\11.2.0\server\bin\OraClr11.dll")
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.60.146)(PORT = 1521))
(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1522)))
========================================================================================================================
and tns entry
SQLSRVRDBLNK =
(DESCRIPTION=
(ADDRESS= (PROTOCOL= TCP)(HOST=192.168.60.146)(PORT=1522))
(CONNECT_DATA=(SID=SQLSRVRDBLNK)
(HS=OK)
========================================================================================================================
Restarted the listener
C:\Documents and Settings\Administrator>lsnrctl start LISTENER
LSNRCTL for 32-bit Windows: Version 11.2.0.2.0 - Production on 20-JUL-2013 12:27:38
Copyright (c) 1991, 2010, Oracle. All rights reserved.
Starting tnslsnr: please wait...
TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Production
System parameter file is C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\listener.ora
Log messages written to C:\oraclexe\app\oracle\diag\tnslsnr\testenviroment\listener\alert\log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.60.146)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\PNPKEYipc)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1522)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 11.2.0.2.0 - Production
Start Date 20-JUL-2013 12:27:44
Uptime 0 days 0 hr. 0 min. 5 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\listener.ora
Listener Log File C:\oraclexe\app\oracle\diag\tnslsnr\testenviroment\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.60.146)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\PNPKEYipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1522)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "SQLSRVRDBLNK" has 1 instance(s).
Instance "SQLSRVRDBLNK", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
========================================================================================================================
Still Getting the same Error
C:\Documents and Settings\Administrator>tnsping SQLSRVRDBLNK
TNS Ping Utility for 32-bit Windows: Version 11.2.0.2.0 - Production on 20-JUL-2013 12:27:52
Copyright (c) 1997, 2010, Oracle. All rights reserved.
Used parameter files:
C:\oraclexe\app\oracle\product\11.2.0\server\network\admin\sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION=
TNS-12533: TNS:illegal ADDRESS parameters
C:\Documents and Settings\Administrator>
========================================================================================================================
Do we need to change any thing in sqlnet.ora file for heterogeneous connection?
Thanks ,
Manish -
Developing database views between Oracle and SQL Server tables
I am on Oracle 10.2, my organization has many SQL Server databases as well and has now made
SQL server as company standard so many new databases will be developed in SQL Server. It is of course
not possible to convert all Oracle databases to SQL Server, so a mix environment will exist. Two questions:
1. Is it possible to develop database views in Oracle (10g in my case) which join Oracle tables with tables in SQL Server 2008? If yes, how. I have seen some heterogeneous connectivity setup to connect SQL Server to Oracle, but not sure whether it is possible to develop a database view across two databases.
2. I know it is not a SQL Server forum, but many DBA’s know both Oracle and SQL Server. Is it possible to develop views in SQL Server (SQL Server 2008 R2 in my case) which join Oracle 10g and SQL Server 2008 tables? I know in SQL Server, there is way to set up linked servers, but do not know whether it is possible to develop views.
Thanks a lot for your insight.You can create views that join local Oracle tables and remote SQL Server tables. I'm pretty sure you can do the reverse as well but I haven't personally done it.
However, I would be very concerned about the performance you'd get if you created that sort of view. You'd very frequently end up in a situation where Oracle has to pull all the data in the remote table across the database link in order to apply predicates and join the data locally. That could be disastrous from a performance standpoint.
Justin -
ORA-28546: (oracle to SQL server 2005)
Hi all,
I followed the following below ariticle in dbasupport and dbajournal for about connectivity from Oracle Server 10.1.0.2.0 to SQL Server 2005
http://www.dbasupport.com/oracle/ora10g/connection01.shtml
http://www.databasejournal.com/features/oracle/article.php/3442661/Making-a-Connection-from-Oracle-to-SQL-Server.htm
i configured the listener.ora ,tnsnames.or and inityscco2.ora
$ cat listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/101/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = yscc02)
(ORACLE_HOME = /u01/app/oracle/product/101)
(PROGRAM = extproc)
(SID_DESC =
(SID_NAME = yscc02)
(ORACLE_HOME = /u01/app/oracle/product/101)
(PROGRAM = hsodbc)
(ENVS = "LD_LIBRARY_PATH=/u01/app/oracle/product/101/lib32:/usr/lib:/u01/app/oracle/product/101/hs/lib32")
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ysccapps.yamama.com)(PORT = 1521))
LISTENERYSCCAPPS =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=100.100.50.5)(PORT=1522))
(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))
SID_LIST_LISTENERYSCCAPPS=
(SID_LIST=
(SID_DESC=
(SID_NAME= yscapps)
(ORACLE_HOME = /u01/app/oracle/product/101 )
(PROGRAM=hsodbc)
$lsnrctl status listener
LSNRCTL for IBM/AIX RISC System/6000: Version 10.1.0.2.0 - Production on 20-JUN-2010 14:03:22
Copyright (c) 1991, 2004, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
Alias listener
Version TNSLSNR for IBM/AIX RISC System/6000: Version 10.1.0.2.0 - Production
Start Date 15-JUN-2010 14:49:05
Uptime 4 days 23 hr. 14 min. 17 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/101/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/101/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ysccapps.yamama.com)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ysccapps.yamama.com)(PORT=8080))(Presentation=HTTP)(Session=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ysccapps.yamama.com)(PORT=2100))(Presentation=FTP)(Session=RAW))
Services Summary...
Service "yscc02" has 1 instance(s).
Instance "yscc02", status UNKNOWN, has 2 handler(s) for this service...
Service "yscc02.ysccapps.yamama.com" has 1 instance(s).
Instance "yscc02", status READY, has 1 handler(s) for this service...
Service "yscc02XDB.ysccapps.yamama.com" has 1 instance(s).
Instance "yscc02", status READY, has 1 handler(s) for this service...
The command completed successfully
$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/101/network/a
dmin/tnsnames.ora
# Generated by Oracle configuration tools.
YSCCAPPS1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ysccapps.yamama.com)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = yscc02)
(HS = OK)
$tnsping ysccapps1
TNS Ping Utility for IBM/AIX RISC System/6000: Version 10.1.0.2.0 - Production on 20-JUN-2010 14:04:43
Copyright (c) 1997, 2003, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ysccapps.yamama.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SID = yscc02)) (HS = OK))
OK (0 msec)
$ sqlplus new/password@ysccapps1
SQL*Plus: Release 10.1.0.2.0 - Production on Sun Jun 20 14:07:01 2010
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL>
$ cat inityscc02.ora
This is a sample agent init file that contains the HS parameters that are
# needed for an ODBC Agent.
# HS init parameters
HS_FDS_CONNECT_INFO = yscc02
HS_FDS_TRACE_LEVEL = off
HS_FDS_SHAREABLE_NAME = <full path name of odbc driver manager or driver>
# ODBC specific environment variables
set ODBCINI=<full path name of the odbc initilization file>
and i had created database link like
SQL>create database link ysccapps1
connect to "sa" identified by "passwad"
using 'ysccapps1';
SQL> select * from [email protected];
select 8 from [email protected]
ERROR at line 1:
ORA-28546: connection initialization failed, probable Net8 admin error
ORA-28511: lost RPC connection to heterogeneous remote agent using SID=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=y
sccapps.yamama.com)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SID=yscc02)))
ORA-02063: preceding 2 lines from YSCCAPPS1
Please assist me . i need to periodically pull data from Oracle server to Sql server
Best RegardsFirst of all please be aware HSODBC has been desupported since 15th of March 2008. When starting a new project you should start with a supported product and this product is called DG4ODBC and it is available as release 11.
Looking at the provided listener it shows several configurations issues.
Have a lokk at yout tnsnames.ora => you mentioned to use the listener servicing port 1521.
This Listener serves 2 SIDs with the same name:
SID_DESC =
(SID_NAME = yscc02)
(ORACLE_HOME = /u01/app/oracle/product/101)
(PROGRAM = extproc)
(SID_DESC =
(SID_NAME = yscc02)
(ORACLE_HOME = /u01/app/oracle/product/101)
(PROGRAM = hsodbc)
(ENVS = "LD_LIBRARY_PATH=/u01/app/oracle/product/101/lib32:/usr/lib:/u01/app/oracle/product/101/hs/lib32")
So when you now connect, the listener does not know which service to spawn. Please check out Metalink note:
Note.238771.1 How to Setup Generic Connectivity - HSODBC - on AIX
when you want to continue using HSODBC although I strongly recommend you to use DG4ODBC which is configured as mentioned in Metalink note:
Note.561033.1 How to Setup DG4ODBC on 64bit Unix OS (Linux, Solaris, AIX, HP-UX)
Maybe you are looking for
-
Hi What is the purpose behind creating new document types for PR/PO/contact ? as i understood 1. u may need to define different document types for diff company codes according to client needs, to differentiate them better 2. u can assign diff interna
-
Example of config task list available ??
I try to create a config task list but it's not working ? I created charateristics with CT04 (with one field zamount) linked to a class created with CL02 created a general task made a configuration profile for the general task with CU41 but when I en
-
PDF Merging and font dropping issue
Please advise me the difference between the process of combine PDF and single page insertion in existing PDF through Adobe Acrobat. The reason being in single page insertion we are experiencing font drop issues whereas when we use combine PDF option
-
Trying to reinstall Lightroom 5 on a new computer
Purchased Lightroom 5 in 2013. Now trying to install on a new laptop and it says my serial number is invalid contact support. As per above (opps) From the creative cloud all I can download is a 30 day trail.
-
notification bar and control centre not working by sliding on the screen and when u restart it works fine for 4-5 days then again the problem persists