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
- SQL Server 資料訪問策略:儲存過程QCSQLServer儲存過程
- SQL Server 資料訪問策略:CLRMESQLServer
- SQL Server 資料訪問策略:即席SQLCUSQLServer
- Oracle資料庫連結(DBLink)中如何訪問包含BLOB欄位的資料Oracle資料庫
- SQL Server建立dblink至MySQLServerMySql
- 【PRODUCE】Oracle 通過儲存過程限制使用者訪問表資料Oracle儲存過程
- 【PRODUCE】Oracle 通過儲存過程限制使用者訪問表資料(二)Oracle儲存過程
- 【SQL】Oracle資料庫通過job定期重建同步表資料SQLOracle資料庫
- SQL Server通過建立臨時表遍歷更新資料SQLServer
- Oracle 通過透明閘道器訪問mysqlOracleMySql
- 通過SQL Server資料庫映象保護虛擬資料庫ICSQLServer資料庫
- Serverless 解惑——函式計算如何訪問 SQL Server 資料庫Server函式SQL資料庫
- ORACLE通過透明閘道器建dblink連線Postgresql的幾個問題OracleSQL
- Oracle透過ODBC連線SQL Server資料庫後ORA-12514OracleSQLServer資料庫
- kubernetes實戰篇之通過api-server訪問dashboardAPIServer
- Spring Boot通過@ConfigurationProperties訪問靜態資料 - reflectoringSpring Boot
- 通過dblink,資料泵expdp遠端跨版本導庫
- Oracle dblink監聽問題Oracle
- SQL Server建立使用者只能訪問指定資料庫和檢視SQLServer資料庫
- Oracle資料庫限制訪問IPOracle資料庫
- 專訪:深入探討SQL Server主資料服務ATSQLServer
- Oracle DBLink連線數過多的問題(Ora-02020)Oracle
- 為SQL Server快照snapshot DB建立login訪問SQLServer
- 通過Python實現對SQL Server 資料檔案大小的監控告警PythonSQLServer
- 概括SQL Server實時查詢Oracle資料庫WSSQLServerOracle資料庫
- [Oracle-> MySQL] Oracle通過dblink連線MySQL--Oracle 19c連線到MySQL 5.7OracleMySql
- 如何限制ip訪問Oracle資料庫Oracle資料庫
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- Python連線三大資料庫MS Sql Server、Oracle、MySQLPython大資料資料庫ServerOracleMySql
- SQL Server資料庫恢復常見問題SQLServer資料庫
- SQL Server 2016資料庫快照代理過程詳解SQLServer資料庫
- 【資料庫資料恢復】透過資料頁恢復Sql Server資料庫資料的過程資料庫資料恢復SQLServer
- 如何通過瀏覽器 JavaScript API 訪問伺服器資料庫瀏覽器JavaScriptAPI伺服器資料庫
- SQL Server跨庫跨伺服器訪問實現SQLServer伺服器
- SQL server 修改表資料SQLServer
- 資料庫映象 (SQL Server)資料庫SQLServer
- SQL Server資料庫安全SQLServer資料庫
- 如何通過DBLINK取remote DB的DDLREM