问题标签 [dotconnect]

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 投票
2 回答
1763 浏览

oracle - TransactionScope 在 wcf 服务方法内不回滚,如果直接调用则回滚

我现在面临一个让我疯狂几天的问题,希望有人能帮助我。这里是 ;

我正在将 EF4 与 oracle 数据库一起使用,将 devart 的 dotConnect 用于 oracle 作为提供者。我有 wcf 服务方法,它在下面调用 DeleteCabinet 方法;

DBUtils.DeleteCabinetAndShelves 如下所示;

当我从我的测试项目中调用 DeleteCabinet 时,不是 wcf 调用而是直接方法调用,它工作正常。它抛出异常,事务被回滚。因此,没有按预期从数据库中删除记录

问题是,当我从客户端调用服务方法(调用 DeleteCabinet)时,抛出异常,但记录已从 db 中删除。交易不回滚!

似乎调用 wcf 方法不会回滚事务,但这似乎很疯狂(至少对我而言),有人知道这可能发生的原因吗?

提前致谢

0 投票
3 回答
779 浏览

c# - Oracle 期望日期的格式是什么?

使用以下 C# 代码(使用 devArt 的 dotConnect for Oracle 组件):

...我越来越:

Devart.Data.Oracle.OracleException 未处理消息 = ORA-06550:第 2 行,第 13 列:PLS-00306:调用“CONN_THRU_DOTNET”时参数的数量或类型错误 ORA-06550

参数是(从存储过程复制):

我认为这是导致问题的日期值。我在这里做错了什么?

0 投票
1 回答
1686 浏览

c# - 不支持 Oracle 参数

我收到了这个错误消息:

System.ArgumentException 未处理 Message=Value 类型不支持 Devart.Data.Oracle.OracleParameter。

...使用此代码:

根据评论更新:

那么可以用什么代替 OracleParameter 来传递呢?

当我把它改成这个时(我只是像一只受惊的鸡一样四处乱窜):

...我也没有收到错误消息,但我也没有收到任何数据。

更新到更新:

好的,我终于让它工作了。这些可能不优雅,但它确实检索数据:

不过,现在:我怎样才能检索所有数据,而不是像我在上面所做的那样仅从一列中检索?最好的情况是将结果集定向到 DataGridView,但如果必须,我可以连接 (stringFormat()) 我想要的各种列,并以编程方式将它们添加到备忘录或类似的...

0 投票
0 回答
149 浏览

.net - 用于 Visual Studio 的 Oracle 组件是否可用于 WPF?

Oracle Data Provider for .NET (ODP.NET) 是否可用于 WPF,还是仅适用于 WinForms 的解决方案?

我将本机 Oracle 组件与 devArt dotConnect 进行比较,后者没有其组件的 WPF 版本...

0 投票
3 回答
8830 浏览

c# - 为什么我的 DataGridview 拒绝刷新?

我正在更新表格中的一行。表的子集显示在 DataGridView 中。当我更新行时,更改不会反映在 DataGridView 中。即使我在提交更改后调用 DataGridView.Invalidate() 和 DataGridView.Refresh(),我也必须关闭应用程序、重新启动并重新运行查询,然后才能看到更改。

相关代码是:

更新:

根据霍尔的建议(我试图用评论回应,但它似乎被挂起):

好的,我现在有这个:

...并且它仍然可以正常工作 - 更新,但 DataGridView 直到我重新启动应用程序才知道它。

0 投票
1 回答
1259 浏览

c# - 为什么我在尝试使用 DotConnect 组件检索结果集时会出错?

使用下面的代码,我在调用 ExecuteReader 时得到“ORA-01036:非法变量名称/编号”:

我想要做的是用查询结果填充一个列表。我在 DevArt 的文档(或谷歌搜索)中没有看到任何示例。我让它与 Oracle 的 ODP 组件一起使用:

...但找不到与 DotConnect 组件并行工作的方法。

更新:

