问题标签 [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 回答
71 浏览

c# - 为什么oracle实体框架这么慢?700 毫秒 vs 30 毫秒,使用原始 SQL

这需要 20 毫秒

这需要 800 毫秒才能执行

我在代码之前和之后设置了标记,var start = DateTime.UtcNow;然后我记录了(DateTime.UtcNow - start).TotalMilliseconds.

如果我检查生成的 SQL 并直接在服务器上执行它需要 2ms。那么 EF 将剩余的 798 毫秒用于什么?取一个号码?

这是生成的SQL

0 投票
1 回答
754 浏览

.net-core - 如何在 Net Core 中将参数传递给 Oracle DbContext FromSql

给我

System.ArgumentException:'无效的参数绑定参数名称:r'

我错过了什么。找不到任何文档

0 投票
1 回答
507 浏览

c# - 无法使用 Oracle.ManagedDataAccess 和 Windows 本机身份验证连接到数据库

我无法使用 Oracle.ManagedDataAccess 和 Windows 本机身份验证连接到 Oracle 数据库。

我正在一个工作站上开发,我可以通过 PL/SQL Developer 使用 NTS 连接到同一个数据库,并使用非托管 Oracle.DataAccess 通过 C# 代码连接到同一个数据库。这使我相信数据库、工作站或帐户都没有根本性的问题。现在我正在尝试评估是否可以在我们的解决方案中切换到 Oracle.ManagedDataAccess。

到目前为止,我已经尝试了以下方法:

  • 创建了一个新的空白项目 OracleManagedAccessTest
  • 在引用下添加了 NuGet 包 Oracle.ManagedAccessTest v19.3.1(撰写本文时的最新版本)
  • 更新 App.config 中的 <dataSource> 标记以匹配 tnsnames.ora 中的条目(使 C# 项目自包含,不依赖外部组件)
  • 在 App.config 的 <oracle.manageddataaccess.client><version number="*"><settings> 下添加了 <setting name="sqlnet.authentication_services" value="NTS"/> 标签

我正在使用以下最小代码来测试连接:

连接尝试失败并出现以下错误:“ORA-01017:用户名/密码无效;登录被拒绝”

这看起来几乎是一个太简单的问题,但我似乎无法解决它,或者在网上找到一个可行的解决方案。任何帮助将不胜感激。

0 投票
0 回答
1451 浏览

c# - 适用于 .NET 的 Oracle 数据提供程序不支持 Oracle 19.0.48.0.0

我们刚刚升级到 Oracle 19c (19.3.0),所有应用程序都停止使用此错误消息:

适用于 .NET 的 Oracle 数据提供程序不支持 Oracle 19.0.48.0.0

我将 Oracle.ManagedDataAccess.EntityFramework 和 Oracle.ManagedDataAccess 更新到 19.3.0

有什么解决办法吗?

0 投票
2 回答
417 浏览

oracle - C# Core,OracleDataReader,hasRows 为 false,同时选择表中包含数据的所有行

我正在测试 Oracle 数据库。我写了一些代码,但我的数据阅读器没有行,为什么?我的“carros”表有数据,我选择了所有数据,但似乎得到了一个空的结果集。

0 投票
0 回答
404 浏览

c# - ONSException 异常 - 未配置节点

打开 Oracle 连接时,我在输出窗口中看到一些异常。

我将 Oracle 管理驱动程序更新到了最新版本,但仍然得到它。

我没有在机器上配置任何负载平衡或 ONS 服务。跟踪日志显示以下异常:

当我像这样打开连接时将引发错误:

有人有同样的问题吗?或者一个解决方案?

此致

0 投票
1 回答
100 浏览

c# - 网络隐藏共享文件夹上的 TNS_ADMIN

我在 .NET 核心中使用 Oracle 托管数据访问,但遇到了麻烦。

我将 TNS_ADMIN 环境变量指向一个网络隐藏共享文件夹,如“ITU-PCDSNV280\d$\Temp\TNS”

当我尝试打开连接时,我收到错误 ORA-12154。

如果我通过 Windows 资源管理器访问该文件夹,它可以完美运行。

其他应用程序也运行良好。

如果我在没有 $ 的共享文件夹上使用 TNS_ADMIN(如 \ITU-PCDSNV280\admin),它也能正常工作。

我认为问题在于$共享。有解决方法吗?

谢谢

安德烈

0 投票
0 回答
2405 浏览

c# - 无法加载文件或程序集“Oracle.ManagedDataAccess”

我们正在开发一个连接到 oracle 数据库的 Windows 服务。我们使用 Nuget 包中的 Oracle ManagedDataAccess。运行 Windows 服务时,我们收到以下错误。试图从 stackoverflows 获取详细信息,但没有任何方法可以解决问题。我们的配置文件如下

无法加载文件或程序集“Oracle.ManagedDataAccess,Version=4.122.19.1,Culture=neutral,PublicKeyToken=89b483f429c47342”或其依赖项之一

配置


0 投票
0 回答
1272 浏览

odp.net - Oracle.ManagedDataAccess.Client.OracleException: ORA-01017: 无效的用户名/密码;登录被拒绝

我在使用 ODP.NET 版本 19.3(可用的最新 Oracle 托管数据访问)使用安全外部密码存储 (SEPS) 连接到 Oracle 11g 时遇到问题,其中 Oracle 登录凭据存储在客户端 Oracle 钱包中。

如果我切换到经典的登录名/密码连接字符串,则数据库连接和命令没有问题。

此外,我报告所有其他使用经典 ODP 11(非托管 DataAccess)的 .net 应用程序在 SEPS 模式下连接都没有问题;事实上,我正在构建第一个使用 ODP.NET 19.3 和 SEPS 和 Oracle 钱包模式的案例。

为了我有:

  1. 为我们的应用程序创建了一个钱包(使用 mkstore utils)并将其放在服务器目录中:即

    C:\users\%APP_POOL_ID%\wallet

  2. 创建(对于所有应用程序)一个 sqlnet.ora 文件并将其放在服务器的 Oracle 主目录中:即

    %ORACLE_HOME%\网络\管理员

内容如下:

  1. 使用以下连接字符串:

    /li>

注意:用户 ID 和代理用户 ID 在连接字符串内用方括号指定。

这是我们获得的堆栈跟踪异常:

Oracle.ManagedDataAccess.Client.OracleException: ORA-01017: 无效的用户名/密码;登录被拒绝

在 OracleInternal.ConnectionPool.PoolManager`3.Get(ConnectionString csWithDiffOrNewPwd,布尔 bGetForApp,OracleConnection connRefForCriteria,字符串 affinityInstanceName,布尔 bForceMatch)

在 OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword,布尔 bGetForApp,OracleConnection connRefForCriteria,字符串 affinityInstanceName,布尔 bForceMatch)

在 OracleInternal.ConnectionPool.OracleConnectionDispenser`3.Get(ConnectionString cs,PM conPM,ConnectionString pmCS,SecureStringsecurePassword,SecureStringsecureProxyPassword,OracleConnection connRefForCriteria)

在 Oracle.ManagedDataAccess.Client.OracleConnection.Open()

这是我通过<oracle.manageddataaccess.client>配置部分启用的跟踪的一部分:

此外,在另一个跟踪文件中,可以看到WriteOAuthMessage 将 BLANK 密码传递给 DB:

通过使用用户凭据登录服务器计算机并通过 sqlplus 命令测试与数据库的连接,我排除了问题是一个真正错误的登录名/密码。

谁能帮我?

非常感谢!

0 投票
1 回答
336 浏览

c# - Oracle.ManagedDataAccess.Core 和 ORA-01017:用户名/密码无效;登录被拒绝

我正在尝试连接到 oracle 服务器 (11g)Oracle.ManagedDataAccess.Core 2.19.50但收到 ORA-01017 错误。

当前的设置:

我尝试了不同的SqlNetAuthenticationServices选项,阅读了痕迹(在那里没有发现任何有用的东西)。

联系:

同时使用常规的 SQL Navigatorwindows Oracle client v11.2.0.4.0工作正常并且可以登录(在同一台机器上)。

我不是 Oracle 专家,但看起来我错过了客户端的一些设置(在我之前安装在这里),你有什么建议在哪里寻找设置,或者我可能会错过一些东西。

PS 正如您从上面看到的 - 我已经从客户端设置中提取了一些设置,例如 LDAP 服务器名称。