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快照snapshot DB建立login訪問SQLServer
- postgresql端使用tds_fdw建立訪問sqlserver的linked server的操作說明SQLServer
- sqlserver建立linked server到redshift的方法SQLServer
- SQL Server 資料訪問策略:CLRMESQLServer
- SQL Server 連結伺服器(Linked Servers)SQLServer伺服器
- SQL Server 資料訪問策略:即席SQLCUSQLServer
- SQL Server建立使用者只能訪問指定資料庫和檢視SQLServer資料庫
- SQL Server建立dblink至MySQLServerMySql
- Oracle DBLink跨資料庫訪問SQL server資料同步 踩坑實錄Oracle資料庫SQLServer
- SQL Server跨庫跨伺服器訪問實現SQLServer伺服器
- SQL Server 資料訪問策略:儲存過程QCSQLServer儲存過程
- Sqlserver 如何truncate linked server的表SQLServer
- sql serverSQLServer
- [提問交流]OneThink支援 sql server?SQLServer
- Serverless 解惑——函式計算如何訪問 SQL Server 資料庫Server函式SQL資料庫
- SQL Server 建立使用者賦權報錯之Permissions at the server scope canSQLServer
- 非域環境下SQL Server mirror建立SQLServer
- Oracle\MS SQL Server Update多表關聯更新OracleSQLServer
- MySql/Oracle和SQL Server的分頁查MySqlOracleServer
- SQL Server AlwaysOn的Oracle等價技術SQLServerOracle
- SQL Server管理員帳號鎖定後如何恢復訪問VUSQLServer
- Moebius for SQL ServerSQLServer
- sql server 使用SQLServer
- SQL Server教程SQLServer
- SQL Server 資料表程式碼建立約束SQLServer
- SQL Server 查詢超時問題排查SQLServer
- 淺談SQL Server中的快照問題SQLServer
- 如何建立和還原SQL Server 2000資料庫?SQLServer資料庫
- 如何建立和還原SQL Server 2005資料庫?SQLServer資料庫
- SQL Server建立使用者函式與應用SQLServer函式
- SQL SERVER優化SQLServer優化
- Nodejs 操作 Sql ServerNodeJSSQLServer
- SQL Server 別名(as)SQLServer
- sql server遞迴SQLServer遞迴
- Sql server with as update用法SQLServer
- SQL Server下載SQLServer
- SQL Server Left joinSQLServer
- SQL Server SUBSTRING FunctionsSQLServerFunction
- SQL Server LEFT FunctionsSQLServerFunction