Oracle to SQL Server DB Link (64-bit)
Dear all,We must create a link db Oracle 10 g 2 (10.2.0.1 to 64 bits, Windows 2003) to SQL Server 2008 (64-Bit Windows 2008 R2). We followed the steps on test servers (SQL Server 2005 and Oracle 10 g 2 both on 32-bit Windows) using the following method:
Create ODBC Oracle DB server for SQL Server
Create inithsodbc.ora in < Oracle_Home >/hs/admin
modify the TNSNAMES. File ORA to add Alias TNS for ODBC
Change SQLNET. AUTHENTICATION_SERVICES None in SQLNET. ORA
Change the listener.ora file to change SID_LIST_ < ListenerName > and reloaded the listener
Everything has worked out perfectly well.
But when we followed the same steps of Production (64-bit environments), we get errors. Here is the content of the files:
*(1)*
inithsodbc.ora
HS_FDS_CONNECT_INFO = testodbc
HS_FDS_TRACE_LEVEL = off
*(2)*
Listener.ora (partial content)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
(= Extproc PROGRAM)
)
(SID_DESC =
(SID_NAME = hsodbc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = hsodbc)
)
)
After reloading the listener, I can see:
Service "hsodbc" has 1 instance (s).
"Hsodbc" instance, status UNKNOWN, has 1 operation for this service...
*(3)*
TNSNAMES. ORA (partial content)
HSODBC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP) (HOST = < servername >) (PORT = < Port >))
)
(CONNECT_DATA =
(SID = hsodbc)
)
(HS = OK)
)
*(4)*
SQLNET. ORA
#SQLNET. AUTHENTICATION_SERVICES = (NTS)
SQLNET. AUTHENTICATION_SERVICES = (NONE)
NAMES. DIRECTORY_PATH = (TNSNAMES, EZCONNECT)
SQLNET. INBOUND_CONNECT_TIMEOUT = 180
*(5)*
SQL > create database testdb connection connect to < user name > identified by < Pwd > using "hsodbc."
Database link created.
SQL > SELECT count (*) FROM < TableName > @testdb;
SELECT count (*) FROM < TableName > @testdb
*
ERROR on line 1:
ORA-28545: error diagnosed by Net8 when connecting to an agent
Cannot retrieve the text of the message NETWORK/NCR 65535
ORA-02063: preceding 2 lines TESTDB
Could you please help me solve this problem?
Kind regards
HSODBC was never focused on 64-bit Linux - this is the reason why it does not work.
As an alternative, you can use product tracking HSODBC called database for ODBC (DG4ODBC) gateway. You can download DG4ODBC version 11.2 of OTN, delivery or My Oracle Support and then install DG4ODBC in its OWN Oracle_home, different from your Oracle database (if you install DG4ODBC 11 in an existing Oracle_Home 10.2 you will corrupt this 10.2 OH!).
Configuration is similar to HSODBC - the name of the executable in the SID the listener.ora section is different (program = dg4odbc) instead of (program = hsodbc).
DG4ODBC is certified with Oracle database version 10.2.0.4/5 - so please make sure that you also apply the required patches from database group to your Oracle database.
Tags: Database
Similar Questions
-
Unlike char in ORACLE and SQL SERVER
Hello gurus,
I tried to querying data from Oracle to sql server through linked server, but get me an error! set length corresponds to the error! I know there are CHAR data type in sql server and thus as in oracle.
But when I use the CAST FUNCTION with CHAR it works fine
----- error code select * from openquery( linkoracle11 select col1, col2, col3 from test_table ) -- say col3 char(1) -- data type
I was wondering, what is the difference between oracle and sql server for the CHAR data type?-- working code select * from openquery ( linkoracle 11 select col1, col2, cast (col3 as char(1)) as col_3 from test_table )
The gurus of the idea?
Thank youWhat is the error you get?
What is the characters in database and NLS_LENGTH_SEMANTICS game on your Oracle system?
SELECT * FROM v$nls_parameters WHERE name LIKE '%CHARACTERSET'; SQL> SHOW PARAMETER nls_length_semantics;
What is the character set of data in SQL Server?
If your local database is a variable length character set (like UTF8) and NLS_LENGTH_SEMANTICS is set to (default) BYTES, a char (1) allocate 1 byte of storage which may not be sufficient for a single character. The receiving application may need to allocate a buffer with 3 times more many bytes as there are characters in order to ensure that it will be able to process the result. I don't know why add an implicit CAST that would change, but since we are several levels removed from the code to figure out how large a buffer to allocate, it is not very surprising.
Justin
-
Links of DB Oracle to Sql server
Hi all
I intend to create DB connection from oracle to sql server 2005.
Please provide the doc to create db connection from oracle to sql server 2005 and also made me know is their any freeware to do the same thing.
ConcerningIt would be useful you might mention what platform works on your Oracle database and word size of the OS (32/64 bit).
The free solution would be to use the database for ODBC (= Dg4ODBC) gateway and install it on a platform of MS Windows or Linux 64-bit with regard to these 2 platforms that Microsoft offers a free ODBC driver. On all other platforms, you can buy an ODBC drivers appropriate from a 3rd party such as DataDirect provider. I know, some people here on the Forum use FreeTDS but this driver is not a good choice when using it in production.
Beginning with the documents where you can create a link to database free of charge:
Please take a look at documents available on the My Oracle Support Portal:
How to set up DG4ODBC (gateway for ODBC Oracle database) on 64-bit Windows operating systems to connect to Oracle databases Post Install [1266572.1 ID]
How to set up DG4ODBC (gateway for ODBC Oracle database) on 32-bit Windows to connect to Oracle databases Post Install [466225.1 ID]
and
How to set up DG4ODBC (gateway for ODBC Oracle database) on 32-bit Windows to connect to Oracle databases Post Install [466225.1 ID]As mentioned for other platforms, you can usually buy a 3rd party ODBC driver and according to licensing costs this 3rd ODBC driver may be more expensive the using commercial product Oracle, MS SQl Server database gateway. It is designed for MS SQl Server connections and much more powerful then DG4ODBC - for example it allows you to call SQL Server stored procedures remotely or to participate in the distributed transaction.
Documents on the DG4MSQl are also on the support of Oracle Portal.-Klaus
-
Oracle 10 g 2 64 bit odbc to oracle to sql server Win 2008 EE 64 bit
Hi, I have a problem with a creation of 64-bit 10 g oracle to sql server odbc 2, I have several instructions with no luck at all. My OS is windows 2008 EE 64 bit on the server oracle and sql server.
That's what I did
1. in the directory of $oracle_home/hs/admin
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)
(= Extproc PROGRAM)
)
(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 = CIP)(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 = test)
)
)
hsodbc =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST=xx.xx.xx.xx) (PORT = 1521))
(CONNECT_DATA = (SID = hsodbc))
(HS = OK)
)
I create the connection odbc test, the result is TEST PASSED
4. the i create a database on my database link
CREATE THE DATABASE LINK XYZ PUBLIC
CONNECT to 'sysdba' IDENTIFIED BY 'masterkey '.
Using "hsodbc."
5. run a select
SQL > select * from dual@XYZ;
Select * from dual@XYZ
*
ERROR on line 1:
ORA-28545: error diagnosed by Net8 when connecting to an agent
Cannot retrieve the text of the message NETWORK/NCR 65535
ORA-02063: preceding 2 lines of XYZ
6. when I check the log of the listener, I get this error
March 25, 2011 11:48:40 * (CONNECT_DATA = (CID = (PROGRAM =)(HOST=) (USER = Administrator)) (COMMAND = status)(ARGUMENTS=64) (SERVICE = LISTENER) (VERSION = 169870592)) * status * 0
March 25, 2011 11:48:47 * (CONNECT_DATA = (SID = hsodbc) (CID = (PROGRAM =) (HOST =)(USER=PRO\Administrator) PRO)) * (ADDRESS = (PROTOCOL = tcp (PORT = 49329))(HOST=xx.xx.xx.xx)) * establish * hsodbc * 12518
TNS-12518: TNS:listener could not hand off client connection
AMT-12560: TNS:protocol adapter error
AMT-00530: Protocol adapter error
Published by: user626125 on March 26, 2011 11:39
Published by: user626125 on April 12, 2011 14:49I guess the point of the answer above was to close and move this thread to the appropriate forum.
-
DB Link from Oracle to SQL Server error
Dear friends,
I need met some select on tables that are in SQL Server 2005 from Oracle 10 g.
I followed the steps:
http://www.DBA-Oracle.com/t_heterogeneous_database_connections_sql_server.htm
I could ping TNS who is successful, but only when I run a select I get this error.
ERROR on line 1:
ORA-28545: error diagnosed by Net8 when connecting to an agent
Cannot retrieve the text of the message NETWORK/NCR 65535
ORA-02063: preceding 2 lines of SQLS
I checked my dsn name is in small caps completely everywhere where it is used (since its proposed in many sites).
Please guide me.
I'm looking for really come to a solution.
Kind regards
Nithsimilar use 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 server link in sql server after testing WLAN with oracle -
Deployment of SQL Server 2008 Enterprise (64-bit)
Is it possible to deploy SQL Server 2008 Enterprise (64-bit) on the virtual machine (using vmware workstation 8) running windows server 2003 as a guest operating system?
Since then, Miicrosoft says "SQL Server 2008 is supported in environments of VMS running on the Hyper-V role in Windows Server 2008 R2 and Windows Server 2008 Standard, Enterprise and data center."
If necessary please refer to the following link http://TechNet.Microsoft.com/en-us/library/ms143506 (SQL.100) .aspx
Grateful for your help!
For the test, you can use the Windows 2008 R2 trial version. Tracks for 180 days. I don't remember that you actually have a Windows 2003 64 biit as a trial version. So I am doing all my tests with the final tests of Microsoft (Windows Server 2008 R2, Windows 7 and the application server).
-
Number of databases such as Oracle and SQL Server in the same application ADF
Hello
In my application, I need to use two different databases such as Oracle and SQL Server. There are screens that I need to develop in the ADF where I need to involve fields of the tables in these two different databases. I just want to know - is it possible to do so in application of the ADF?
Or to create a sort of link between these databases in the backend? Then create a view object involving some distributed SQL queries. What can I do with this type of request than anything? I mean, can I use the two insert or update operation using this VO?
Or y at - it another way to do this?
Please help, help here would be really appreciated. I've been stuck with this problem for a while now. I did search our forums for the same problem, but was not able to find a reliable solution.
Thank you
VijayIt's still not clear to me if you need two db tables in a query, or a transaction.
If this is the case, your best option (to my knowledge) is to use a db link. in this way, you only need to access (for example the oracle db) and can access the objects from the other data from the oracle database.
I don't understand
>
(3) a model project with a meeting of the two datasource. I selected a data source and created OT and VO. When I have selected a different data source and select tables to create VO and EO and finished but these EO and VO is displayed in project. >(2) If you need to link data from these two dbs you can not use this approach (see the note at the top of the post)
Timo
-
Sort of the differences between Oracle and SQL Server
Hi all
This question is linked by both Oracle and SQL Server
I have a requirement where I want to compare 2 tables line by line. A table is in Oracle and other table in SQL Server
And suppose that both tables do not have a primary key. Now when I sort records by using the order by clause for a column, then-
Rows with null values in that column of Oracle are placed in the background.
When that rows with null values in the same column in SQL Server are placed right at the top.
How can I make one of them to behave like any other.
My only goal is to have same order of lines in Oracle and SQL Server tables so that I can compare line by line.YADQ: Yet another Doc Question
Can you please avoid them?
Take your SQL reference manual, search for the ORDER BY clause and notice that it has
NULL FIRST or LAST values NULL values.------------
Sybrand Bakker
Senior Oracle DBA -
ODBC SQL Server for Solaris 64-bit drivers
Does anyone know if there is a driver available for ODBC SQL Server for Solaris 64 bit server?
Thank you
CB
[edit: moved to SQL Server questions]
Ask the question in the SQL Server forums:
http://social.msdn.Microsoft.com/forums/SQLServer/en-us/home?category=SQLServer -
Data migration from Oracle to SQL Server
Hello
I have the Oracle database in one or several table, I also blob data, i.e. images are stored, now I want to move that data to the sql server database, which is the best way to do this?
I would like to test for a migration of the table that contains the image data in the Oracle database and invade the SQL Server table.
How to test for an Oracle table data to SQL Server migration?
But the first thing I want to confirm is that if the Image from Oracle DB to SQL Server DB data are possible? is there something must be supported during the migration?
Thanks in advance.
Kind regards
Vishal
Published by: 968331 on October 31, 2012 02:31I think that it is supported. The equivalent data type in sql server is IMAGE/varbinary (max)
See the bottom of the article for the mapping of data types:
http://weblogs.sqlteam.com/jamesw/archive/2010/07/28/datatypes-translation-between-Oracle-and-SQL-Server-part-1.aspx
-
When importing data from SQL Server 2005 to Oracle 11 g Release2 gateway, I get following error:
insert into CSDescr select * from CSDescr@sqlserver
*
ERROR on line 1:
ORA-28500: connection between ORACLE and a non-Oracle system has sent this message:
[Oracle] [ODBC SQL Server driver] string data, right truncation + {01004} +.
ORA-02063: preceding 2 lines from SQLSERVER
Oracle database characterset is AL32UTF8
SQLServer database characterset is SQL_Latin1_General_CP1_CI_AS
Here is the configuration file for the gateway settings:
HS_KEEP_REMOTE_COLUMN_SIZE = LOCAL
HS_NLS_LENGTH_SEMANTICS = CHAR
I think that the definition of the parameter HS_LANGUAGE must correct the error, but I want to know what should be the value of this setting?HS_LANGUAGE must be set to a character set used by the foreign database
Try: HS_LANGUAGE = american_america. WE8MSWIN1252
Also specify HS_NLS_NCHAR = UCS2 nvarchars of SQl Server are stored in the UCS2 character set -
I use the oracle gateway (11.1) to sqlserver on Linux platform with the Oracle 10 g server.
I'm getting following error when I run a select query:
ORA-28500: connection between ORACLE and a non-Oracle system has sent this message:
[Oracle] [ODBC SQL Server driver] [libssclient22] General network error. Check your network documentation. [Oracle] [ODBC SQL Server driver] [libssclient22] ConnectionOpen(connect()) (connect()). [Oracle] [ODBC SQL Server driver] Invalid connection string attribute
ORA-02063: preceding 2 lines from SQLSERVER
Another thing is, I've created an ODBC DSN named "sqlserver" as well. This configuration works well when the parameter "program" dg4odbc in Listener.ora. But with dg4msql, it gives an error.
Here are the configuration files:
-----------------
initsqlserver.ora
-----------------
#
# HS init parameters
#
HS_FDS_CONNECT_INFO = database_machine:1433 / / test_master
HS_FDS_TRACE_LEVEL = OFF
HS_FDS_RECOVERY_ACCOUNT = RECOVERY
HS_FDS_RECOVERY_PWD = RECOVERY
------------
Listener.ora
------------
SID_LIST_sqlserver =
(SID_LIST =
(SID_DESC =
(SID_NAME = sqlserver)
(ORACLE_HOME = u01/app/oracle/product/11.1.0.6.0/gateway)
(PROGRAM = dg4msql)
)
)
SqlServer =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = Server_Machine)(PORT = 1522))
(ADDRESS = (PROTOCOL = CIP)(KEY = PNPKEY))
)
)
------------
tnsnames.ora
------------
SQLSERVER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = Server_Machine)(PORT = 1522))
(CONNECT_DATA =
(SID = sqlserver)
)
(HS = OK)
)Hello
The error you are getting is because your HS_FDS_CONNECT_STRING is not correct:
Don't forget you can ping the SQL SERVER name of the Oracle server command, or use the TCP/IP address
Check the port, it is not necessary 1433.
You can use the name of the instance instead of the port:
HS_FDS_CONNECT_STRING = server_ip_address/instance_name/database_nameBe careful, in the LISTENER. ORA, you must specify the gateway machine and not the SQL SERVER machine:
SqlServer =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = Gateway_Machine)(PORT = 1522))<====you must="" specify="" oracle="" gateway="">====you>
(ADDRESS = (PROTOCOL = CIP)(KEY = PNPKEY))
)
)Ditto for TNSNAMES. ORA:
SQLSERVER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = Gateway_Machine)(PORT = 1522))
(CONNECT_DATA =
(SID = sqlserver)
)
(HS = OK)
)Concerning
Mireille
-
Hi all
I need to create a dblink, Oracle 10 g to MS SQL Server 2005. I looked for more information on inet to this topic, but I couldn't find a complete article about how to set up a kind of dblink.
Any of you know where I can read about it? Some article, doc or any source is OK.
Thank you for the ind...This aid cannot:
use generic connecitivty that ships free with oracle for heterogeneous service.
http://www.databasejournal.com/features/Oracle/article.php/3442661/making-a-connection-from-Oracle-to-SQL-Server.htm
http://www.Oracle-base.com/articles/9i/HSGenericConnectivity9i.php
http://www.DBA-Oracle.com/t_heterogeneous_database_connections_sql_server.htm -
corresponding data types n/b oracle and sql server
everyone here knows that if there is a list of the data types supported by oracle and sql server (no matter releases and versions?
an immediate response would be appreciated.
Thank you.Hello
Next post might be useful for you:
http://msdn.Microsoft.com/en-us/library/ms151817.aspx
If that's what you're looking for, then mark the question answered and closed.
Kind regards
Naveed. -
Connection from Oracle to Sql Server (64-bit on Windows 2003)
Hello
I want to install heterogeneous connectivity between our Oracle 10 g version 10.0.2.0.1 (on 64-bit Windows 2003) to a SQL Server on another computer on the network. I found that HSODBC is removed, and that this is is not supported on 64-bit Windows systems. So, I couldn't make it work obviously.
It is even possible to set up a heterogeneous connectivity in our situation (using DG4ODBC or something?)
If so, could someone point me in the right direction on where to start?
Thank you!
(I'm not a dba, previous attempt using hsodbc cost me two weeks before finding out that it doesn't even work...)
Edit:
Oh, and it is possible to display the Metalink notes as (Metalink Note: 361676.1, is generic connectivity available on The LINUX or Windows 64 - bit Platforms?) without a support contract? Or only customers with a support contract have the right to know that some features are not available?
Published by: user574699 on March 18, 2009 06:24According to your last update, your actions are:
1.) upgrade Oracle on SERVER1 to 10.2.0.4.0-online Yes
2.) DG4ODBC is not certified to run on SERVER1, then I should install on SERVER2 tell you? That there is no installed Oracle... ?
Yes, install it on the server of SQL Server 32-bit.The gateway comes with a complete Oracle SQL * Net listener. Just so install the 32-bit to SQL Server and configure the Oracle listener as well as the bridge and the ODBC driver.
Now on the Oracle database server adds a TNSNAMES file. Entry of ORA that points the listener to the Oracle of the gateway on the SQL Server computer. The link of database within the 10 g, which oracle databased then connects using tnsnames.ora alias in the SQL Server computer that has an active Oracle listener that generates connection DG4ODBC. DG4ODBC executable load DG4ODBC configuration file and connects to SQL Server you have configured.The Oracle gateway are very flexible. You don't need to install them on the Oracle database machine. They can be installed independently; even on a 3rd machine if you do not want to touch the SQL Server computer. In this case, the scenario is similar as described above; only difference now is the driver ODBC to connect to a SQL Server computer on a remote host.
Maybe you are looking for
-
Then the family goes back to the same iCloud account?
Then the family goes back to the same iCloud account?
-
I have a problem with my safari alerts. They recently began to look weird. As the sale won't and I don't know exactly what it is. I'm on Safari 9.1 or OS X 10.11.4 and it is their appearance. Any of you guys can help me? Thank you!
-
Windows Vista 32-bit Windows Installer will not work. "Windows Installer are not available"
I've seen other answers for it but when I go to my list of services. Windows Installer does not appear on the list of Services. Does anyone know how to fix this?
-
Error 0 x 80070534 when you try to save the system from Vista to XP Pro
Hello File sharing works very well between my computer laptop Vista Business SP2 and my desktop XP Pro SP3 IE. Can I manually read/write files on the desktop from my laptop and vice versa. I want to implement Vista Backup and Restore Center to create
-
Reorganization of images using Windows Photo Gallery
Hello, I have Windows 7 on my laptop. I recently downloaded the latest version of the Windows Photo Gallery on my machine and he used to edit and organize my photos. I now have lots of photos selected in a file. Then I tried to re - order the photos