sql查询oracle数据,sql-server – 从SQL Server查询Oracle数据库
我有一個Oracle 11g XE數據庫,我想將其轉移到SQL Server Express 2005中.
起初我以為我只是在Oracle中生成表作為SQL,操縱數據格式,并在SQL Server中運行查詢.這適用于小型表,但我有幾個表有幾十萬行,有些表有數百萬行,所以這個解決方案不起作用.
然后我創建了一個包含以下內容的TNS文件:
OracleTnsName =
(
DESCRIPTION=
(
ADDRESS = (PROTOCOL=TCP)(HOST=localhost)(PORT=1521)
)
(
CONNECT_DATA = (SERVICE_NAME=XE)
)
)
我按照我在別處找到的關于如何生成ODBC連接的指令,并且’測試連接’成功了.
然后我運行這些命令在MS SQL中創建鏈接服務器:
EXEC sp_addlinkedserver
@server = 'OracleLinkServer'
,@srvproduct = 'OracleTnsName'
,@provider = 'MSDASQL'
,@datasrc = 'OracleTnsName'
EXEC sp_addlinkedsrvlogin
@rmtsrvname = 'OracleLinkServer'
,@useself = 'False'
,@locallogin = NULL
,@rmtuser = 'user'
,@rmtpassword = 'password'
現在我正在嘗試使用openquery從SQL Server查詢Oracle數據庫中的表:
select * from openquery(OracleLinkServer, 'select * from oracleTable')
但得到一個錯誤:
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider “MSDASQL” for
linked server “OracleLinkServer” reported an error. The provider did
not give any information about the error.
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider
“MSDASQL” for linked server “OracleLinkServer”.
當我檢查鏈接服務器的屬性,只需單擊確定,我收到此錯誤:
標題:Microsoft SQL Server Management Studio Express
“鏈接服務器已更新但連接測試失敗.是否要編輯鏈接服務器屬性?”
附加信息:
執行Transact-SQL語句或批處理時發生異常. (Microsoft.SqlServer.Express.ConnectionInfo)
鏈接服務器“OracleLinkServer”的OLE DB提供程序“MSDASQL”報告錯誤.提供商未提供有關錯誤的任何信息.
無法為鏈接服務器“OracleLinkServer”初始化OLE DB提供程序“MSDASQL”的數據源對象. (Microsoft SQL Server,錯誤:7399)
紐扣:
&安培;是
&安培;無
請幫忙!
謝謝
總結
以上是生活随笔為你收集整理的sql查询oracle数据,sql-server – 从SQL Server查询Oracle数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 窗体 源码_Java制作MDI
- 下一篇: linux cmake编译源码,linu