我在基于.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