SQL Server建立Linked Server訪問Oracle
我的本機環境:
SQL Server 2008R2 64位
Oracle 12c 64位
SQL Server端執行以下指令碼:
exec sp_addlinkedserver @server='LINK2ORACLE', @srvproduct='Oracle', @provider='OraOLEDB.Oracle', @datasrc=N'ORCL'
exec sp_addlinkedsrvlogin @rmtsrvname=N'LINK2ORACLE',@useself=N'False',@locallogin=NULL,@rmtuser=N'scott',@rmtpassword='tiger'
還需要對訪問驅動做進一步設定
並在連結伺服器做如下設定:
訪問方式1:select * from LINK2ORACLE..SCOTT.DEPT
注意表名,連結伺服器名,使用者名稱都應該大寫
訪問方式2:select * from openquery(LINK2ORACLE,'select * from emp')
暫時沒有找到支援查詢條件的的方式。以下SQL不能執行
declare @sql varchar(2000)
set @sql = 'select * from emp where deptno=10'
print @sql
select * from openquery(LINK2ORACLE,@sql)
需要改成動態SQL執行:
set quoted_identifier off
declare @sql nvarchar(1000),@mobile nvarchar(10)
set @deptno='10'
set @sql="select * from OPENQUERY(LINK2ORACLE,'select * from emp where deptno=''"+@deptno+"''')"
exec sp_executesql @sql
參考:
http://blogs.msdn.com/b/bindeshv/archive/2008/05/21/demystifying-sql-oracle-distributed-query-issues.aspx
SQL Server 2008R2 64位
Oracle 12c 64位
SQL Server端執行以下指令碼:
exec sp_addlinkedserver @server='LINK2ORACLE', @srvproduct='Oracle', @provider='OraOLEDB.Oracle', @datasrc=N'ORCL'
exec sp_addlinkedsrvlogin @rmtsrvname=N'LINK2ORACLE',@useself=N'False',@locallogin=NULL,@rmtuser=N'scott',@rmtpassword='tiger'
還需要對訪問驅動做進一步設定
並在連結伺服器做如下設定:
訪問方式1:select * from LINK2ORACLE..SCOTT.DEPT
注意表名,連結伺服器名,使用者名稱都應該大寫
訪問方式2:select * from openquery(LINK2ORACLE,'select * from emp')
暫時沒有找到支援查詢條件的的方式。以下SQL不能執行
declare @sql varchar(2000)
set @sql = 'select * from emp where deptno=10'
print @sql
select * from openquery(LINK2ORACLE,@sql)
需要改成動態SQL執行:
set quoted_identifier off
declare @sql nvarchar(1000),@mobile nvarchar(10)
set @deptno='10'
set @sql="select * from OPENQUERY(LINK2ORACLE,'select * from emp where deptno=''"+@deptno+"''')"
exec sp_executesql @sql
參考:
http://blogs.msdn.com/b/bindeshv/archive/2008/05/21/demystifying-sql-oracle-distributed-query-issues.aspx
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8520577/viewspace-1080915/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server linked server 連線OracleSQLServerOracle
- 從Oracle訪問SQL Server(GATEWAYS)OracleSQLServerGateway
- 如何使用Linked Server連線Oracle與SQL ServerServerOracleSQL
- [zt] 使用SQL Server中的Linked Server及Remote ServerSQLServerREM
- Oracle Gateways透明閘道器訪問SQL ServerOracleGatewaySQLServer
- 為SQL Server快照snapshot DB建立login訪問SQLServer
- SQL Server通過dblink訪問Oracle資料SQLServerOracle
- oracle透過透明閘道器訪問sql serverOracleSQLServer
- postgresql端使用tds_fdw建立訪問sqlserver的linked server的操作說明SQLServer
- SQL Server中建Linked Server時首次選Oracle Provider for OLE 導致SQL當機SQLServerOracleIDE
- ORACLE 9i 建立透明閘道器訪問SQL Server 2008OracleSQLServer
- 在Oracle裡設定訪問多個SQL Server(轉)OracleSQLServer
- sqlserver建立linked server到redshift的方法SQLServer
- SQL Server 資料訪問策略:CLRMESQLServer
- [zt] 利用 SQL Server 中的 Linked Server 執行 Oracle 中之預儲函式、程式SQLServerOracle函式
- SQL Server 資料訪問策略:即席SQLCUSQLServer
- SQL in ORACLE and SQL ServerSQLOracleServer
- SQL Server 連結伺服器(Linked Servers)SQLServer伺服器
- SQL Server建立使用者只能訪問指定資料庫和檢視SQLServer資料庫
- SQL SERVER和ORACLE的排序問題SQLServerOracle排序
- Linked server和SSIS連線Oracle時的常見問題ServerOracle
- SQL SERVER建立索引需要注意的問題SQLServer索引
- 實戰oracle gateway訪問sql server2000資料庫OracleGatewaySQLServer資料庫
- Dynamic Parameters造成的linked server效能問題Server
- SQL Server連線SQL Server、SQL Server連線ORACLE 連結伺服器SQLServerOracle伺服器
- 建立索引——提高SQL Server效能索引SQLServer
- 轉載-64位SQL Server 2008的Linked Server連線64位的Oracle--Oracle Provider for OLEDBSQLServerOracleIDE
- sql server and oracle stadySQLServerOracle
- SQL Server跨庫跨伺服器訪問實現SQLServer伺服器
- SQL Server 資料訪問策略:儲存過程QCSQLServer儲存過程
- SQL Server 不同網段IP通過名稱訪問SQLServer
- SQL Server建立dblink至MySQLServerMySql
- 用MSCS建立SQL Server叢集SQLServer
- SQL Server :DBLINK建立及使用SQLServer
- 利用sql server直接建立日曆SQLServer
- SQL Server不存在或拒絕訪問故障的排除SQLServer
- Sql Server在.net中的資料訪問輔助類SQLServer
- SQL Server 2005 管理併發資料訪問[zt]SQLServer