使用 c# 从 .NET 应用程序连接到远程 Oracle 数据库
本文关键字:Oracle 数据库 连接 NET 应用程序 使用 | 更新日期: 2023-09-27 18:35:31
我正在开发一个使用远程'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。 请任何人,让我知道我做错了什么,或者我需要在服务器中进行任何更改?
我认为单独的oracle客户端不能独立工作。您是否下载了适用于 Windows 的 ODAC? 安装时,请尝试为不同的安装指定不同的主文件夹,例如。32位回家或64位回家。 首先,您可以尝试32bithome(即使在64位机器上,如果它不起作用,则尝试创建64bithome。
这可能是一个安全问题。 检查您在预言机客户端文件夹中的权限。
另一个可能的原因(IIRC)是具有错误的oracle客户端库(即在32位设置上具有64位版本)。
(当然,这是假设您安装了Oracle客户端)