.NET Tutorials, Forums, Interview Questions And Answers
Welcome :Guest
Sign In
Register
 
Win Surprise Gifts!!!
Congratulations!!!


Top 5 Contributors of the Month
Kaviya Balasubramanian
Imran Ghani
Post New Web Links

Linked Server using Oracle OLEDB 64-bits Win 2008 R2

Posted By:      Posted Date: May 22, 2011    Points: 0   Category :
 

Hi,

I have 2 boxes running SQL Server 2008 and using linked Oracle OLEDB that behaves different for same query.

On 1st machine, using win 2003 , SQL Server 2008 SP1 on a 64-bit server I  I created a linked server to Oracle database using Oracle OLEDB provider. When I submit query to a Oracle database using Oracle OLEBD using WHERE clause, this WHERE clause is sent to Oracle, then it uses an index to resolve query and send result already filttered to SQL Server.

I have a 2nd box running Windows 2008 R2, SQL 2008 SP2 on a 64-bit server and queries are working fine, but when I filter some column of a linked server table using WHERE clause, SQL Server sends to Oracle SELECT without where clause, Oracle performs a table scan on that table and then sends results to SQL Server, that applies filter to the result. 

The problem is that some Oracle tables are huge and sending a SELECT without where clause causes table scans on Oracle, what should be avoided.

I already tried to change OLEDB properties and also tried to change linked server properties, but none of them solved the problem.

Does anyone knows what I should change on 2nd server to make it works like 1st server?


Se a resposta resolveu sua questão ou problema, classifique-a para manter a qualidade do forum e a confiabilidade dos p


View Complete Post


More Related Resource Links

Clustered SQL 2008 R2 x64, Oracle linked server works on one node, fails on the other

  

Juicy bits:

- SQL Server 2008 R2 x64

- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)   Apr  2 2010 15:48:46   Copyright (c) Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) 

- Active/passive cluster

- Oracle client 11gR1

- "Allow Inprocess" provider option is enabled

 

I'm stumped.  Our development, QA and UAT environments are all running the same versions of Windows, SQL, and Oracle client.  Linked server between SQL and Oracle works just fine.

 

Production is clustered.  The linked server works just fine on one node of the cluster, but if we failover to the other node, attempts to use the linked server in any way, OPENQUERY, GUI, etc..., cause the following error:

OLE DB provider "OraOLEDB.Oracle" for linked server "ORACLE" returned message "ORA-12634: Memory allocation failed".

Msg 7303, Level 16, State 1, Line 1

Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "ORACLE".

 

What am I missing?  I've reinstalled the Oracle client on the defective node, verified that the SQL Server service account has full rights to the Oracle client dir

Oracle Linked serve Query performance in 2000 vs 2008 R2 64 Bit

  
Hi everyone We have started to migrate one of our reporting systems from Sql 2000 to Sql 2008 R2.  One of the steps has been to test the perforance of certain Oracle linked server queries between each server.  We are finding on average 3 fold better perforance stats (in terms of query completion time) on the old server.  This should obviously not be the case.  The new server has signifantly more CPU/Memory/IO resources to play with, and it is 64 bit (not to mention its new!).  Here's what I got so far: Old server: SQL 2000 on W2000 both fully patched.  Old Dell Dual core with 3 GB of Ram running on two soft IDE Mirrored drives (yes I know... it sucks).  It connecting via the MS OLE DB provider for Oracle (9i client) New server: ESX VMware Server with 2 CPU's assigned, 8 GB of ram connected to large HP SAN.  CPU, ram and IO's have all been ruled out as the problem.  We've tried varying network cards with different results so we havent ruled that out yet.  Its connecting via the Oracle provider for OLE DB (11G 64 bit client) The linked server is an Oracle 9i fully patched server.  All three are on the same network backbone. Running a simple select * query on both servers returns the same number of rows (~76 000) .  It takes ~1:20 on the new server and ~0:20 on the old server. In looking at the wait stati

No Way to retrieve data from oracle ref:_cursor over T-SQL and linked Server?

  
Hello, for an migration projekt we want to compare results from sp's from oracle and sqlsserver. Same calls should retrieve same results. Also we want build an automatic test for this. But is there now way to retrieve results from oracle sp's whit rev_cursor over linked Server? No one answer to this: http://social.msdn.microsoft.com/forums/en-us/sqldataaccess/thread/2BAC6743-8701-4476-8F36-0377A5761525   greetings Michael

