SQL Server通過dblink訪問Oracle資料
Exec sp_dropserver ORACLE_demo
go
EXEC sp_addlinkedserver
@server ='ORACLE_demo', --要建立的連結伺服器別名
@srvproduct='Oracle', --產品名稱
@provider='MSDAORA', --OLE DB 字元
@datasrc='tnsTest' --資料來源 oracle"ora92"network"admin"tnsnames.ora 檢視
EXEC sp_addlinkedsrvlogin
'ORACLE_demo', --已建立的連結伺服器名
'false', -- 固定 */
NULL, --為每個登陸SQL SERVER的使用者使用此連結伺服器,否則寫使用者名稱 */
'使用者名稱',
'密碼'
go
查詢:
SELECT *
FROM OPENQUERY(ORACLE_demo, 'SELECT * FROM table_name')
參考以下內容完成:
SQLSERVER中的DBLink
/////////////////////////////SQL SERVER////////////////////////////
Exec sp_droplinkedsrvlogin DBVIP,Null
Exec sp_dropserver DBVIP
EXEC sp_addlinkedserver
@server='DBVIP',--被訪問的伺服器別名
@srvproduct='',
@provider='SQLOLEDB',
@datasrc='Server2' --要訪問的伺服器
EXEC sp_addlinkedsrvlogin
'DBVIP', --被訪問的伺服器別名
'false',
NULL,
'sa', --帳號
'thankyoubobby' --密碼
Select * from DBVIP.pubs.dbo.orders
/////////////////////////////ORACLE////////////////////////////
需要SQL SERVER伺服器中安裝ORACLE客戶端;
Exec sp_droplinkedsrvlogin demo,Null
Exec sp_dropserver demo
go
EXEC sp_addlinkedserver
@server ='demo', --要建立的連結伺服器別名
@srvproduct='Oracle', --產品名稱
@provider='MSDAORA', --OLE DB 字元
@datasrc='ServiceName' --資料來源 oracle"ora92"network"admin"tnsnames.ora 檢視
EXEC sp_addlinkedsrvlogin
'demo', --已建立的連結伺服器名
'false', -- 固定 */
NULL, --為每個登陸SQL SERVER的使用者使用此連結伺服器,否則寫使用者名稱 */
'userid', --帳號
'password' –密碼
go
SELECT * FROM demo.. USERID.TABLE
--注意用大寫,因為在Oracle的資料字典中為大寫
資料庫的格式必須是連結伺服器名..ORACLE使用者名稱.表名.
SELECT * FROM OPENQUERY(demo ,'select * from tbdemo' )
UPDATE OPENQUERY (demo, 'SELECT id FROM tbdemo WHERE id = 101')
SET name = 'hello';
INSERT OPENQUERY (demo, 'SELECT id FROM tbdemo')
VALUES ('hello');
DELETE OPENQUERY (demo, 'SELECT id FROM tbdemo WHERE name = ''hello''');
如此則在SQL SERVER中就可以訪問ORACLE的資料了。
建立的連結伺服器可以在企業管理器中看見.
/////////////////////////////ACCESS////////////////////////////
--建立連線伺服器
EXEC sp_addlinkedserver
'ai', --要建立的連結伺服器名稱
‘access', --產品名稱
'Microsoft.Jet.OLEDB.4.0', --OLE DB 字元
'd:"testdb"db.mdb' --資料來源 -- 碟符:"路徑"檔名 -- ""網路名"共享名"檔名 (網路版本)
GO
--建立連結伺服器上遠端登入之間的對映
--連結伺服器預設設定為用登陸的上下文進行
--現在我們修改為連線連結伺服器不需使用任何登入或密碼
exec sp_addlinkedsrvlogin 'ai','false'
go
select * from ai...mytable
/////////////////////////////EXCEL////////////////////////////
--建立連線伺服器
EXEC sp_addlinkedserver
'ai_ex', --要建立的連結伺服器名稱
'ex', --產品名稱
'Microsoft.Jet.OLEDB.4.0', --OLE DB 字元
'd:"testdb"mybook.xls' , --資料來源 -- 碟符:"路徑"檔名-- ""網路名"共享名"檔名 (網路版本)
null,
'Excel 5.0' --OLE DB 提供程式特定的連線字串
GO
----建立連結伺服器上遠端登入之間的對映
--連結伺服器預設設定為用登陸的上下文進行
--現在我們修改為連線連結伺服器不需使用任何登入或密碼
exec sp_addlinkedsrvlogin 'ai_ex','false'
go
--查詢資料
select * from ai_ex...sheet3$
/////////////////////////////MS SQL////////////////////////////
--建立連線伺服器
EXEC sp_addlinkedserver
'ai_mssql', --要建立的連結伺服器名稱
'ms', --產品名稱
'SQLOLEDB', --OLE DB 字元
'218.204.111.111,3342' --資料來源
GO
--建立連結伺服器上遠端登入之間的對映
EXEC sp_addlinkedsrvlogin
'ai_mssql',
'false',
NULL,
'zhangzhe', --遠端伺服器的登陸使用者名稱
'fish2231' --遠端伺服器的登陸密碼
go
--查詢資料
select * from ai_mssql.pubs.dbo.jobs
--還有一個更簡單的辦法
--這種方式在連結伺服器建立後,它是預設開放RPC的
--建立連線伺服器
EXEC sp_addlinkedserver
'218.204.111.111,3342', --要建立的連結伺服器名稱
'SQL Server' --這裡就用資料來源作名稱
GO
--建立連結伺服器上遠端登入之間的對映
EXEC sp_addlinkedsrvlogin
'218.204.111.111,3342',
'false',
NULL,
'zhangzhe', --遠端伺服器的登陸使用者名稱
'fish2231' --遠端伺服器的登陸密碼
go
--查詢資料
select * from [218.204.253.131,3342].pubs.dbo.jobs
go
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10314474/viewspace-752879/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle DBLink跨資料庫訪問SQL server資料同步 踩坑實錄Oracle資料庫SQLServer
- oracle通過透明閘道器(Oracle Transparent Geteways),訪問ms sql server和其他資料庫OracleSQLServer資料庫
- Oracle10g中通過透明閘道器、DBLink訪問MySQL資料OracleMySql
- SQL Server 資料訪問策略:儲存過程QCSQLServer儲存過程
- SQL Server 資料訪問策略:CLRMESQLServer
- SQL Server 不同網段IP通過名稱訪問SQLServer
- oracle透過透明閘道器訪問sql serverOracleSQLServer
- 關於SQL Server通過OLEDB訪問ORACLE資料表涉及Oracle11g新增欄位的錯誤提示SQLServerOracle
- 關於SQL Server通過OLEDB訪問ORACLE資料表涉及CLOB或BLOB欄位的錯誤提示SQLServerOracle
- SQL Server 資料訪問策略:即席SQLCUSQLServer
- 從Oracle訪問SQL Server(GATEWAYS)OracleSQLServerGateway
- SQL Server建立Linked Server訪問OracleSQLServerOracle
- 通過 SQL Server 檢視訪問另一個資料庫伺服器表的方法SQLServer資料庫伺服器
- 關於儲存過程通過DBLINK 訪問只讀資料庫報錯 PL/SQL: ORA-04063:的說明儲存過程資料庫SQL
- 通過Oracle Gateways 訪問SybaseOracleGateway
- 實戰oracle gateway訪問sql server2000資料庫OracleGatewaySQLServer資料庫
- ubuntu下python通過sqlalchemy庫訪問oracle資料庫UbuntuPythonSQLOracle資料庫
- 【PRODUCE】Oracle 通過儲存過程限制使用者訪問表資料Oracle儲存過程
- Oracle Gateways透明閘道器訪問SQL ServerOracleGatewaySQLServer
- Oracle資料庫連結(DBLink)中如何訪問包含BLOB欄位的資料Oracle資料庫
- JQuery Ajax通過Handler訪問外部XML資料jQueryXML
- 【PRODUCE】Oracle 通過儲存過程限制使用者訪問表資料(二)Oracle儲存過程
- Sql Server在.net中的資料訪問輔助類SQLServer
- SQL Server 2005 管理併發資料訪問[zt]SQLServer
- 在Linux下訪問MS SQL Server資料庫(轉)LinuxSQLServer資料庫
- SQL Server通過建立臨時表遍歷更新資料SQLServer
- 通過SQL Server資料庫映象保護虛擬資料庫ICSQLServer資料庫
- SQLServer訪問Oracle(通過同義詞-檢視-資料字典)出現的問題SQLServerOracle
- 【SQL】Oracle資料庫通過job定期重建同步表資料SQLOracle資料庫
- 直接透過ODBC API訪問SQL資料庫 (轉)APISQL資料庫
- Oracle 通過透明閘道器訪問mysqlOracleMySql
- 關於jsp 呼叫bean 訪問sql-server資料庫問題JSBeanSQLServer資料庫
- Serverless 解惑——函式計算如何訪問 SQL Server 資料庫Server函式SQL資料庫
- SQL Server建立dblink至MySQLServerMySql
- SQL Server :DBLINK建立及使用SQLServer
- 在Oracle裡設定訪問多個SQL Server(轉)OracleSQLServer
- SQL server資料匯入OracleSQLServerOracle
- Oracle資料庫訪問限制繞過漏洞 解決Oracle資料庫