SQL Server 2005 Linked Servers (OraOledb / 10g)

I am running SQL Server 2005 on a 64 bit Server. I have a linked server using OraOledb (Oracle client 10g) to Oracle. "Select" statements works without any problems, but "Update" and "Delete" statements return the following error:
Msg 7333, Level 16, State 2, Line 2
Cannot fetch a row using a bookmark from OLE DB provider "OraOLEDB.Oracle" for linked server "ORACLESERVER".

Using the four part statement works, but does not use the indexes in oracle. Therefore, if you have a big update, it will run very slow. Has anyone figured a way to use the OPENQUERY statement in SQL Server 2008? Should I give up on this idea??? Here is what I am trying to do:
UPDATE     OPENQUERY(ORA_CP, 'SELECT     values... FROM table1 LES
                    INNER JOIN table SPD ON SPD.Year = LES1.Year AND
                              SPD.Month = LES1.Month AND
                              SPD.Week = LES1.Week
               WHERE     TYPE IN (''E'',''S'',''I'')
                    AND PROJ_ID = ''XXXXXX.XXX.XXX''')      
          SET          GOAL_AMT = GOAL_AMT
          FROM     dbo.table3 S
               INNER JOIN OPENQUERY(Linked_Server,
'SELECT values...
                              FROM table1 LES
                              INNER JOIN table SPD ON SPD.Year = LES1.Year AND
                              SPD.Month = LES1.Month AND
                              SPD.Week = LES1.Week
                         WHERE TYPE IN (''E'',''S'',''I'')
                              AND PROJ_ID = ''XXXXX.XXX.XXX''') A ON A.PROJ_ID = S.PROJ_ID AND
A.ORG_ID = S.ORG_ID AND
                                                  A.ACCT_ID = S.ACCT_ID AND
                                                  A.EMPL_VEND_ID = S.EMPL_VEND_ID AND
                                                  A.CP_DATA_DATE = S.CP_DATA_DATE

