问题标签 [oracle-manageddataaccess]

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 回答
5256 浏览

c# - “ORA-00933:SQL 命令未正确结束”使用 Oracle.ManagedDataAccess

我得到了我只能描述为来自 nuget 的 oracle.ManagedDataAccess 包的东西,似乎在我的查询末尾添加了字符。

我的最终目标是以来自 C# 的命令参数的形式为以下 SQL 提供绑定变量。

我的查询:(如果使用 SQL Developer 执行,则可以正常工作,返回 3 个字符串和一个日期时间)

运行它的 C#:

但是在“using (var reader = sourceQuery.ExecuteReader())”这一行(如下所示的第 xxx 行),它崩溃并出现以下情况:

如果这是作为 CommandType.StoredProcedure 提交的,我在服务器上执行时会收到预期的与存储过程相关的错误,但会收到错误 "ORA-06550 PLS-00103: Encountered the symbol "," 当期待以下情况之一时:" 。 ..让我觉得 Oracle.ManagedDataAccess 模块正在向命令添加一些东西。

0 投票
1 回答
4857 浏览

c# - .NET 4.6 Oracle.ManagedDataAccess 要求

使 .NET 4.6 应用程序与 Oracle 一起工作的最低要求到底是什么?

我们已经在使用 Oracle.ManagedDataAccess 客户端。我们使用实体框架和数据集(TableAdapters,...)进行数据访问。

目前,我们总是为我们的应用程序安装“完整的”Oracle Administrator 客户端,大约有 1.2 GB,但是让我们的应用程序与 Oracle 一起工作真正需要什么?

Oracle.ManagedDataAccess 驱动程序的 Nuget 页面显示“无需安装其他 Oracle 客户端软件即可连接到 Oracle 数据库”。 https://www.nuget.org/packages/Oracle.ManagedDataAccess/

但是当我在 Visual Studio 中打开我的应用程序时,出现以下错误:

我试图在 Oracle 文档中弄清楚它,但没有机会这样做,这太令人困惑了。

此外:64 位托管 Oracle 客户端也可以与 32 位应用程序一起使用,反之亦然?

0 投票
1 回答
116 浏览

c# - 更改架构,执行查询并将输出写入文件

我想用 sys 用户连接到数据库。将架构更改为其他用户。执行查询并将结果写入文件。

我正在使用 oralce 托管数据访问。https://www.nuget.org/packages/Oracle.ManagedDataAccess/

我已经尝试了三种不同的方法。

1.) spool-> 不起作用,因为我没有执行 sqlplus 而是连接 managedDataAccess

2.)开始执行立即'changeschema'执行立即'查询'结束->由于开始/结束,阅读器没有输出

3.) 尝试改变连接 conn.ChangeDatabase(user); 不适用于 managedDataAccess

这是我的连接字符串:

我可以更改连接字符串中的架构吗

0 投票
1 回答
12035 浏览

c# - 如何解决此“PLS-00306:调用中的参数数量或类型错误...”

一天多来,我一直在为调用 Oracle 数据库而苦苦挣扎。除了以编程方式之外,我无法访问数据库,尽管 DBA 能够为我提供以下信息:

我的代码如下所示:

运行此程序时出现的错误是:

据我所知,我确实有正确数量和类型的论据,但如果有人在 Oracle 的方式上比我更聪明(基本上是任何人)可以指出我在哪里搞砸了,那就太棒了。

如果该部分看起来正确并且错误是某种红鲱鱼,我还能看什么?还有其他方法可以调用此过程吗?请记住,除了 Visual Studio 2017 之外,我没有其他工具。我无法下载任何有用的扩展。除了给 DBA 的电子邮件之外,我没有直接访问数据库的权限。

我也承认我在这里可能走错了路。根据我在这里和'net. 任何解决此问题的建议都会有所帮助。

0 投票
1 回答
1651 浏览

c# - 使用 Bequeath 协议通过 ManagedDataAccess 在 C# Windows 应用程序中连接到 Oracle 数据库

我正在尝试使用使用 Bequeath 协议连接到本地 Oracle 12.2 数据库(使用 Oracle.ManagedDataAccess.Client)的 Visual Studio C# Windows 应用程序,这样我就不必通过 Oracle 侦听器,因为这只是为了本地数据库连接。

