sqlserver採用link server方式遠端連線ORACLE
ITPUB居然不讓上傳圖片了,上傳的圖片都是空白看不見,無奈只能用文字描述
方法一:
1、SQLSERVER資料庫所在伺服器需安裝ORACLE客戶端(完整安裝也可以)
2、配置ORACLE客戶端TNS,例子如下:
修改tnsnames.ora檔案,配置如下:
testdb_qa =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.4)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = testdb)
)
)
3、採用windows身份驗證方式登入SQLSERVER
4、配置SQLSERVER的LINK SERVER
常規:
連結伺服器:testdb_qa(任意命名)
訪問介面:ORACLE provider for ole db
產品名稱:ORACLE
資料來源:testdb_qa(與tns的別名一致)
訪問介面字串:user id=test;password=test(oracle中的使用者密碼,能夠遠端登入的)
安全性:
選擇使用此安全上下文建立連線:
test
test
(oracle中的使用者密碼,能夠遠端登入的)
點選確定即可完成配置
5、執行SQL時一定要記住選擇可用的資料庫進行,如ZWL,TESTDB反正不要那個系統資料庫就是了
SELECT * FROM OPENQUERY(testdb_qa,'SELECT sysdate FROM dual');
能查出資料即配置成功
6、如果訪問時報錯,使用以下方法
比如報錯內容:
-
按下WIN+R,開啟“執行”視窗,輸入“regedit”,回車。
-
在開啟的登錄檔編輯器的左側按如下路徑依次展開:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\Providers
在Providers下面一般來說是看不到OraOLEDB.Oracle這一項的,於是新建這一項。
在Providers上面右鍵選擇New -> Key,把新增加的項改名為“OraOLEDB.Oracle”
-
為“OraOLEDB.Oracle”這個鍵新增一個DWORD Value,把名字改為“AllowInProcess”
-
把“AllowInProcess”的值改為“00000001”
修改即刻生效,現在就可以再去訪問連結伺服器上的Oracle資料庫了。
方法二:
直接執行以下程式碼即可:
(1)自定義命名,比如統一命名為TEST
(2)user id,可以連線ORACLE資料庫的使用者名稱,password就是該使用者名稱
(3)datasrc要填寫SQLSERVER機器上TNSNAMES.ORA的別名,可參考方法一中的第二大點配置ORACLE客戶端TNS
EXEC master.dbo.sp_addlinkedserver @server = N'自定義命名TEST', @srvproduct=N'Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'TNSNAMES.ORA填寫的別名', @provstr=N'user id=scott;password=tiger'
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'自定義命名TEST',@useself=N'False',@locallogin=NULL,@rmtuser=N'scott',@rmtpassword='tiger'
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'collation compatible', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'data access', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'dist', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'pub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'rpc', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'rpc out', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'sub', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'connect timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'collation name', @optvalue=null
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'lazy schema validation', @optvalue=N'false'
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'query timeout', @optvalue=N'0'
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'use remote collation', @optvalue=N'true'
GO
EXEC master.dbo.sp_serveroption @server=N'自定義命名TEST', @optname=N'remote proc transaction promotion', @optvalue=N'true'
GO
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28371090/viewspace-2103769/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 遠端連線SQL ServerSQLServer
- rd遠端桌面連線方式
- rdp遠端桌面連線方式
- 用sqlplus遠端連線oracle命令SQLOracle
- 允許本地Sql Server 遠端連線SQLServer
- oracle客戶端連線server 端, tnsnames的三種設定方式Oracle客戶端Server
- git連線遠端倉庫的方式Git
- sqlserver連線oracleSQLServerOracle
- SQLSERVER 連線 ORACLESQLServerOracle
- 遠端桌面連線管理器,遠端桌面連線管理器遠端連線vps撥號伺服器的方式伺服器
- 配置SQL server遠端連線(區域網)SQLServer
- C# 採用OLDB方式連線EXCELC#Excel
- 如何遠端連線 遠端桌面軟體連線
- mysql遠端連線 Host * is not allowed to connect to this MySQL serverMySqlServer
- 遠端連線伺服器的方式推薦伺服器
- ORACLE 配置連線遠端資料庫Oracle資料庫
- vps如何遠端連線,遠端桌面連線vps
- VNC遠端連線,如何VNC遠端連線伺服器VNC伺服器
- Rdo遠端桌面,rdo遠端桌面遠端連線vps撥號伺服器的方式伺服器
- 遠端連線桌面 批次遠端管理
- 遠端桌面連線
- 遠端連線MYSQLMySql
- 配置SQL Server 2005允許遠端連線SQLServer
- 內網遠端桌面工具,內網遠端桌面連線方式,連線工具有什麼好的推薦內網
- WEKA連線MySQL,Oracle,SQLServerMySqlOracleServer
- iptables導致無法遠端連線oracleOracle
- 遠端桌面連線命令 批次遠端管理
- 批次遠端桌面連線 批次遠端桌面
- 如何遠端連線 桌面設定遠端桌面連線
- ORACLE 連線方式Oracle
- Oracle連線方式Oracle
- 遠端連線Kali Linux使用PuTTY實現SSH遠端連線Linux
- SQL Server 2005 允許遠端連線解配置SQLServer
- windows server機器出現超過最大遠端連線WindowsServer
- SSH 隧道遠端連線
- MYSQL遠端連線配置MySql
- 配置 MySQL 遠端連線MySql
- MYSQL配置遠端連線MySql