November 27, 2007 at 4:57 pm
Hi
While trying to run a query on Oracle linked server "X" almost after 6 hours I received following error message:
Msg 7346, Level 16, State 2, Line 1
Cannot get the data of the row from the OLE DB provider "OraOLEDB.Oracle" for linked server "X".
Any idea what should cause the problem?
My query is something like: Select * from openquery (X, 'Select * from Y where ....')
Regards
El
February 28, 2008 at 6:09 pm
I can tell you that the query will probably work if you limit it to 100 rows (select top(100) * from ...). Beyond that, I am still looking for an answer. There is an answer posted on experts-exchange.com, but you have to pay for it. If (when) I get an answer I'll try to remember to post it here.
February 28, 2008 at 6:21 pm
Hello
I solved the issue with converting dates in the view to universal format and converting numeric fields to number again. It seems Oracle has got some issues with numeric when extracting data to SQL server.
By the way it solved my problem.
Thanks
Elham
March 3, 2008 at 11:16 am
I ran into two seperate issues. I'll post both of my solutions here rather than start a new thread.
My first issue was similar to yours. I was pulling data from a view and SQL server could not get the proper data type. To resolve that I used the OPENROWSET command.
My next issue was that the default fetchsize in the registry and for the connection is 100 rows (what were they thinking?!?). To resolve that issue, I set the connection string to include "fetchsize=25000;". That works for me because I know that I should never have more than 20,000 rows in the view.
Viewing 4 posts - 1 through 4 (of 4 total)
You must be logged in to reply to this topic. Login to reply