Similar Messages

  • Migrating from MS SQL Server 2005 database to Oracle 10g

    Hello,
    I wanted the full procedure or steps to Migrate the MS SQL Server 2005 database to Oracle 10g. Is there a known procedure to do this or is there a tool which is used?
    I have not done migration of database from MS SQL Server to Oracle. Any help is appreciated. Thanks a lot for the time.
    Regards,
    RPS

    Wrong forum, go to the database forum!
    cu
    Andreas

  • Ways to import an Ms SQL Server 2005 tabel to Oracle 10g

    Hi all
    How can I import an ms sql server 2005 table to Oracel 10g?

    Depends on what's you plan to do. You can try
    SQL Developer Migration Workbench
    http://www.oracle.com/technology/tech/migration//workbench/index_sqldev_omwb.html
    Or use the ODBC method you were trying.

  • SQL Server 2005 Migration to Oracle 10g

    Does anyone have any idea if a Migration Workbench beta plug-in exists for SQL Server 2005 to Oracle 10g. I have a production system waiting to be moved over to Oracle and the users are getting impatient.
    If there is nothing yet, does anyone have an alternate procedure to migrate a small schema (20 tables + 10 stored procedures) with a large amount of data?

    Probably late in the day for this but
    The workbench cannot handle SS2K5 directly at the moment. However as long as no new SS2K5 functionality has been used with a few tweaks this can be achieved.
    1. Firstly use the SS2K offline capture scripts to build the directories for the database(s) you want to capture.
    2 Secondly edit
    (a) SS2K_SYSLOGINS.dat and take out long SS2K5 user records
    (b) SS2K_SYSINDEXES.dat change FIRST ( forth column) to a value (say hex 1).
    (c) SS2K_SYSUSERS.dat change ROLES (sixth column) to a value (say hex 1).
    This should now load into the workbench. If it does not check the error.log file in <OMWB HOME>\log.

  • Reading Data from SQL Server 2000 Linked Servers

    Hello,
    I have a colleague who wants to read data from a OO4O driver Linked Server my FRENCH_FRANCE.US7ASCII Oracle 8i database.
    He's got some troubles to read data with "é", "à", and so on. They always replaced by "?"
    Since I have ask him to use SQL Developer on his server to see if he has got configuration problems, his PL/SQL queries return "square figure" characters (not the usual "²") instead of "?".
    For info, I've said it to use CONVERT(column, 'FR8DEC', 'US7ASCII) but it doesn't work too (also try with 'UTF8' or 'WE8MSWIN1252')
    Is there a way with the SQL Server collation ???
    How can I solve his problem ???

    The select query returns the following infos :
    PARAMETER VALUE
    NLS_CHARACTERSET US7ASCII
    NLS_NCHAR_CHARACTERSET US7ASCII
    My colleague uses the 10.2.0.1.0 client with ODAC 10.2.0.2.20.
    His SQL Server linked server is 2000 with the SQL_Latin1_General_CP437_BIN (he tried the use of the distant NLS_LANG option and the no set the NLS_LANG too with no results).
    Thanks in advance,
    Yours,
    Mickaël

  • Sql server 2005 to Oracle 10g migration

    Hi all,
    Is there any tool to migrate a sql server 2005 database to Oracle 10G ?
    I tried the sql developer migration option but I am unable to load the .ocp file.
    The option to load the .ocp file is not there
    Please advice....

    Great....
    I hope there may be steps in oracle workbench documentation regarding conversion.
    http://www.oracle.com/technology/tech/migration/workbench/htdocs/101040/user_guide/book.pdf
    You have to read in the above link. I am sure, there should be something regarding this too.
    Regards
    Girish Sharma
    Edited by: Girish Sharma on Dec 22, 2009 12:30 PM
    Edited by: Girish Sharma on Dec 22, 2009 12:33 PM

  • I can't link to an I series (IBM AS400) server from my sql server 2014 server (64 bit) -- but yes can link on sql server 2005 (32 bit)

    I have an I series (IBM AS400) server linked "OK" to a sql 2005 sql server (32 big).  I copied the link script (but changed credentials) from the sql server 2005 link and attempted to run it in the sql server 2014 server (on win 7 64 
    bit).  There are no complaints from SSMS when I run the script, but when I try to query a table I get this error message:
    OLE DB provider "MSDASQL" for linked server "CWMPDTA" returned message "[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed".
    OLE DB provider "MSDASQL" for linked server "CWMPDTA" returned message "[IBM][System i Access ODBC Driver]Key value in connection string too long.".
    Msg 7303, Level 16, State 1, Line 11
    Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "CWMPDTA".
    Here is the script (from the sql server 2005 (32 bit)) I ran on the sql server 2014 SSMS -- is there anything I need to change?  How can I get this I series server to link to my sql server 2014 server?
    USE [master]
    GO
    /****** Object: LinkedServer [CWMPDTA] Script Date: 9/25/2014 10:39:12 AM ******/
    EXEC master.dbo.sp_addlinkedserver @server = N'CWMPDTA', @srvproduct=N'cwmpdta', @provider=N'MSDASQL', @datasrc=N'iseries2', @provstr=N'Provider=IBMDA400.DataSource.1;Password=myPwrd;Persist Security Info=True;User ID=myID;Data Source=10.0.0.51;Initial Catalog=T9S', @catalog=N'T9S'
    /* For security reasons the linked server remote logins password is changed with ######## */
    EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'CWMPDTA',@useself=N'False',@locallogin=NULL,@rmtuser=N'myID',@rmtpassword='myPwrd'
    GO
    EXEC master.dbo.sp_serveroption @server=N'CWMPDTA', @optname=N'collation compatible', @optvalue=N'false'
    GO
    EXEC master.dbo.sp_serveroption @server=N'CWMPDTA', @optname=N'data access', @optvalue=N'true'
    GO
    EXEC master.dbo.sp_serveroption @server=N'CWMPDTA', @optname=N'dist', @optvalue=N'false'
    GO
    EXEC master.dbo.sp_serveroption @server=N'CWMPDTA', @optname=N'pub', @optvalue=N'false'
    GO
    EXEC master.dbo.sp_serveroption @server=N'CWMPDTA', @optname=N'rpc', @optvalue=N'false'
    GO
    EXEC master.dbo.sp_serveroption @server=N'CWMPDTA', @optname=N'rpc out', @optvalue=N'false'
    GO
    EXEC master.dbo.sp_serveroption @server=N'CWMPDTA', @optname=N'sub', @optvalue=N'false'
    GO
    EXEC master.dbo.sp_serveroption @server=N'CWMPDTA', @optname=N'connect timeout', @optvalue=N'0'
    GO
    EXEC master.dbo.sp_serveroption @server=N'CWMPDTA', @optname=N'collation name', @optvalue=null
    GO
    EXEC master.dbo.sp_serveroption @server=N'CWMPDTA', @optname=N'lazy schema validation', @optvalue=N'false'
    GO
    EXEC master.dbo.sp_serveroption @server=N'CWMPDTA', @optname=N'query timeout', @optvalue=N'0'
    GO
    EXEC master.dbo.sp_serveroption @server=N'CWMPDTA', @optname=N'use remote collation', @optvalue=N'true'
    GO
    Rich P

    Thank you for this reply.  I went to the link and selected the option for DB2s and ran the install.  Then I started up SSMS.  I copied the same script as above, and it executed successfully.  But when I try to run a query against
    a table in a database on this linked sever -- I get this error message:
    OLE DB provider "MSDASQL" for linked server "CWMPDTA" returned message "[Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed".
    OLE DB provider "MSDASQL" for linked server "CWMPDTA" returned message "[IBM][System i Access ODBC Driver]Key value in connection string too long.".
    Msg 7303, Level 16, State 1, Line 8
    Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "CWMPDTA".
    Do I need to change the line containing -- @provider=N'MSDASQL',  maybe?
    this is the query I'm running:
    select TOP 10 * from CWMPDTA.T9S.CWMPDTA.INSKU
    The same exact query runs fine on the sql server 2005 linked server.  Is there something I need to configure?
    Rich P

  • Problem: Database Migraton from Sql Server 2005 to Oracle 10g

    Hi all
    i am trying to migrate sql server 2005 Database to Oracle 10g, Using Oracle Sql developer 3.0.04
    Whole Daabase including Schemas,user-passwordTables,Views,Indexes,Functions,Procedures etc. migrated sucesfuly
    But All Procedures are not correctly migrated
    many of procedures showing errors...
    how to migrate procedures correctly?
    SO.....
    How To Resolve thios issue?
    please help me out
    thanks
    Edited by: user10226917 on Jun 8, 2011 1:42 AM

    Hi,
    I have tested using the following -
    SQL*Developer Version 3.0.04 Build MAIN-04.34
    and did the following -
    Tools - Migration - Translation Scratch Editor
    - made sure I was using the 'Microsoft SQL Server T-SQL to PL/SQL ' option in the 'Translateor' tab.
    Then in the worksheet put in your entry -
    PRINT '@HID=' + CAST(@HID AS VARCHAR(100))
    This is then translated to the following -
    BEGIN
    DBMS_OUTPUT.PUT_LINE('@HID=' || CAST(v_HID AS VARCHAR2(100)));
    END;
    Is this what you did and the entry you typed into the scratch pad ?
    If not, can you give the full code that gave the error -
    DBMS_OUTPUT.PUT_LINE('@HierID=' || CAST(v_HierID AS VARCHAR2(100)));
    DBMS_OUTPUT.PUT_LINE('@NodeType=' || CAST(v_NodeType AS VARCHAR2(100)));
    DBMS_OUTPUT.PUT_LINE('@NodeTypeReqd=' || CAST(v_NodeTypeReqd AS VARCHAR2(100)));
    Error(36,64): PLS-00103: Encountered the symbol "(" when expecting one of the following: . ) @ % The symbol ")" was substituted for "(" to continue. gives error in compiling error
    Regards,
    Mike

  • Using sql server 2005

    hey guys...
    do i need to have the application server when connecting to databases other than oracle_for instance MS sql server_ ?
    if i do then do i need any additional software to intigrate my application with that db server?
    how about connecting using the developer suite(10g)?
    i'm clueless here so any help will be realy appreciated..thanx

    Hi ,
    My requirement is to poll sql server 2005 db from oracle 10g. Is there any tutorial or link with detailed explanation available regarding this? Thanks in advance.

  • Copy table from Ms SQL Server 2005 to Oracle with SSIS package

    Hi all
    I am witting an SSIS package to copy 2 tables from Ms SQL Server 2005 to an Oracle 10g database.
    Problem: I can only see the Microsoft OLDB Provider for Oracle and it is too slow. How can I use the Oracle ODBC in aMs SQL Server 2005 or building a .net SSIS package.
    thanks

    Yes I am able to see the driver on the Data Source (ODBC), I also created a connection to the Oracle database. The problem in Ms SQL Server 2005 is that the ODBC connection I created is not listed. None of the lo local connections are listed, only Microsoft OLEDB connections

  • TYPE casting with SQL Server 2005

    Hi,
    I recently migrated to SQL Server 2005 database from Oracle 10g. I used the %TYPE operator in Oracle to cast to the appropriate column data type.
    PROCEDURE INS_USER
                   i_USERNAME               IN USERS.USERNAME%TYPE,
                   i_PASSWORD               IN USERS.PASSWORD%TYPE,
    IS BEGIN
    How can I do this in SQL Server 2005? Is there any similar operator to %TYPE in SQL Server??

    i don't know !
    you can try a SQL server forum.

  • OraOledb, Linked Servers and SQL Server 2005 issues

    Some issues I've come across when using SQL Server 2005 (and SQL Server Express 2005), the OraOLEDB provider (10.2.0.1) and a linked Oracle database (8.1.7.4.0 64-bit)
    1) You must set the OraOledb.Oracle\AllowInProcess value to 1 to allow the OraOledb provider to run in SQL Server's process. Without doing this I receive an 'unspecified error' from the OLE DB provider when attempting to run a query
    2) When running a ' select * ' query across a linked server using the provider, I receive the following error: Msg 9803, Level 16, State 1, Line 1
    Invalid data for type "numeric". I can, however, select all of the columns by name and the query completes (no error). Sometimes the 'select *' query returns a few rows before the error, sometimes it doesn't. The Microsoft Provider for Oracle does not have this problem

    Okay... I've got a Win2K3 Std Ed server (x64) running 64-bit SQL Server 2005 Enterprise Edition. I've installed the Oracle 10g 10.2.1 full client and admin tools, added two named services via the NetConfig assistant, and successfully set up (and tested) a connection via the ODBC Administrator to an Oracle database.
    Now... when I try to create a new connection manager in SQL Server 2005 Integration Services, the OLEDB provider for Oracle can't be found, and when I try to manually add an underlying OLEDB connection to the database, SQL Server reports:
    Test connection failed because of an error in initializing provider. The 'OraOLEDB.Oracle.1' provider is not registered on the local machine.
    Does anyone know what I need to do to see my ODBC Server data connections in SQL Server 2005 (64 bit)? I don't have this issue on my 32-bit SQL Server 2005 servers.

  • OraOledb for 64-bit, Linked Servers and SQL Server 2005 issues

    Our environment is : SQL Server 2005, Windows Server 2003, 64-bit and 32-bit operating systems.
    Problem on 64-bit operating system box: (32-bit works fine).
    I am trying to access Oracle 10g database using linked server from our SQL Server 2005. In case of number fileds i got the following error:
    Invalid data for type "numeric".
    After going through one of the posting in this forumn i was able to resolve the problem by converting those column values to char while querying and then converting them back to numeric type on SQL server side.
    But today i ran into another problem. There is a VARCHAR2 column. I was able to retrieve the data yesterday for that column but today i am getting a blank recordset. If i exclude the colum from the query then i am getting all the rows.
    I am querying against a view and it has got a number of columns whose data type is VARCHAR2.
    Again the problem is on 64-bit operating system only. We have a 32-bit operating system on which i am able to retrieve the data including this column. I looked at the data and everything looks OK. No funny characters etc.
    I tried workarounds like using cast, to_char, checking for nulls etc., Nothing works.
    Any help is greately appreciated. Thanks.

    Did you find a resolution for this? We have similar problem. Set up a linked server in SQL 2006 to Oracle (running on Windows 64-bit) Linked server works and views I had set up were working but they added some new data in the Oracle test database I am using and now I get errors on one of the views.
    Error I am getting on the view is "Cannot initialize the data source object of OLE DB Provider "OraOLDEDB.ORacle" for the linked server"
    If I fine tune my queries to find the specific table or view that is at issue, then I get the error "inconsistent metadata for a column"

  • Reading BLOB from SQL Server 2005 using DB Link from Oracle 10g

    Hi All,
    I am trying to read a table's data from SQL Server 2005 using ODBC DB Link created in Oracle 10g (10.2.0.3/4) database. I am not using oracle gateway.
    I am able read all data except for the BLOB data from SQL server 2005. It gives error given below when I try to execute query SELECT * from T_TRANSACTION_DATA@sdeslink inside a stored procedure:
    ORA-22992: cannot use LOB locators selected from remote tables
    Kindly help how to read BLOB from SQL server 2005 inside Oracle 10g.
    Best Regards!
    Irfan

    Irfan,
    If you can read the blob data using 10.2 HSODBC then there should be no problem using the 11g gateway.
    I recommend you download the latest version which is 11.2.0.3 available from My oracle Support as -
    Patch 10404530: 11.2.0.3.0 PATCH SET FOR ORACLE DATABASE SERVER
    This is a full version and does not need a previous version to have bene installed. When installing it needs to be in a completlely separate ORACLE_HOME from the existing 11.2 install.
    For the Ora-22992 problem have a look at this note in My Oracle Support -
    Ora-22992 has a workaround in 10gR2 (Doc ID 436707.1)
    Regards,
    Mike

  • Linked Servers - Sql server 2005 to connect to Oracle 11g using ldap.ora instead of tnsnames.ora

    We have a SQL Server 2005 64bit box that needs a linked server created to Oracle 11g 64bit box. I have all the Oracle client software installed and can successfully connect to the Oracle database using SQL+ on the SQL Server 2005 64bit box. When I create
    the linked server and select the OraOledb.Oracle provider, I get the TNSNames error. The Oracle server does not use tnsnames.ora it uses OLAP.ora to resolve. How do I get Linked server to stop trying to connect via TNSNames and use the OLAP.ora file instead?
    I can't find any articles for this specific issues. All Oracle examples tell you to use TNSNAMES. The Oracle server is not under my companies control so I can not force the vendor to use tnsnames instead of OLAP.

    Hi,
    Have you got a resolution?
    Thank you.