SQL Server 2008 Linked Server SELECT INTO issue

  
I have a SQL Server 2008 installation running on a clustered Windows Server 2008 R2. I am trying to execute a query on a remote SQL Server to create a table. In order to do so, I call a stored procedure on the remote SQL Server. The stored procedure's description is as follows: ------------------------------------- Create procedure [dbo].[USP_RemoteExec] @varSQL varchar(max) as declare @tempSql nvarchar(max); set @tempSql = CONVERT(nvarchar(max),@varSQL); exec sp_executesql @tempSql ------------------------------------- I pass the following command to the remote stored procedure as follows: exec [servername].[dbname].dbo.USP_RemoteExecute @varSQL='if object_id(''testdb.dbo.tmp_testEmpty3'') is not null drop table testdb.dbo.tmp_testEmpty3; create table testdb.dbo.tmp_testempty3(col1 int, col2 varchar(20));' go select * from [servername].testdb.dbo.tmp_testEmpty3 go This statement returns the following: --------------------------------- col1,col2 (0 row(s) affected) But, when I run the following statement: exec [servername].[dbname].dbo.USP_RemoteExecute @varSQL='if object_id(''testdb.dbo.tmp_testEmpty'') is not null drop table testdb.dbo.tmp_testEmpty; select * into testdb.dbo.tmp_testEmpty from (select top 10 mytab.[col1] as [col1] , mytab.[col2] as [col2] , mytab.[col3] as [col3] FROM testdb.dbo.mytab as [mytab] with (nolock)) as A' go select * from [

SQL Server 2008 Linked Server SELECT INTO issue

  
I have a SQL Server 2008 installation running on a clustered Windows Server 2008 R2. I am trying to execute a query on a remote SQL Server to create a table. In order to do so, I call a stored procedure on the remote SQL Server. The stored procedure's description is as follows: ------------------------------------- Create procedure [dbo].[USP_RemoteExec] @varSQL varchar(max) as declare @tempSql nvarchar(max); set @tempSql = CONVERT(nvarchar(max),@varSQL); exec sp_executesql @tempSql ------------------------------------- I pass the following command to the remote stored procedure as follows: exec [servername].[dbname].dbo.USP_RemoteExecute @varSQL='if object_id(''testdb.dbo.tmp_testEmpty3'') is not null drop table testdb.dbo.tmp_testEmpty3; create table testdb.dbo.tmp_testempty3(col1 int, col2 varchar(20));' go select * from [servername].testdb.dbo.tmp_testEmpty3 go This statement returns the following: --------------------------------- col1,col2 (0 row(s) affected) But, when I run the following statement: exec [servername].[dbname].dbo.USP_RemoteExecute @varSQL='if object_id(''testdb.dbo.tmp_testEmpty'') is not null drop table testdb.dbo.tmp_testEmpty; select * into testdb.dbo.tmp_testEmpty from (select top 10 mytab.[col1] as [col1] , mytab.[col2] as [col2] , mytab.[col3] as [col3] FROM testdb.dbo.mytab as [mytab] with (nolock)) as A' go select * from [

Problems with linked server to Analysis Services (SQL 2008)

  
I have problem with creating linked server from SQL database to Analsis services. BOth services are running on same machine. Operating system is Windows 2008. I create linked server (I use windows authentication and I am administrator on AS):  EXEC sp_addlinkedserver @server= 'OLAP_PRETOKI', @srvproduct = '', @provider='MSOLAP', @datasrc='localhost', @catalog='DWDatabase'  But when I try to test connection I get error (in the event log) and in the error log/dump I get this: 2010-09-03 13:48:28.41 Server Error: 17310, Severity: 20, State: 1. 2010-09-03 13:48:28.41 Server A user request from the session with SPID 57 generated a fatal exception. SQL Server is terminating this session. Contact Product Support Services with the dump produced in the log directory. 2010-09-03 13:48:32.53 spid58 Open of fault log C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\log\exception.log failed. 2010-09-03 13:48:32.65 spid58 Using 'dbghelp.dll' version '4.0.5' 2010-09-03 13:48:32.66 spid58 SqlDumpExceptionHandler: Process 58 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process. 2010-09-03 13:48:32.66 spid58 * ******************************************************************************* 2010-09-03 13:48:32.66 spid58 * 2010-09-03 13:48:32.66 spid58 * BEGIN STACK DUMP: 2010-09-03 13:4

