我在基於.net 2.0的Windows應用程序中遇到Oracle Query問題。我正在使用System.Data.OracleClient
連接到oracle數據庫。數據庫名稱是myDB
。在連接字符串下面我使用:在不同模式中引用相同的表名稱
Data Source=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)
(HOST = 172.16.0.24)(PORT = 1522)))(CONNECT_DATA =(SERVICE_NAME = ORCL)));
User ID=myDB;Password=myDB;Unicode=True
如果我運行下面的查詢,然後將它給了我錯誤的結果(在此錯誤的結果意味着不正確的數據的數據不屬於MYDB):
SELECT ID, NAME
FROM MyTempTable
WHERE ID IN (10780, 10760, 11890)
但是,如果我追加數據庫名稱與它一起的是給予正確的結果:
SELECT ID, NAME
FROM "myDB".MyTempTable
WHERE ID IN (10780, 10760, 11890)
我的限制是,因爲這是一個通用的應用程序,我不能追加數據庫名稱,可以運行與任何數據庫運行時間。請幫忙。
DBA不贊成公有同義詞,因爲它意味着數據庫不能用於其他事情。 – 2011-06-04 21:51:58