假定您現在擁有一個以Microsoft.NET為架構的網路訂購系統,但是品管維護系統卻仍然使用一套舊式的Oracle資料庫應用程序。當您的顧客在產品保固期間下了產品更換之類的訂單,則該筆訂單將不收取任何費用。此時您需要從Oracle資料庫得到實時的查詢結果。借著建立連結伺服器的方式(linkedServer),您將可以從SQLServer實時查詢出位於Oracle資料庫的顧客資料,找出誰是您既有的客戶。
當您的資料分散在不同的SQLServer資料庫時,藉由連結伺服器可讓您執行跨伺服器之分布式查詢。當所有的資料庫伺服器都是SQLServer,則連結伺服器的設定十分容易,而且在SQLServer線上手冊中就涵蓋了您所需要了解的所有事項。然而,當部分資料是放在Oracle資料庫伺服器的時候,這就可能帶給您許多挑戰。舉例來說,光是設定連結伺服器就不是一件容易的事。您必須了解到:即是您要在SQLServer的EnterpriseManager設定一個Oracle連結伺服器,這台SQLServer對Oracle來說就是一個客戶端。所以您必須在SQLServer所在的伺服器成功地安裝並組態Oracle之客戶端軟體。因為Oracle提供的產品只支持Oracle8以後的資料庫,所以我假設您正在使用的都是Oracle8以後的資料庫。在OracleNet8函式庫則提供了SQLServer所需要的客戶端軟體。
設定連接伺服器時是利用Microsoft所提供的OLEDB ProviderforOracle,使用的Oracle網路函式庫為SQL*Net2.3.3.0.4或是以後的版本,不過這是Oracle7.3資料庫所提供的。換句話說,要設定Oracle資料庫為SQLServer的連接伺服器時,Oracle資料庫只要是7.3.3.4以後的版本,並搭配適當的SQL*Net或是Net8函式庫即可。
在Oracle資料庫中,一個schema即代表著SQLServer專家們所熟知的單一資料庫(譯者注2)。連接至Oracle資料庫時,您必須提供schema名稱、密碼以及主機聯機字元串(hoststring)。每一個特定的Oracle帳戶都擁有一個Oracleschema,而且只能有一個schema。所以schema名稱其實就等於該schema擁有者的帳戶名稱。您可以查詢Oracle的資料字典(Datadictionary)以得到更多有關schema的內容。
至於Oracle聯機字元串又可稱為服務名稱(servicename)或是系統識別資料(SystenIdentifier,SID)。我們所謂的SQLServer資料庫個體(instance)在Oracle則稱為資料庫(database)。所以安裝OracleServer時,安裝程序OracleUniversalInstaller(為一個圖形介面之安裝程序,與SQLServer的Setup程序類似)將會詢問您SID名稱為何,以作為Oracle資料庫之名稱。
這個部分原作者所提到schema的解釋有點問題。Oracleschema可視為同一個使用者所擁有的所有資料庫對象(schemaobjects)之集合。舉例來說,使用者scott所建立的EMPtable其完整名稱為SCOTT.EMP,而SCOTT就是EMP的schema名稱。所以schemaname其實就是一個Oracle資料庫之使用者帳號。但是絕對不能拿來跟資料庫相提並論!因為SQLServer的資料庫架構包含了datafiles與logfiles,但是Oracle的schemaobjects只存在於tablespace中。為了避免部分讀者產生混淆,特此說明。
⑵ 如何用PLSQL登錄Oracle資料庫
1,打開PLSQL Developer客戶端,進入登錄界面
2,輸入用戶名、密碼和資料庫,進行資料庫伺服器
3,很多時候,不知道資料庫的地址,填寫錯誤後,登錄會提示錯誤
4,一般的資料庫伺服器填寫格式為伺服器的IP地址,再加上「/」,再加上資料庫名
5,如果要連接本地的Oracle數據的話,可以直接填寫本地的資料庫名。比如上圖中的aaa就是本地資料庫名。
6,連接成功後,在首頁左中間的部分,就會看到資料庫中的Tables選項,點擊後,會出現資料庫中已經存在的表
⑶ 如何用PLSQL登錄Oracle資料庫
第一步:在用戶名和密碼列分別輸入要登錄的資料庫用戶名和密碼
第二步:在「資料庫」中輸入「ip:1521/oracle實例名」(如「192.168.0.143:1521/orcl」,本機填寫「127.0.0.1」)
第三步:如果是普通用戶連接類型為「Normal」,如果是超級管理員連接類型為「sysdba」,點擊確定即可完成連接(connections)
⑷ 如何通過PLSQL連接oracle資料庫
: 1、安裝Oracle客戶端。 2、在tnsnames.ora文件中設置連接資料庫的相關信息。 3、安裝第三方工具plsql developer。
⑸ 1.sql server 通過db link 怎麼訪問oracle
一、創建sqlserver鏈接服務(sqlserver鏈接oracle)
首先sqlserver 鏈接oracle可以通過兩個訪問介面:
「MSDAORA」 和「OraOLEDB.Oracle」
1、「MSDAORA」訪問介面是由Microsoft OLE DB Provider for Oracle提供的,這里建議不使用此介面進行鏈接。通過該訪問介面建立的鏈接伺服器在進行查詢oracle表(帶數據類型CLOB、BLOB欄位)時會報這個錯誤
技術分享
「
鏈接伺服器""的 OLE DB 訪問介面 "MSDAORA" 返回了消息 "發生了一個 Oracle 錯誤,但無法從 Oracle 中檢索錯誤信息。"。
鏈接伺服器""的 OLE DB 訪問介面 "MSDAORA" 返回了消息 "數據類型不被支持。"。
消息 7321,級別 16,狀態 2,第 1 行
准備對鏈接伺服器 "" 的 OLE DB 訪問介面 "MSDAORA" 執行查詢"select * from SYS_MESSAGE"時出錯。」
鏈接伺服器 "LINK2ORACLE" 的 OLE DB 訪問介面 "MSDAORA" 為列提供的元數據不一致。對象 ""CMCC"."OS2_GIS_CELL"" 的列 "ISOPENED" (編譯時序號為 20)在編譯時有 130 的 "DBTYPE",但在運行時有錯。
2、「OraOLEDB.Oracle」 訪問介面是由oracle 的Oracle Probider for OLE DB 驅動提供的。它解決了兩個資料庫類型不一致的的問題。而且如果需要使用分布式事務,必須使用它來創建鏈接伺服器。後文會有詳細介紹。
在創建之前,在SQLSERVER中,鏈接伺服器->訪問介面->OraOLEDB.Oracle->右鍵屬性,選中 "Allow inprocess" (中文為:允許進程內)
這一步是使我們選擇的OraOLEDB.Oracle介面打開執行操作。如未設置會報如下錯誤:
「無法初始化鏈接伺服器 "null" 的 OLE DB 訪問介面 "OraOLEDB.Oracle" 的數據源對象"
⑹ 如何打開oracle資料庫使用sql語句
可使用第三方工具,如,plsql,可自行下載。
然後,在oracle安裝目錄下配置tnsname.ora文件
oracle10g為例,
路徑為:~oracleproct10.2.0db_1 etworkADMIN
加入以下內容:
本地實例名=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=主機IP或主機名)(PORT=埠號))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=服務名)
)
)
然後,打開plsql,在資料庫選中要連接的資料庫,並填寫用戶名及密碼
⑺ pl/sql怎麼連接oracle資料庫
方法/步驟
1、首先打開電腦,到pl/sql安裝的指定目錄【D:\app\DZL\proct\11.2.0\dbhome_1\NETWORK\ADMIN】找到【tnsnames.ora】
2、打開【tnsnames.ora】文件,增加你需要遠程連接的字元串。
3、特別對部分重要欄位說明:
myDB為連接資料庫別名HOST = 192.168.7.23為你連接的資料庫ipPORT = 1521 為你數據的埠SERVICE_NAME = testdb 為你資料庫實例名
4、設置好後,打開【PL/SQL Developer】輸入用戶名密碼,選擇剛剛你添加的資料庫,點擊確定就可以成功連接遠程資料庫了。
5、已成功連接遠程資料庫。
6、這
個是C#在填寫連接資料庫的字元串【<add name="statistics"
connectionString="Provider=OraOLEDB.Oracle.1;Data
Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
(HOST=172.22.210.55)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORCL)));Persist Security Info=True;User ID=dzl;
Unicode=True;Password=123456" />】