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
    ---

    -- working code 
    
      select * from openquery ( linkoracle 11 
               select  col1, col2, cast (col3 as char(1)) as col_3 from test_table )
    I was wondering, what is the difference between oracle and sql server for the CHAR data type?

    The gurus of the idea?

    Thank you

    What 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.

    Concerning

    It 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:49

    I 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

    Nith

    similar 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
    Vijay

    It'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:31

    I 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

  • [Oracle] [ODBC SQL Server driver] String truncation on the right {01004} data

    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

  • [Oracle] [ODBC SQL Server driver] [libssclient22] General network error

    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_name

    Be 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="">
    (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

  • dblink Oracle to SQL Server

    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:24

    According 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