OracleDataAdapter Fill 方法挂起

Posted

技术标签:

【中文标题】OracleDataAdapter Fill 方法挂起【英文标题】:OracleDataAdapter Fill method hangs 【发布时间】:2015-09-16 23:15:39 【问题描述】:

我正在用 C# 编写一个需要来自数据库的数据的 Web 服务。

这是我正在使用的代码 sn-p:

OracleDataAdapter adapter = new OracleDataAdapter(sql, connection);
OracleCommand command = adapter.SelectCommand;
AddCommandParameters(ref command, objParams);
DataTable myDataTable = new DataTable("TableName");
adapter.Fill(myDataTable);

调试器在adapter.Fill 命令处挂起(无限时间),没有抛出任何异常。 你有什么想法我做错了什么吗?如果我在 Web 服务之外使用它,SQL 查询就可以工作。

【问题讨论】:

确保参数objParams格式正确。 【参考方案1】:

如果它挂起,则表示连接字符串存在问题。能否请您发布您的连接字符串。

您能否在属性 -> 构建下检查您项目的平台目标是什么,尝试将其从“任何 CPU”更改为 x86。您的 Oracle 驱动程序可能是 32 位的。

【讨论】:

以上是关于OracleDataAdapter Fill 方法挂起的主要内容,如果未能解决你的问题,请参考以下文章

从 OracleDataAdapter.Fill() 填充 DataTable 时“指定的转换无效”

c# OracleDataAdapter.Fill 遇到不支持的 Oracle 数据类型

OracleDataAdapter.Update 无法更新数据库

C# Windows 窗体使用 OracleDataAdapter 从系统数据表向 Oracle 表插入行

使用 DataTable 中的 OracleDataAdapter 更新记录并将记录插入 Oracle 表

为啥我在调用 DbDataAdapter.Update 时使用 ODP.NET OracleDataAdapter 而不是使用 System.Data.OracleClient 的适配器得到 Orac