導航:首頁 > 編程大全 > sql誇資料庫查詢

sql誇資料庫查詢

發布時間:2023-08-10 20:11:27

『壹』 sql怎樣跨資料庫查詢oracle

假定您現在擁有一個以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中。為了避免部分讀者產生混淆,特此說明。

『貳』 如何在SQL SERVER跨伺服器查詢資料庫

用OPENDATASOURCE
下面是個跨SQLServer查詢的示例
Select TableA.*,TableB.* From OPENDATASOURCE(
'SQLOLEDB',
'Data Source=ServerA;User ID=UserID;Password=Password'
).databaseAName.dbo.TableA
Left Join
OPENDATASOURCE(
'SQLOLEDB',
'Data Source=ServerB;User ID=UserID;Password=Password'
).databaseBName.dbo.TableB On TableA.key=TableB.key

下面是個查詢的示例,它通過用於 Jet 的 OLE DB 提供程序查詢 Excel 電子表格。
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions

『叄』 sql跨資料庫查詢兩個表的方法,加急啊!!

1.列出兩個表的數據
select * from [AAA]..Table1 a inner join [BBB]..Table2 b on a.id1 = b.id2

2.只BBB表裡的數據
Select * from [BBB]..Table2 b where b.id2 in(Select a.id1 from [AAA]..Table1 a)

AAA和BBB是資料庫名 資料庫名和表名回之間放兩個答點

『肆』 SQL Server 怎麼實現跨資料庫查詢呢

方式一:

語句



SELECT * FROM 資料庫A.dbo.表A a, 資料庫B.dbo.表B b

WHERE a.field=b.field



"DBO"可以省略 如

SELECT * FROM 資料庫A..表A a, 資料庫B..表B b WHERE a.field=b.field

祝好運,望採納

閱讀全文

與sql誇資料庫查詢相關的資料

熱點內容
使用地鐵app乘車怎麼出站 瀏覽:510
針對土壤侵蝕評價的需要什麼數據 瀏覽:455
word文件怎麼壓小 瀏覽:429
郵政管理投訴網站是什麼 瀏覽:960
java定義變數boolean 瀏覽:765
招標文件內容含糊不清 瀏覽:629
如何批量替換多個文件名稱 瀏覽:97
蘋果電子郵箱 瀏覽:164
蘋果win10右鍵設置在哪個文件夾 瀏覽:324
工具英語單詞 瀏覽:965
app用什麼語言寫 瀏覽:239
環球網校在哪個文件夾 瀏覽:501
Word文件怎麼改成網頁格式 瀏覽:883
西遊之路升級 瀏覽:854
atv和app分別是代表什麼 瀏覽:370
蘋果六s為什麼充不進電 瀏覽:386
qq閱讀hjava 瀏覽:896
給力傳奇版本會員 瀏覽:668
app伺服器資料庫開發 瀏覽:855
怎麼用映像文件裝系統 瀏覽:113

友情鏈接