Problems with linked server to Analysis Services (SQL 2008)

  
I have problem with creating linked server from SQL database to Analsis services. BOth services are running on same machine. Operating system is Windows 2008. I create linked server (I use windows authentication and I am administrator on AS):  EXEC sp_addlinkedserver @server= 'OLAP_PRETOKI', @srvproduct = '', @provider='MSOLAP', @datasrc='localhost', @catalog='DWDatabase'  But when I try to test connection I get error (in the event log) and in the error log/dump I get this: 2010-09-03 13:48:28.41 Server Error: 17310, Severity: 20, State: 1. 2010-09-03 13:48:28.41 Server A user request from the session with SPID 57 generated a fatal exception. SQL Server is terminating this session. Contact Product Support Services with the dump produced in the log directory. 2010-09-03 13:48:32.53 spid58 Open of fault log C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\log\exception.log failed. 2010-09-03 13:48:32.65 spid58 Using 'dbghelp.dll' version '4.0.5' 2010-09-03 13:48:32.66 spid58 SqlDumpExceptionHandler: Process 58 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process. 2010-09-03 13:48:32.66 spid58 * ******************************************************************************* 2010-09-03 13:48:32.66 spid58 * 2010-09-03 13:48:32.66 spid58 * BEGIN STACK DUMP: 2010-09-03 13:4

SQL server 2008 to oracle replication

  
Hi, I am trying to replicate data from a sqlserver to an oracle 11 subscriber(push subscription). I recently moved to SQL server 2008 from 2005. The replication in 2005 worked ok, and now in 2008 - it does not. The problem: It tries to make some fields as an interval data type in Oracle. For example, nvarchar(3) are turned into interval and numeric(38,8) fields are turned into nvarchar2(40). Anyone has any idea why is this happening and how can I change it?

Transforing the Data from Oracle to SQL Server 2008

  
Hi all I have to create a SSIS package which can Transfer the Data from Oracle to SQL Server 2008. Every time when packages run it will suppose to create tables in SQL Server Database. I guess it is possible with export and Import, but the privies tables suppose be deleting before or after dumping.   Suggest me best method to do this.     Thanks in advance     SNIVAS

Server 2008 R2 64 bit, SSRS 2008 64 bit with Report Builder 3.0 issues with Oracle OLE Driver

  
Folks, ran out of idea on this issues. Setup as shown at the Title. I can connect via VS 2010  but report builder cannot run properly when setup with connection string. I use a 32 bit Oracle Driver and VS 2010 works well with it, however, Report Builder on SSRS report a bad image issues while attempting to use the same driver. What have been tried: 1-Already attempted to try to download Oracle ODP drivers 64 bit, but current driver 11g and minor version above 11g does not install, installation failed. So far all chats indicated that Server 2008 R2 does not have a Oracle 64 bit driver provided y Oracle. Any help is appreciated ....    

Cannot create instance of "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" on x64 Vista with x6

  
I am attempting to take data from an Excel 2007 spreadsheet and use OpenDataSource to throw the data into a SQL Server 2008 SP1 table under an x64 OS and x64 SQL Server.  I was able to get this to work under x86 versions of the OS and SQL by setting sp_MSset_oledb_prop with values of AllowInProcess and DynamicParameters to 1.  However, under x64 SQL 2008, when I set the AllowInProcess option to 1, I get the following error:  "OLEDB provider "Microsoft.ACE.OLEDB.12.0" cannot be used for distributed queries because the provider is configured to run in single-threaded apartment mode."  If I turn this flag off, I receive the error shown above in the title.I saw suggestions about creating a .Net program and then forcing it to target an x86 processor, but this method did not work either.  I also saw suggestions about installing the 2007 Data Access drivers, and although I believe they already were installed, I installed them specifically, but it changed nothing.  I also tried remotely accessing the x64 system from an x86 environment, but it also changed nothing.Therefore, I cannot get the OpenDataSource method to work from Mgmt Studio or from an x86 program, so I would appreciate insights into how someone is supposed to be able to retrieve data from an Excel 2007 workbook in an x64 environment.  I find it hard to believe that with numerous servers running on x64 t

