问题标签 [oraclecommand]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
16570 浏览

c# - 使用 C# 和 ODP.NET 执行 Oracle 事务

我很困惑。从表面上看,在 C# 中执行事务似乎很简单。从这里:

http://docs.oracle.com/cd/B19306_01/win.102/b14307/OracleTransactionClass.htm

因此,创建一个连接,在该连接上开始一个事务,然后离开,直到您想要提交或回滚。

但是,其他来源,例如这里:

https://forums.oracle.com/thread/319121

提倡设置 OracleCommand 对象本身的 Transaction 属性。例如

然而其他消息来源说这个属性是只读的。它实际上并不是只读的,但似乎没有任何地方清楚地说明它的作用。

因此,我的困惑是,OracleCommand 对象上 Transaction 属性的存在似乎表明它应该用于执行该命令作为事务的一部分,但 Oracle 自己的文档并未使用此属性。那么它是干什么用的呢?

所以我的问题是:

  1. 我是否需要设置我的 OracleCommand 的 Transaction 属性,如果需要,这到底是做什么的?
  2. 如果我在连接上启动了事务,那么在该连接上执行的所有后续命令(直到提交或回滚)是否都是该事务的一部分,即使我没有在这些命令上设置 Transaction 属性?
0 投票
3 回答
892 浏览

sql - 第二个日期参数抛出 ORA-01843: not a valid month 错误

我有一个查询,我需要使用 Oracle 检查两个日期之间的日期。每当我运行代码时,我都会收到 ORA-01843: not a valid month 错误。但是,每当我从 sql 中删除两个参数中的任何一个时,它都可以正常工作,但是尝试使用两个日期参数会引发错误。我错过了什么?

0 投票
1 回答
994 浏览

oracle - 打印 COMMITTED 行数或/和执行的命令

在 Oracle 9i 中,在命令行程序中。如何计算前一个和最后一个dbms_output.put_line之间受影响的行数(更新/删除/插入)?BEGINCOMMIT

另外,如何打印执行指令的数量(DML,DDL)?

0 投票
1 回答
42 浏览

c# - OracleCommand 类和 SqlScript 问题

我正在尝试使用OracleCommand类运行以下查询。

但是我得到了这个错误:

“ORA-00920 无效的关系运算符”。

我确信这与日期值有关。但不知道如何修复它。你能帮忙吗?

谢谢

0 投票
2 回答
102 浏览

c# - C# 中的命令参数有无前导 (@) 有什么区别

C# 中 SqlCommand 的参数名称中带或不带前导字符(@或)有什么区别?:

但这没关系

即使这样也有效

我没有测试过第二个,但我可以在互联网上看到所有这些。

我已经尝试过针对 Oracle,并且无论是否使用:.

那么哪个更好,或者它们是一样的?

0 投票
2 回答
1637 浏览

c# - System.AccessViolationException - Oracle 客户端工具

我的应用程序因此异常而崩溃。上下文是:我们正在尝试执行一个接受两个参数的存储过程,我们正在对命令文本中的参数使用名称绑定。

例子:

我观察到的奇怪之处是,我们在 for 循环中运行这些语句以进行一定次数的重试,以防万一出现任何错误,OraCommand 是一个实例变量,因此参数集合不会被清除。

在第 1 次迭代中:添加参数 a1、a2
在第 2 次迭代中:前两个参数已经存在,我们再次添加名称为 a1 和 a2 的参数。...

没有看到问题,当我在每次迭代开始时清除参数集合时,但我无法提出导致问题的理论,有什么想法吗?

0 投票
2 回答
902 浏览

c# - 使用 C# 中的 OracleCommand 获取从函数返回的“PL\SQL 表”

OracleCommand刚开始在 C# 中使用从 Oracles 过程\函数返回结果,我已经能够让我的大部分 storedProcedure 执行工作,但我需要以下方面的建议。

下面是一个函数,它返回我根据记录类型创建的表

类型创建如下

来自 t_col 记录的表

现在,当我想在 C# 中执行该函数时,我尝试了以下操作,但发现 OracleDbType 没有 PL\SQL 表的枚举。

但这只会引发错误:

我尝试了其他方法,但到目前为止没有任何效果。

我希望有一种方法可以在我的 C# 代码中解决这个问题,只是因为有很多我无法编辑的现有函数。

我也看过与我类似的问题,但无法从他们那里得到很好的答案。

0 投票
2 回答
3583 浏览

c# - 指定的演员表无效。是因为我试图投射一个物体吗?

我有以下 C# 代码用于尝试查询 oracle 数据库。我只是想获得数字结果,以便可以将其输出到控制台并最终将其保存在变量中。

我不断收到以下错误:

System.InvalidCastException:指定的转换在 Oracle.DataAccess.Client.OracleDataReader.GetInt32(Int32 i) 处无效

我在 Windows 专业机器上使用 VS 2012。如果我需要添加其他信息,请告诉我。非常感谢任何帮助。

0 投票
2 回答
1580 浏览

vb.net - OracleCommand StoredProcedure 返回“null”而不是 DBNull

我有一个在某些情况下返回 null 的存储过程。当我ToString()返回 null 时,它会以字符串而不是空字符串的形式返回“null”,但是如果我不使用该.ToString()方法,则会导致错误。

上面的代码返回“null”

上面的代码会导致 InvalidCastException:从“OracleString”类型到“String”类型的转换无效。

最后,上面的代码返回一个正确的空字符串,但是它在所有情况下都会这样做,无论是否应该返回一些东西。

我过去经常使用这样的存储过程,但是它们总是在所有情况下都返回一个值。我不太确定如何处理这个空值。我不想先检查包含“null”的字符串,因为这有点hacky,我想知道将来我做错了什么。

0 投票
1 回答
1450 浏览

vb.net - 无法将 Oracle.DataAccess.Client.OracleParameterCollection 转换为 Oracle.DataAccess.Client.OracleParameter

我正在使用 sql 命令来存储命令文本和一些参数:

然后我收到此消息错误:

无法将“Oracle.DataAccess.Client.OracleParameterCollection”类型的值转换为“表 1 维度 (s) Oracle.DataAccess.Client.OracleParameter”

我应该怎么做才能解决问题?