1

我正在开发一个使用远程“Oracle”数据库的应用程序。但我在连接到该数据库时遇到了问题。我已按照以下步骤连接到名为“rudresh”的“Oracle 数据库”,该数据库位于 IP 地址为“10.10.10.10”的服务器中(错误的 IP,因为我无法共享确切的 IP)。

string oradb = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.10.10)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=rudresh)));User Id=system;Password=system_db;";
OracleConnection conn = new OracleConnection(oradb);
try
{
    conn.Open();
    string sql = "SELECT * FROM X96TUSER"; // C#
    OracleCommand cmd = new OracleCommand(sql, conn);
    cmd.CommandType = CommandType.Text;
    OracleDataReader dr = cmd.ExecuteReader(); // C#
    dr.Read();
    string test = dr.GetString(0).ToString();
}

但实际上在使用 conn.Open() 打开连接时,它会抛出异常“System.Data.OracleClient 需要 Oracle 客户端软件版本 8.1.7 或更高版本”,但我的 oracle 版本是 11g。拜托,任何人,让我知道我做错了什么,或者我需要在服务器中做任何更改吗?

4

2 回答 2

0

我认为单独的 oracle 客户端不能独立工作。您是否下载了适用于 Windows 的 ODAC?安装时尝试为不同的安装指定不同的主文件夹,例如。32bithome 或 64bithome。首先你可以尝试 32bithome(即使在 64bit 机器上,如果它不起作用,然后尝试创建 64bithome。)

于 2013-10-15T13:58:39.397 回答
0

这可能是一个安全问题。检查您在 oracle 客户端文件夹中的权限。

另一个可能的原因 (IIRC) 是使用错误的 oracle 客户端库(即在 32 位设置上使用 64 位版本)。

(当然,这是假设您安装了 Oracle 客户端)

于 2013-10-15T12:51:22.507 回答