Maybe you are looking for

  • Tcode OAOR in View mode

    Hi everyone, I want to use the OAOR tcode, in only read mode, but, even I put act. 03 in al objects that's needed, however I can create, delete or modify documents on my society. I'm on SP BASIS 13, and my user only have the autorization to do OAOR,

  • EPS Preview format in AI CS4

    I was just told by Filemaker tech support that, as of CS4, Illustrator saves the Mac format EPS files with a TIFF preview (same as PC) rather than the PICT format preview that has been around since Illustrator 1.0. True or False? Thanks! Steve Willis

  • Update descriptions

    How do we access our update.xml file to provide descriptions of whats in an update? Also, if a published app used an older configuration namespace 'http://ns.adobe.com/air/framework/update/configuration/1.0' - when getting ready to update can we chan

  • Adobe Premiere Elements 4 - Rendering Problem

    If I create small slide shows in Photoshop Elements 6 (ranging from 59 - 125 JPEG Still Shots with captions and/or added text)I can then send each slide show separately into Premiere Elements 4, make further adjustments and add title pages, I can the

  • GPS App to track my route

    I know in many apps you can define your route and it tells you where to go, but I need an App to do the opposite. I want it to record my position as I go and then show me in the Map where I have been and the route I've taken. Does anybody knows any a