我在一个基于.net 2.0的Windows应用程序中遇到了一个Oracle查询问题。我正在使用 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
如果我运行以下查询,则会得到错误的结果(这里的错误结果意味着不正确的数据。该数据不属于我的数据库):
SELECT ID, NAME
FROM MyTempTable
WHERE ID IN (10780, 10760, 11890)
但如果我附加数据库名称,它就会给出正确的结果:
SELECT ID, NAME
FROM "myDB".MyTempTable
WHERE ID IN (10780, 10760, 11890)
我的限制是无法追加数据库名称,因为这是一个通用应用程序,可以在运行时与任何数据库一起使用。请帮忙。