Importing Data from Oracle 10g to Sql Server 2005 using Linked Server

  
Hi,   I am using Windows 2003 server and Sqlserver 2005 by the use of Linked server , I made a connection to Oracle 10g after that I am importing records from Oracle to sqlserver 2005. When I made tnsnames.ora in sql machine , it worked fine but when i am using tnsnames file from oracle server then i fiired importing procedure it returns below maintain error :   OLE DB provider "MSDAORA" for linked server "BI_ORACLE_LS" returned message "Unspecified error". OLE DB provider "MSDAORA" for linked server "BI_ORACLE_LS" returned message "Oracle error occurred, but error message could not be retrieved from Oracle.". Msg 7311, Level 16, State 2, Line 1 Cannot obtain the schema rowset "DBSCHEMA_TABLES" for OLE DB provider "MSDAORA" for linked server "BI_ORACLE_LS". The provider supports the interface, but returns a failure code when it is used.   Please let me know.   Thanks

The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" reported an error. Access

  
Hi,I am importing Excel 2007 file into SqlServer 2005 (Sqlexpress). The office 2007 is not installed in the machine. I have downloaded and installed "AccessDatabaseEngine". When I execute following statement SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=D:\File1.xlsx', 'SELECT * FROM [Sheet1$]');The following error is comming:Msg 7399, Level 16, State 1, Line 1The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" reported an error. Access denied.Msg 7350, Level 16, State 2, Line 1Cannot get the column information from OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".Can any one suggest what should I do to resolve?Thanks,Parmeshthee. Learning .Net 3.5

Oracle 11g R2 64-bit linked server difficulty

  
We are re-integrating a business unit back into IT support this weekend. They have a Oracle production system that's been upgraded to 11G. The previous linked server worked fine. I'm trying to attach from an XP laptop that has a full blown Sql Server 2005 running. I've seen all the post about "in-process" and it doesn't work. I'm getting either 7303 or 7399 regardless of whether I use the Oracle or Microsoft driver. I can successfully connect and query the database from sql plus with no problem. I can create the linked server fine, it's just when I go to query that it errors. "The test connection to the linked server failed." An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo) Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "OraAGS". OLE DB provider "OraOLEDB.Oracle" for linked server "OraAGS" returned message "ORA-12154: TNS:could not resolve the connect identifier specified". (Microsoft SQL Server, Error: 7303 Could this be a problem with a 64-bit server connecting from a 32 bit client?? Thanks in advance..

DataProviderSAP in server windows 2008 64 bits

  
I tried install DataProviderSAP in server windows 2008 64 bits but happened one error. The error happened because the program can not write in file Erro: Verify that you have access to that directory c:\\windows\winsx

Oracle 11g R2 64-bit linked server difficulty

  

We are re-integrating a business unit back into IT support this weekend. They have a Oracle production system that's been upgraded to 11G. The previous linked server worked fine.

I'm trying to attach from an XP laptop that has a full blown Sql Server 2005 running. I've seen all the post about "in-process" and it doesn't work. I'm getting either 7303 or 7399 regardless of whether I use the Oracle or Microsoft driver. I can successfully connect and query the database from sql plus with no problem. I can create the linked server fine, it's just when I go to query that it errors.

"The test connection to the linked server failed."

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "OraAGS".
OLE DB provider "OraOLEDB.Oracle" for linked server "OraAGS" returned message "ORA-12154: TNS:could not resolve the connect identifier specified". (Microsoft SQL Server, Error: 7303

Could this be a problem with a 64-bit server connecting from a 32 bit client??

Thanks in advance..


Sync Oracle and SQL Server 2008

  

Does anyone know of a way that I could sync a few contact info views from an OracleDB to SQL Server without spending thousands on syncing software?

Best Regards


Categories: 
ASP.NetWindows Application  .NET Framework  C#  VB.Net  ADO.Net  
Sql Server  SharePoint  Silverlight  Others  All   

Hall of Fame    Twitter   Terms of Service    Privacy Policy    Contact Us    Archives   Tell A Friend