我知道 sqlplus 在未指定连接字符串或 TNS 条目时本机使用 Bequeath 协议:

SID 和 service_names 都是“mydb”:

通过 SQL Developer 连接时,我也可以使用 Bequeath 协议(使用 Local/Bequeath 的连接类型)。

但是,我一直找不到在有效的连接字符串中使用 Bequeath 的示例(至少对我而言)。

Oracle 网络服务的 12.1 文档并没有真正的帮助。它在没有任何示例的情况下概述了遗赠。


tnsnames.ora:

以下工作使用 TCP(通过侦听器):

或使用 TNSNAMES 条目:

我可以使用上面的 BEQ 条目使用 SQLPLUS 通过 TNSNAMES 进行连接:

但是,我似乎无法通过 Oracle.ManagedDataAccess 让它工作:

还尝试使用上面工作的 TNSNAMES 条目:

我可能在这里遗漏了一些基本的东西,但我不确定还有什么可以尝试的......

0 投票
1 回答
1093 浏览

c# - 如何解决 System.TypeLoadException 而不会弄乱 GAC?

我的问题与此非常相似:Oracle .Net ManagedDataAccess Error: Could not load type 'OracleInternal.Common.ConfigBaseClass' from assembly

但是,我不同意共识的原因有两个。

1)我不确定它会起作用。我对 GAC 了解不多,但我查看了程序集文件夹,没有版本为 4.121.2.0 的 Oracle.ManagedDataAccess 的副本。所有 Oracle.ManagedDataAccess 程序集都以 2 开头。

2)我只在生产服务器上收到此错误,而且我(作为一个低级开发人员)不想在生产服务器上采取任何可能影响其容纳的众多应用程序的操作。

这是我的堆栈跟踪:

0 投票
2 回答
4176 浏览

c# - C# 实体框架中的 Oracle 数据类型“指定的转换无效”

我正在尝试使用 C# Entity Framework 中的 Oracle.ManagedDataAccess 从 oracle 数据库中获取数据。但是,当oracle中的数据类型是数字,并且值为6.17880949622285E-11时,我得到了错误。这是错误消息

我已经调查过了,我发现问题出在数据类型上。顺便说一句,我首先使用代码,这是我的 EF 类

我试图增加精度,但没有奏效。谁能帮我?

0 投票
3 回答
2595 浏览

asp.net - 我收到 ORA-12154“TNS:无法解析指定的连接标识符”。Oracle.ManagedDataAccess.Client 的问题

我收到 ORA-12154“TNS:无法解析指定的连接标识符”。我正在用 Oracle.ManagedDataAccess.Client 替换 Oracle.DataAccess.Client。我正在使用 windows10 64 位。它适用于 DataAccess.Client 和另一台机器。操作系统有问题吗?您的帮助将不胜感激。

0 投票
1 回答
260 浏览

vb.net - 如何将 OracleAdapter 数据集转换为 SQL BulkCopy

我已经成功地使用 将Oracle.ManagedDataAccess.Client数据从 Oracle 服务器提取到 aDataset中,并用于SqlBulkCopy将其插入Dataset到 SQL 数据库中,其中表具有匹配的列名(见下文)。

我将如何操作InsertDataset以便我可以指定 中的列Dataset将进入 SQL 表的位置,从而允许我使用不同的表?

例如SourceTable(column1)插入到DestinationTable(column4)

我在想这可能可以通过如下 SQL 插入语句来实现:

INSERT INTO DestinationTable ([column4]) Values ([column1])

但我不知道如何操作Dataset到我的 SQL 语句中。到目前为止我的代码:

0 投票
1 回答
775 浏览

c# - Oracle Data Provider 的奇怪行为 (Bug) (InvalidCastException: Specified Cast is not Valid)

Oracle ManagedDataAccess 似乎有问题,如果您尝试执行以下示例,您可能会遇到错误(这是意外的;更改为其他字段但相同的数据类型可能不会导致问题);尽管实体框架已经毫无问题地实现了查询:

前面的代码将导致以下异常:

在网上搜索,似乎其他人有这个例外 https://chrismay.org/2015/07/30/bug-in-oracledatareader-causing-invalidcastexception/