好的,这是整个方法(ACurrentUserRoles 是一个字符串列表):

我得到的错误消息作为注释附加到它们出现的行中。

0 投票
2 回答
1585 浏览

c# - 游标参数的声明真的与“常规”参数不同吗?

好的,似乎没有人知道如何解决我在循环游标/结果集以存储到列表中时遇到的问题,所以我将把它分解成碎片并尝试以这种方式通过它。所以,首先:

我以这种方式将 SQL 参数添加到 OracleCommand 对象(工作正常):

IOW,当我添加参数时,我传递了 SQL 的参数化部分的名称(上面的“ABCID”)和一个值(_ABCID 是一个已分配的变量,比如“42”)。

但是,当添加一个 Cursor(输出)参数时,它似乎想要的,不是一个值(例如初始化的游标对象),而只是数据类型:

(我两种方法都试过了,都不管用,所以...?)

确实/因此,我的问题是:这真的是声明要输出回用于遍历/访问的游标参数的正确方法吗?

我正在使用全新版本的 DevArt DotConnect 组件 (6.80.332)、VS 2010、.NET 4

更新:

这是更多上下文中的代码:

0 投票
3 回答
119 浏览

winforms - What is an icon file (.ico) that I can rely on every Windows user having?

I am extracting the icon from .exes, but want to have a fallback generic icon if for some reason Icon.ExtractAssociatedIcon(sPathOfExe) fails.

Is there one I can resort to like so that would be safer than what I'm currently using:

0 投票
1 回答
5211 浏览

oracle - Devart dotConnect For Oracle 和 Enterprise Library 自定义提供程序映射

我正在尝试使用 Devart 的 dotConnect for Oracle 试用来获得一个简单的概念验证,因为我们目前使用 .Net 框架 OracleClient(由于不推荐使用),但我们还需要在不需要连接的情况下进行连接Oracle 客户端甚至即时客户端。出于这个原因,我试图向我的老板证明 dotConnect 是这项工作的工具,因为它的直接模式和与 Enterprise Library 5 一起工作的能力(用于我们的数据访问层)。我遵循了 Devart 提供的示例,包括在测试应用程序的 app.config 中添加自定义提供程序映射。这一切似乎在我的开发机器上都可以在 IDe 和已编译的应用程序中运行,所以我将它包装在一个简单的设置和部署项目中,

它只是不想工作。测试执行一个简单的选择语句并在列表视图中显示结果(如果有的话 - 如果没有,您会收到一条消息)。我实际上并不关心结果本身,而只是得到它们的行为。问题是当我执行测试时,我得到了无用的 EL 错误:

这是有问题的代码行:

这是 app.config 文件中的提供程序映射:

这是 app.config 中的连接字符串:

我知道这个错误可能是由于使用了错误的连接字符串名称(除其他外)引起的,但我知道这是正确的,因为我首先从配置文件中检索它。这也与开发环境中使用的配置完全相同。内部例外是这样的:

我怀疑提供程序映射是罪魁祸首,因为如果我将连接字符串中的提供程序更改为System.Data.OracleClientthen 它完全没有问题找到连接字符串,而是抱怨不支持的关键字Direct(来自 dotConnect Direct 模式开关),这是有道理的。

我看不出我在提供者映射方面做错了什么。我以前没有使用过它,但我使用了 EL 配置工具来确保它的正确性,自定义库包含在可执行文件(和其他 EL 库)中。我看过几个例子,所有这些都表明我有正确的配置,那么我错过了什么?这让我发疯了。

0 投票
2 回答
2491 浏览

c# - Oracle 期望日期值采用什么格式,我怎样才能为 Oracle 提供它想要的?

“AVAILABLEDATE”是 DATE 类型的列。

我可以通过 Toad 查询表格并获得结果。但是,在 (Winforms/C#/dotConnect) 代码中,它不起作用。

我很确定问题是我传递日期的方式:

...但我不知道如何强制日期值采用 Oracle 将识别的格式。